{"repo": "0xku/kon", "files": {"src/kon/defaults/config.toml": {"2a67755de2c7f896ca7879aac8bc721ac0d2a17b": {"t": 1785745318.3797648, "n": 4043, "h": "2d1a78bfecf2d60c", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"xai\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.6-sol\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n# Seconds to wait after each completed LLM turn before starting the next one.\n# Useful for staying under provider rate limits. 0 disables the cooldown.\nturn_cooldown_seconds = 0\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n# Hide models from the /model picker. Use a provider name (\"github-copilot\")\n# to hide all its models, or \"provider:model\" to hide a specific model.\n# Hidden models remain usable via config defaults or session resume.\nhidden_models = []\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n#\n# Example: xAI Grok provider\n# Sign in with SuperGrok or X Premium via /login, then set in [llm]:\n# default_provider = \"xai\"\n# default_model = \"grok-4.5\"\n"}, "773aacd9bdc15f5ba0bbecea48adf8b1e5b29539": {"t": 1785750079.2490408, "n": 4043, "h": "2d1a78bfecf2d60c", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"xai\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.6-sol\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n# Seconds to wait after each completed LLM turn before starting the next one.\n# Useful for staying under provider rate limits. 0 disables the cooldown.\nturn_cooldown_seconds = 0\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n# Hide models from the /model picker. Use a provider name (\"github-copilot\")\n# to hide all its models, or \"provider:model\" to hide a specific model.\n# Hidden models remain usable via config defaults or session resume.\nhidden_models = []\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n#\n# Example: xAI Grok provider\n# Sign in with SuperGrok or X Premium via /login, then set in [llm]:\n# default_provider = \"xai\"\n# default_model = \"grok-4.5\"\n"}, "6768b693ee63670e7f63912af9eaa45919acd624": {"t": 1785750080.323707, "n": 3865, "h": "88455c983485d312", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"xai\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.6-sol\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n# Hide models from the /model picker. Use a provider name (\"github-copilot\")\n# to hide all its models, or \"provider:model\" to hide a specific model.\n# Hidden models remain usable via config defaults or session resume.\nhidden_models = []\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n#\n# Example: xAI Grok provider\n# Sign in with SuperGrok or X Premium via /login, then set in [llm]:\n# default_provider = \"xai\"\n# default_model = \"grok-4.5\"\n"}, "2a2d603f787a2f177339bd379a26940fe7808651": {"t": 1785750081.486084, "n": 3859, "h": "fcbf9601cdfa5d11", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"xai\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.6-sol\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n# Hide models from the /model picker. Use a provider name (\"github-copilot\")\n# to hide all its models, or \"provider:model\" to hide a specific model.\n# Hidden models remain usable via config defaults or session resume.\nhidden_models = []\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n#\n# Example: xAI Grok provider\n# export XAI_API_KEY=\"xai-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"xai\"\n# default_model = \"grok-4.5\"\n"}, "5ec4b551566ffa370407b24c838849e96ef2f4ba": {"t": 1785750082.6225471, "n": 3698, "h": "a9aa0c83aa3807f6", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.5\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n# Hide models from the /model picker. Use a provider name (\"github-copilot\")\n# to hide all its models, or \"provider:model\" to hide a specific model.\n# Hidden models remain usable via config defaults or session resume.\nhidden_models = []\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "4a25a87b34a3fec72072994757ca6b01ab479315": {"t": 1785750083.6931055, "n": 3461, "h": "5bab7d865a838928", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.5\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"low\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "f99dec560b2fb5394f8cdce4712f25fc40bb688b": {"t": 1785750086.1510692, "n": 3462, "h": "ec606b338eb04184", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.tls]\n# Skip TLS verification for LLM HTTP requests. Enables self-signed certs\n# on local providers.\ninsecure_skip_verify = false\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "4d71bfca851728792a273f7c22ba8fedfa6771f1": {"t": 1785750087.731933, "n": 3327, "h": "4d289db83f98b348", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.config/kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill, use ~/.agents/skills for user skills and .agents/skills for project skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "089a21a96e3dd921276b87737467d3f1aa0a88dc": {"t": 1785750088.8133569, "n": 3312, "h": "d74b56bb1510d2fd", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill then look at https://github.com/0xku/kon/blob/main/README.md#skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n# Show the list of keyboard shortcuts in the welcome section on launch.\n# Set to false to hide the shortcuts panel.\nshow_welcome_shortcuts = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "97179d34ce5cd1917342a4f8118869c414b2eaf2": {"t": 1785750090.5528054, "n": 3166, "h": "0c4752355c78d7e6", "c": "[meta]\nconfig_version = 6\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.kon/sessions; If the user references recent sessions or a particular session, look there\n- If the user mentions adding a new skill then look at https://github.com/0xku/kon/blob/main/README.md#skills\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "14bcdf45ae29d161d61f009c8de474debd3ef5b2": {"t": 1785750091.6182597, "n": 3056, "h": "ad80f6d2803d3c8a", "c": "[meta]\nconfig_version = 5\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.kon/sessions; if the user references recent sessions or a particular session, look there\"\"\"\n\n[compaction]\n# What kon should do after compacting history on context overflow.\n# \"continue\" keeps going with a synthetic continue prompt; \"pause\" stops after compaction.\non_overflow = \"continue\" # \"continue\" or \"pause\"\n# Safety margin reserved before the model context window is treated as full.\n# Larger values make kon compact earlier.\nbuffer_tokens = 20000\n\n[agent]\n# Maximum assistant/tool loop turns kon may use for a single user request.\n# Prevents runaway loops when the agent keeps calling tools or continuing.\nmax_turns = 500\ndefault_context_window = 200000\n\n[tools]\n# Additional opt-in built-in tools to expose beyond the default tool set.\nextra = [\"web_search\", \"web_fetch\"]\n\n[ui]\ntheme = \"gruvbox-dark\"\n# When true, finalized thinking blocks are collapsed to a single line summary.\n# Set to false to always show the full thinking content.\ncollapse_thinking = true\n\n[permissions]\n# Approval behavior for mutating tools.\n# \"prompt\" asks before edits/writes and other mutating actions.\n# \"auto\" allows tool calls without approval prompts.\nmode = \"prompt\" # \"prompt\" or \"auto\"\n\n[notifications]\n# Play audio when kon finishes a task, hits an error, or waits for tool approval.\n# Disabled by default.\nenabled = false\n# Audio playback volume from 0.0 (muted) to 1.0 (full volume).\nvolume = 0.5\n\n# Example: DeepSeek provider\n# export DEEPSEEK_API_KEY=\"sk-your-api-key\"\n#\n# Then set in [llm]:\n# default_provider = \"deepseek\"\n# default_model = \"deepseek-v4-flash\"\n"}, "440ee0163722a1aa455f6f612300368abb588b96": {"t": 1785750092.6957974, "n": 3526, "h": "528b8f6072b5b9f7", "c": "[meta]\nconfig_version = 5\n\n[llm]\ndefault_provider = \"openai-codex\" # \"zhipu\", \"github-copilot\", \"openai-codex\"\ndefault_model = \"gpt-5.4\"\n# Optional API base URL override for the selected provider or local/self-hosted endpoint.\n# Leave empty to use the provider's default URL.\ndefault_base_url = \"\"\ndefault_thinking_level = \"high\"\n# Abort a tool call if it stays idle for this long during a turn.\n# Helps prevent stalled tool executions from hanging the agent loop.\ntool_call_idle_timeout_seconds = 180\n# HTTP request timeout for LLM API calls (in seconds).\n# Local models (e.g. llama.cpp) may need a higher value for long compaction requests.\nrequest_timeout_seconds = 600\n\n[llm.auth]\n# Auth policy for OpenAI-compatible and Anthropic-compatible endpoints.\n# \"auto\" injects a placeholder key for local/self-hosted endpoints when no key is set.\n# \"required\" keeps strict API key requirements.\n# \"none\" always injects a placeholder key for that protocol family.\nopenai_compat = \"auto\" # \"auto\", \"required\", or \"none\"\nanthropic_compat = \"auto\" # \"auto\", \"required\", or \"none\"\n\n[llm.system_prompt]\ngit_context = true\ncontent = \"\"\"You are an expert coding assistant called Kon. You help users by reading, searching, executing commands, editing code, and writing new files.\n\n# General\n\n- Be concise in your responses\n- Show file paths clearly when working with files\n- When summarizing your actions, output plain text directly DO NOT use cat or bash to display\n- Kon session logs are JSONL files in ~/.kon/sessions; if the user references recent sessions or a particular session, look there\n\n# Tool usage\n\n- Prefer specialized tools over bash for file operations:\n - Use read to view files (NOT cat/head/tail)\n - Use edit for precise changes (NOT sed/awk)\n - Use write only for new files or complete rewrites (NOT echo >/cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat </cat <