{"repo": "418-teapot/zookeeper", "files": {"config.toml": {"cc1ff678966ca30d6ff71e6073a6ee883891982d": {"t": 1785745360.4419284, "n": 12820, "h": "6fac98c2d58c476b", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2\noutput = 12\ncache_read = 0.2\ncache_write = 2.5\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 0.2\noutput = 1.2\ncache_read = 0.02\ncache_write = 0.25\n\n[provider.OpenAI.models.\"gpt-5.5\"]\nname = \"gpt-5.5\"\nid = \"gpt-5.5\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.5\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.5\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 0\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Variants ──────────────────────────────────────────────────────────────────\n\n[zoo.variants]\n\"Cambricon/glm-5.2\" = \"high\"\n\"OpenCodeGo/deepseek-v4-flash\" = \"max\"\n\"OpenAI/gpt-5.5\" = \"high\"\n\n[zoo.variants.beaver]\n\"OpenAI/gpt-5.5\" = \"low\"\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n[zoo.context.nudge]\nenabled = true\n# 温和提醒阈值\nmin_context = \"60%\"\nmin_context_cap = 200000\n# 紧急提醒阈值:达到后提醒升级为紧急级(完成当前原子步骤后立即 compress)\nmax_context = \"80%\"\nmax_context_cap = 300000\n# 提醒节奏(tokens 或百分比)\ngrowth_tokens = \"5%\"\n\n# 示例:[zoo.context.nudge.models.\"\"] 下的键会覆盖上方同名阈值\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "db36c0de516b4fde302760b528d7acc17a95a537": {"t": 1785750701.6253586, "n": 12732, "h": "f6a39f6cbdac4ecf", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2\noutput = 12\ncache_read = 0.2\ncache_write = 2.5\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 0.2\noutput = 1.2\ncache_read = 0.02\ncache_write = 0.25\n\n[provider.OpenAI.models.\"gpt-5.5\"]\nname = \"gpt-5.5\"\nid = \"gpt-5.5\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.5\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.5\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 0\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Variants ──────────────────────────────────────────────────────────────────\n\n[zoo.variants]\n\"Cambricon/glm-5.2\" = \"high\"\n\"OpenCodeGo/deepseek-v4-flash\" = \"max\"\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n[zoo.context.nudge]\nenabled = true\n# 温和提醒阈值\nmin_context = \"60%\"\nmin_context_cap = 200000\n# 紧急提醒阈值:达到后提醒升级为紧急级(完成当前原子步骤后立即 compress)\nmax_context = \"80%\"\nmax_context_cap = 300000\n# 提醒节奏(tokens 或百分比)\ngrowth_tokens = \"5%\"\n\n# 示例:[zoo.context.nudge.models.\"\"] 下的键会覆盖上方同名阈值\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "06a1268510761af672125b4cca27d0185012a98e": {"t": 1785750702.769291, "n": 12555, "h": "0edb0aa69bf7f634", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2\noutput = 12\ncache_read = 0.2\ncache_write = 2.5\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 0.2\noutput = 1.2\ncache_read = 0.02\ncache_write = 0.25\n\n[provider.OpenAI.models.\"gpt-5.5\"]\nname = \"gpt-5.5\"\nid = \"gpt-5.5\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.5\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.5\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 0\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n[zoo.context.nudge]\nenabled = true\n# 温和提醒阈值\nmin_context = \"60%\"\nmin_context_cap = 200000\n# 紧急提醒阈值:达到后提醒升级为紧急级(完成当前原子步骤后立即 compress)\nmax_context = \"80%\"\nmax_context_cap = 300000\n# 提醒节奏(tokens 或百分比)\ngrowth_tokens = \"5%\"\n\n# 示例:[zoo.context.nudge.models.\"\"] 下的键会覆盖上方同名阈值\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "cc37657d815b05ce01d5818251319b27efe8e42f": {"t": 1785750704.0455387, "n": 12274, "h": "c02f16ac2c17d979", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2\noutput = 12\ncache_read = 0.2\ncache_write = 2.5\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 0.2\noutput = 1.2\ncache_read = 0.02\ncache_write = 0.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n[zoo.context.nudge]\nenabled = true\n# 温和提醒阈值\nmin_context = \"60%\"\nmin_context_cap = 200000\n# 紧急提醒阈值:达到后提醒升级为紧急级(完成当前原子步骤后立即 compress)\nmax_context = \"80%\"\nmax_context_cap = 300000\n# 提醒节奏(tokens 或百分比)\ngrowth_tokens = \"5%\"\n\n# 示例:[zoo.context.nudge.models.\"\"] 下的键会覆盖上方同名阈值\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "d63dc551b73dc88d8b27c431414c60abb2c1fa86": {"t": 1785750705.4330683, "n": 12007, "h": "efa3178b034611d2", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2\noutput = 12\ncache_read = 0.2\ncache_write = 2.5\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 0.2\noutput = 1.2\ncache_read = 0.02\ncache_write = 0.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "256e3638e75032fbd59116ca0dccee381d3a48c5": {"t": 1785750706.7022564, "n": 11996, "h": "ed268f9eba2e3858", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2.5\noutput = 15\ncache_read = 0.25\ncache_write = 3.125\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 1\noutput = 6\ncache_read = 0.1\ncache_write = 1.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 消息条数保护:从末尾倒数 N 条非 ignored 消息计入保护区\nprotected_messages = 20\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nreleased_percent = 10\n\n[zoo.context.dedup]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_context = 100000\nprotected_tools = []\n\n[zoo.context.compress]\nenabled = true\n# 压缩阈值(tokens):小于此值的段跳过压缩(幻影门禁)\nthreshold_tokens = 2000\n# 压缩保护区(tokens):末尾累计达到此值后不压缩\nprotected_tokens = 20000\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "388a9c3c6f237c1f1bb39a9783b7f50ae76d0acb": {"t": 1785750707.9415076, "n": 11820, "h": "03fdb2fe65b31292", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2.5\noutput = 15\ncache_read = 0.25\ncache_write = 3.125\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 1\noutput = 6\ncache_read = 0.1\ncache_write = 1.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── MCP ───────────────────────────────────────────────────────────────────────\n[mcp.gitlab]\ntype = \"remote\"\nurl = \"{env:GITLAB_MCP_URL}\"\n[mcp.gitlab.headers]\nPrivate-Token = \"{env:GITLAB_ACCESS_TOKEN}\"\n\n[mcp.jira]\ntype = \"remote\"\nurl = \"{env:JIRA_MCP_URL}\"\n[mcp.jira.headers]\nAuthorization = \"Token {env:JIRA_ACCESS_TOKEN}\"\n\n[mcp.wiki]\ntype = \"remote\"\nurl = \"{env:WIKI_MCP_URL}\"\n[mcp.wiki.headers]\nAuthorization = \"Basic {env:WIKI_BASIC_AUTH}\"\n\n[mcp.jsd]\ntype = \"remote\"\nurl = \"{env:JSD_MCP_URL}\"\n[mcp.jsd.headers]\nAuthorization = \"Basic {env:JSD_BASIC_AUTH}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "4f557bf1ae7aae6715bafa1c3f5ee023ecb1f4a7": {"t": 1785750709.197456, "n": 11253, "h": "28f032008f6963af", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\nreasoning = true\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\nreasoning = true\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\nreasoning = true\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\nreasoning = true\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\nreasoning = true\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\nreasoning = true\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\nreasoning = true\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\nreasoning = true\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2.5\noutput = 15\ncache_read = 0.25\ncache_write = 3.125\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 1\noutput = 6\ncache_read = 0.1\ncache_write = 1.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\nreasoning = true\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "045ac0c501485ea467041c090243c54a6cb33351": {"t": 1785750710.4437296, "n": 10825, "h": "8ae5ad8795170c8c", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenAI ────────────────────────────────────────────────────────────────────\n\n[provider.OpenAI]\nnpm = \"@ai-sdk/openai\"\n\n[provider.OpenAI.options]\nbaseURL = \"{env:OPENAI_BASE_URL}\"\napiKey = \"{env:OPENAI_API_KEY}\"\n\n[provider.OpenAI.models.\"gpt-5.6-sol\"]\nname = \"gpt-5.6-sol\"\nid = \"gpt-5.6-sol\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-sol\".cost]\ninput = 5\noutput = 30\ncache_read = 0.5\ncache_write = 6.25\n\n[provider.OpenAI.models.\"gpt-5.6-terra\"]\nname = \"gpt-5.6-terra\"\nid = \"gpt-5.6-terra\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-terra\".cost]\ninput = 2.5\noutput = 15\ncache_read = 0.25\ncache_write = 3.125\n\n[provider.OpenAI.models.\"gpt-5.6-luna\"]\nname = \"gpt-5.6-luna\"\nid = \"gpt-5.6-luna\"\nreasoning = true\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".limit]\ncontext = 272000\noutput = 128000\n\n[provider.OpenAI.models.\"gpt-5.6-luna\".cost]\ninput = 1\noutput = 6\ncache_read = 0.1\ncache_write = 1.25\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "91411d1bd6ee81bf16ba719abeb7db9165c13bfd": {"t": 1785750711.6728954, "n": 9707, "h": "18e4c5aba0f1beb8", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git restore *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git clean *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git restore *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "145f88f32f180a0b409d8f77656adb52bb462763": {"t": 1785750712.790795, "n": 9399, "h": "7df6e6d3e083e8a6", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git commit *\" = \"ask\"\n\"git reset *\" = \"ask\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"ask\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.bash]\n\"git checkout *\" = \"ask\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git stash\" = \"ask\"\n\"rm *\" = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.bash]\n\"git checkout *\" = \"deny\"\n\"git commit *\" = \"deny\"\n\"git reset *\" = \"deny\"\n\"git stash\" = \"deny\"\n\"rm *\" = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\nbeaver-tdd = \"enable\"\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "d2874bfa4c34f86bc326f85d162697ef7c677cca": {"t": 1785750714.0066762, "n": 8387, "h": "a5d51e416be29e63", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB)\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "7f5d4030f17b34a365a02d433e57850412abac10": {"t": 1785750715.2546911, "n": 8402, "h": "9a80d6c91bdf58b3", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\nenabled = true\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = []\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "b1d949f9f480066357e8c0c036d44918d64845a8": {"t": 1785750716.362115, "n": 8407, "h": "64343169a3b05e9a", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\n# 轮次保护\nturn_protection = 5\n# 批量释放阈值(百分比):pending 标记合计达到上下文长度该百分比时统一批量释放\nrelease_threshold_percent = 5\n\n[zoo.context.dedup]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = [\"question\"]\n\n[zoo.context.purge_errors]\nenabled = true\nthreshold_tokens = 100000\nprotected_tools = [\"question\"]\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "9994eb99aebe376509c3b062c837ab1834787a0a": {"t": 1785750717.446347, "n": 8300, "h": "aa72d24d2372012b", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1000000\noutput = 128000\n\n[provider.MoonShot.models.k3-256k]\nname = \"k3-256k\"\nid = \"k3-256k\"\n\n[provider.MoonShot.models.k3-256k.limit]\ncontext = 256000\noutput = 128000\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\"]\nname = \"qwen3.7-plus\"\nid = \"qwen3.7-plus\"\n\n[provider.OpenCodeGo.models.\"qwen3.7-plus\".limit]\ncontext = 1000000\noutput = 64000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\n# 轮次保护\nturn_protection = 5\n\n[zoo.context.dedup]\n# 自动去重开关\nenabled = true\n# 触发门控\nthreshold_tokens = 100000\n# 受保护工具\nprotected_tools = [\"question\"]\n# 去重释放阈值(百分比)\nrelease_threshold_percent = 5\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "9fb013eff008a2ec78238e3f92df13af3d5dbde7": {"t": 1785750718.5221949, "n": 8353, "h": "b190b9727bb8c8c9", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1048576\noutput = 38400\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Context ───────────────────────────────────────────────────────────────────\n\n[zoo.context]\n# 轮次保护\nturn_protection = 5\n\n[zoo.context.dedup]\n# 自动去重开关\nenabled = true\n# 触发门控\nthreshold_tokens = 100000\n# 受保护工具\nprotected_tools = [\"question\"]\n# 去重释放阈值(百分比)\nrelease_threshold_percent = 5\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "63f15b8273799c43b51dbeb602316a2dd9c58886": {"t": 1785750720.230957, "n": 8068, "h": "764a9e9be18ee7b4", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1048576\noutput = 38400\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "2f1ed927953c67f5fe694c757192904e1fce9e4a": {"t": 1785750721.3587043, "n": 8068, "h": "81d198158265d8b5", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n[provider.MoonShot.models.k3]\nname = \"k3\"\nid = \"k3\"\n\n[provider.MoonShot.models.k3.limit]\ncontext = 1048576\noutput = 38400\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "418f282c6f8ac2c4cca7dc3279a18665377a4590": {"t": 1785750722.739615, "n": 7942, "h": "5952b8ed9d8f1ce8", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"beaver-*\" = \"deny\"\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\"beaver-tdd\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nbeaver-tdd = \"enable\"\n"}, "ca3a5309445ada1cacd1f296e2a404179d3ef83a": {"t": 1785750723.980373, "n": 7871, "h": "ab5688d7e560805d", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "379251f86f830fd291f0ad91dce9350976592e94": {"t": 1785750725.1720164, "n": 7999, "h": "9027b9d2d06163f4", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "4ea7da57573e8013e947f7496d8dfb15251be78a": {"t": 1785750726.4222715, "n": 8009, "h": "ddc907266a87fa3c", "c": "# ZooKeeper 配置\n# {env:VAR} 引用由 opencode 在运行时从环境变量解析,请确保运行前 export 对应变量\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0\ncache_write = 0\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "0c568986f085c9bf3ae2d197f7fc0e18b20973a8": {"t": 1785750727.6069386, "n": 8014, "h": "a45eace16a84c163", "c": "# ZooKeeper 配置\n# {env:VAR} 引用由 opencode 在运行时从环境变量解析,请确保运行前 export 对应变量\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_ANT_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_WHALE_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_HIPPO_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_WHALE_MODEL}\"\nsmall_model = \"{env:ZOO_ANT_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "77497294322250b63bc728a2bfc8a363374e7567": {"t": 1785750728.8595603, "n": 7989, "h": "5c271bf08dc71e4f", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"grill\" = \"allow\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ncode-review = \"enable\"\ngit-commit = \"enable\"\ngrill = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\nmola-plan = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\n"}, "ccadb28747a13de9db6a4dea8003e87134cc1976": {"t": 1785750730.0676346, "n": 7941, "h": "5c21a9c601ef9048", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.2\"]\nname = \"aliyun/glm-5.2\"\nid = \"aliyun/glm-5.2\"\n\n[provider.Aliyun.models.\"glm-5.2\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nmola-plan = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\n"}, "81e7fafac36384a0a2e59958bbd2887cc4512cae": {"t": 1785750731.1562088, "n": 7941, "h": "929d42e5867c8f06", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.1\"]\nname = \"aliyun/glm-5.1\"\nid = \"aliyun/glm-5.1\"\n\n[provider.Aliyun.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-*\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nwiki-verify = \"enable\"\nmola-plan = \"enable\"\nkiwi-distill = \"enable\"\nkiwi-verify = \"enable\"\n"}, "e1c478c1fd183bdb6fad51c2e83dfbc93fd61308": {"t": 1785750733.3489223, "n": 7898, "h": "16e443afec84537a", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.1\"]\nname = \"aliyun/glm-5.1\"\nid = \"aliyun/glm-5.1\"\n\n[provider.Aliyun.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.dolphin.permission.skill]\n\"kiwi-*\" = \"deny\"\n\"mola-*\" = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\"kiwi-distill\" = \"allow\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nkiwi-distill = \"enable\"\nmola-plan = \"enable\"\n"}, "560f6bae1256a52ec06ab31c46ef2fd8d0bbaee8": {"t": 1785750734.423153, "n": 7780, "h": "4eadacbe0a1ad7c0", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.1\"]\nname = \"aliyun/glm-5.1\"\nid = \"aliyun/glm-5.1\"\n\n[provider.Aliyun.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.Cambricon.models.\"glm-5.2\".limit]\ncontext = 200000\noutput = 128000\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nmola-plan = \"enable\"\n"}, "e8e3c66398f40c8c3f07e5cb628b7cd951857ca8": {"t": 1785750735.6169813, "n": 7701, "h": "60cf6ffed2253d19", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.1\"]\nname = \"aliyun/glm-5.1\"\nid = \"aliyun/glm-5.1\"\n\n[provider.Aliyun.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.1\"]\nname = \"glm-5.1\"\nid = \"glm-5.1\"\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.external_directory]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.edit]\n\"~/.zoo/plans/**\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nmola-plan = \"enable\"\n"}, "087b84fe2030b40c24e6c05f2af40f73fffa7dab": {"t": 1785750736.882994, "n": 7648, "h": "ab1dbcaf271da3ad", "c": "# ZooKeeper 配置\n# {env:VAR} 引用会在 install.py 运行时解析为 .env 中的实际值\n\n\"$schema\" = \"https://opencode.ai/config.json\"\n\n# ── Aliyun ────────────────────────────────────────────────────────────────────\n\n[provider.Aliyun]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Aliyun.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Aliyun.options.headers]\nx-project = \"personal\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\"]\nname = \"aliyun/deepseek-v4-pro\"\nid = \"aliyun/deepseek-v4-pro\"\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-pro\".cost]\ninput = 11.76\noutput = 23.52\n\n[provider.Aliyun.models.\"deepseek-v4-flash\"]\nname = \"aliyun/deepseek-v4-flash\"\nid = \"aliyun/deepseek-v4-flash\"\nreasoning = true\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.Aliyun.models.\"deepseek-v4-flash\".cost]\ninput = 0.98\noutput = 1.96\n\n[provider.Aliyun.models.\"glm-5.1\"]\nname = \"aliyun/glm-5.1\"\nid = \"aliyun/glm-5.1\"\n\n[provider.Aliyun.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 0.68\ncache_write = 8.5\n\n[provider.Aliyun.models.\"qwen3.7-max\"]\nname = \"aliyun/qwen3.7-max\"\nid = \"aliyun/qwen3.7-max\"\n\n[provider.Aliyun.models.\"qwen3.7-max\".cost]\ninput = 6.0\noutput = 18.0\ncache_read = 0.6\ncache_write = 7.5\n\n# ── Volces ────────────────────────────────────────────────────────────────────\n\n[provider.Volces]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Volces.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Volces.options.headers]\nx-project = \"personal\"\n\n[provider.Volces.models.\"glm-5.1\"]\nname = \"volces/glm-5.1\"\nid = \"volces/glm-5.1\"\n\n[provider.Volces.models.\"glm-5.1\".cost]\ninput = 6.8\noutput = 23.8\ncache_read = 1.6\ncache_write = 0.017\n\n[provider.Volces.models.\"doubao-seed-2.0-code\"]\nname = \"volces/doubao-seed-2.0-code\"\nid = \"volces/doubao-seed-2.0-code\"\n\n[provider.Volces.models.\"doubao-seed-2.0-code\".cost]\ninput = 3.6\noutput = 18\ncache_read = 0.96\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\"]\nname = \"volces/deepseek-v4-pro\"\nid = \"volces/deepseek-v4-pro\"\n\n[provider.Volces.models.\"deepseek-v4-pro\".cost]\ninput = 10.2\noutput = 20.4\ncache_read = 1\ncache_write = 0.017\n\n[provider.Volces.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Cambricon ─────────────────────────────────────────────────────────────────\n\n[provider.Cambricon]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.Cambricon.options]\nbaseURL = \"{env:CAMBRICON_BASE_URL}\"\napiKey = \"{env:CAMBRICON_API_KEY}\"\n\n[provider.Cambricon.options.headers]\nx-project = \"personal\"\n\n[provider.Cambricon.models.\"glm-5.1\"]\nname = \"glm-5.1\"\nid = \"glm-5.1\"\n\n[provider.Cambricon.models.\"MiniMax-M2.7\"]\nname = \"MiniMax-M2.7\"\nid = \"MiniMax-M2.7\"\n\n# ── DeepSeek ──────────────────────────────────────────────────────────────────\n\n[provider.DeepSeek]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.DeepSeek.options]\nbaseURL = \"{env:DEEPSEEK_BASE_URL}\"\napiKey = \"{env:DEEPSEEK_API_KEY}\"\n\n[provider.DeepSeek.models.deepseek-v4-pro]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-pro.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-pro.cost]\ninput = 1.74\noutput = 3.48\ncache_read = 0.145\ncache_write = 0\n\n[provider.DeepSeek.models.deepseek-v4-flash]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\nreasoning = true\n\n[provider.DeepSeek.models.deepseek-v4-flash.limit]\ncontext = 1000000\noutput = 384000\n\n[provider.DeepSeek.models.deepseek-v4-flash.cost]\ninput = 0.14\noutput = 0.28\ncache_read = 0.028\ncache_write = 0\n\n# ── MoonShot ──────────────────────────────────────────────────────────────────\n\n[provider.MoonShot]\nnpm = \"@ai-sdk/anthropic\"\n\n[provider.MoonShot.options]\nbaseURL = \"{env:MOONSHOT_BASE_URL}\"\napiKey = \"{env:MOONSHOT_API_KEY}\"\n\n[provider.MoonShot.models.kimi-for-coding]\nname = \"kimi-for-coding\"\nid = \"kimi-for-coding\"\nreasoning = true\n\n[provider.MoonShot.models.kimi-for-coding.limit]\ncontext = 262144\noutput = 131072\n\n# ── OpenCodeGo ────────────────────────────────────────────────────────────────\n\n[provider.OpenCodeGo]\nnpm = \"@ai-sdk/openai-compatible\"\n\n[provider.OpenCodeGo.options]\nbaseURL = \"{env:OPENCODEGO_BASE_URL}\"\napiKey = \"{env:OPENCODEGO_API_KEY}\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\"]\nname = \"glm-5.2\"\nid = \"glm-5.2\"\n\n[provider.OpenCodeGo.models.\"glm-5.2\".limit]\ncontext = 1000000\noutput = 128000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\"]\nname = \"deepseek-v4-pro\"\nid = \"deepseek-v4-pro\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\"]\nname = \"deepseek-v4-flash\"\nid = \"deepseek-v4-flash\"\n\n[provider.OpenCodeGo.models.\"deepseek-v4-flash\".limit]\ncontext = 1000000\noutput = 384000\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\"]\nname = \"mimo-v2.5-pro\"\nid = \"mimo-v2.5-pro\"\n\n[provider.OpenCodeGo.models.\"mimo-v2.5-pro\".limit]\ncontext = 1000000\noutput = 384000\n\n# ── Agents ────────────────────────────────────────────────────────────────────\n\n[agent.dolphin]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#66CCFF\"\n[agent.dolphin.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n\n[agent.mola]\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#FFA500\"\n[agent.mola.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.mola.permission.edit]\n\"*\" = \"deny\"\n\"~/.zoo/plans/**/*.md\" = \"allow\"\n[agent.mola.permission.skill]\n\"*\" = \"deny\"\n\"mola-plan\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.lynx]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#FFE211\"\n[agent.lynx.permission]\nedit = \"deny\"\ntask = \"deny\"\n[agent.lynx.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.beaver]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\ncolor = \"#39C5BB\"\n[agent.beaver.permission]\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.beaver.permission.skill]\n\"*\" = \"deny\"\n\"git-commit\" = \"allow\"\n\"wiki-query\" = \"allow\"\n\n[agent.spider]\nmode = \"subagent\"\nmodel = \"{env:ZOO_SMALL_MODEL}\"\n[agent.spider.permission]\nedit = \"deny\"\nbash = \"deny\"\ntask = \"deny\"\n[agent.spider.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.eagle]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MODEL}\"\ncolor = \"#961E32\"\n[agent.eagle.permission]\nedit = \"deny\"\ntask = \"deny\"\nwebfetch = \"deny\"\nwebsearch = \"deny\"\n[agent.eagle.permission.skill]\n\"*\" = \"deny\"\n\"wiki-query\" = \"allow\"\n\n[agent.kiwi]\nmode = \"subagent\"\nmodel = \"{env:ZOO_MEDIUM_MODEL}\"\n[agent.kiwi.permission]\ntask = \"deny\"\nedit = \"deny\"\n[agent.kiwi.permission.skill]\n\"*\" = \"deny\"\n\n# 禁用内置 agent\n[agent.plan]\ndisable = true\n\n[agent.build]\ndisable = true\n\n[agent.general]\ndisable = true\n\n[agent.explore]\ndisable = true\n\n# ── Defaults ──────────────────────────────────────────────────────────────────\n\n[defaults]\nmodel = \"{env:ZOO_MODEL}\"\nsmall_model = \"{env:ZOO_SMALL_MODEL}\"\n\n# ── Validation ────────────────────────────────────────────────────────────────\n\n[zoo.validation]\ncontext_word_limit = 200\nprompt_word_limit = 500\n\n# ── Logging ───────────────────────────────────────────────────────────────────\n\n[zoo.logging]\n# 单文件上限 (MB),0 或不填使用默认 5 MB\nmax_file_size_mb = 5\n# 保留的轮转备份数,设为 0 不轮转\nmax_backups = 2\n# 自动清理多少天前的日志\nretention_days = 7\n\n# ── Skills ────────────────────────────────────────────────────────────────────\n# 每个 core/skills/ 下的子目录对应一个内建技能。\n# 可用值:\"enable\"(启用)| \"disable\"(禁用)\n\n[zoo.skills]\ngit-commit = \"enable\"\ncode-review = \"enable\"\nwiki-ingest = \"enable\"\nwiki-query = \"enable\"\nmola-plan = \"enable\"\n"}}}}