{
  "$schema": "https://opencode.ai/config.json",
  "instructions": [
    "../AGENTS.md"
  ],
  "provider": {
    "zenmux": {
      "options": {
        "baseURL": "https://zenmux.ai/api/v1"
      },
      "models": {
        "anthropic/claude-opus-4.7": {
          "name": "Claude Opus 4.7",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "anthropic/claude-opus-4.6": {
          "name": "Claude Opus 4.6",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "anthropic/claude-sonnet-4.6": {
          "name": "Claude Sonnet 4.6",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "anthropic/claude-sonnet-4.5": {
          "name": "Claude Sonnet 4.5",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "anthropic/claude-haiku-4.5": {
          "name": "Claude Haiku 4.5",
          "limit": { "context": 200000, "output": 32000 }
        },
        "google/gemini-3.1-pro-preview": {
          "name": "Gemini 3.1 Pro Preview",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "google/gemini-2.5-pro": {
          "name": "Gemini 2.5 Pro",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "openai/gpt-5.4-pro": {
          "name": "GPT-5.4 Pro",
          "limit": { "context": 1050000, "output": 64000 }
        },
        "openai/gpt-5.4": {
          "name": "GPT-5.4",
          "limit": { "context": 1050000, "output": 64000 }
        },
        "qwen/qwen3.6-plus": {
          "name": "Qwen3.6 Plus",
          "limit": { "context": 1000000, "output": 32000 }
        },
        "minimax/minimax-m2.7": {
          "name": "MiniMax M2.7",
          "limit": { "context": 204800, "output": 32000 }
        },
        "moonshotai/kimi-k2.5": {
          "name": "Kimi K2.5",
          "limit": { "context": 262144, "output": 32000 }
        },
        "deepseek/deepseek-v3.2": {
          "name": "DeepSeek V3.2",
          "limit": { "context": 128000, "output": 32000 }
        },
        "deepseek/deepseek-reasoner": {
          "name": "DeepSeek V3.2 Thinking",
          "limit": { "context": 128000, "output": 32000 }
        },
        "z-ai/glm-5.1": {
          "name": "GLM 5.1",
          "limit": { "context": 200000, "output": 32000 }
        },
        "x-ai/grok-4.2-fast": {
          "name": "Grok 4.2 Fast",
          "limit": { "context": 2000000, "output": 32000 }
        }
      }
    },
    "zenmux-anthropic": {
      "npm": "@ai-sdk/anthropic",
      "name": "ZenMux Anthropic (cache enabled)",
      "options": {
        "baseURL": "https://zenmux.ai/api/anthropic/v1",
        "apiKey": "{env:ZENMUX_API_KEY}"
      },
      "models": {
        "claude-opus-4-7": {
          "name": "Claude Opus 4.7 (cache)",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "claude-opus-4-6": {
          "name": "Claude Opus 4.6 (cache)",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "claude-sonnet-4-6": {
          "name": "Claude Sonnet 4.6 (cache)",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "claude-sonnet-4-5": {
          "name": "Claude Sonnet 4.5 (cache)",
          "limit": { "context": 1000000, "output": 64000 }
        },
        "claude-haiku-4-5": {
          "name": "Claude Haiku 4.5 (cache)",
          "limit": { "context": 200000, "output": 32000 }
        }
      }
    }
  },
  "mcp": {
    "tavily": {
      "type": "local",
      "command": ["npx", "-y", "tavily-mcp@latest"],
      "environment": {
        "TAVILY_API_KEY": "{env:TAVILY_API_KEY}"
      },
      "enabled": false
    },
    "brave-search": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-brave-search"],
      "environment": {
        "BRAVE_API_KEY": "{env:BRAVE_API_KEY}"
      },
      "enabled": false
    },
    "exa": {
      "type": "local",
      "command": ["npx", "-y", "exa-mcp-server"],
      "environment": {
        "EXA_API_KEY": "{env:EXA_API_KEY}"
      },
      "enabled": false
    }
  },
  "permission": {
    "edit": "allow",
    "bash": {
      "*": "ask",
      "python *": "allow",
      "python3 *": "allow",
      "pandoc *": "allow",
      "ls *": "allow",
      "cat *": "allow",
      "head *": "allow",
      "tail *": "allow",
      "wc *": "allow",
      "grep *": "allow",
      "find *": "allow",
      "curl *": "allow",
      "bash .opencode/templates/fonts/download-fonts.sh": "allow",
      "rm -rf*": "deny",
      "sudo *": "deny"
    },
    "webfetch": "allow"
  },
  "agent": {
    "build": { "mode": "primary" },
    "plan": { "mode": "primary" }
  }
}
