feat: add 9 plugins, sync to new provider format, add 6 new MCP packages

This commit is contained in:
2026-06-15 21:51:14 +08:00
parent bc32c98e50
commit a3c4024f5f
3 changed files with 144 additions and 89 deletions
+3 -2
View File
@@ -66,10 +66,11 @@ echo 'export BRAVE_API_KEY=BSA...' >> ~/.bashrc
## What's Synced ## What's Synced
- **9 Plugins** - oh-my-openagent, opencode-mem, opencode-pty, dynamic context pruning, RAG, command-inject, notify, agent-identity, tokenscope
- **32 Skills** - Coding standards, frontend/backend patterns, security review, etc. - **32 Skills** - Coding standards, frontend/backend patterns, security review, etc.
- **3 Agents** - explorer, reviewer, docs-researcher - **3 Agents** - explorer, reviewer, docs-researcher
- **11 MCP Servers** - codegraph, brave-search, playwright, github, etc. - **14 MCP Servers** - codegraph, brave-search, playwright, github, context7, exa, etc.
- **Model Config** - Kimi K2.6 + 7 other models via OpenAI-compatible API - **Model Config** - Kimi K2.6 + 14 other models via `@ai-sdk/openai-compatible`
## Updating ## Updating
+6 -9
View File
@@ -200,8 +200,12 @@ GLOBAL_PACKAGES=(
"@playwright/mcp" "@playwright/mcp"
"@upstash/context7-mcp" "@upstash/context7-mcp"
"mcp-remote" "mcp-remote"
"jina-mcp-tools"
"git-mcp-server"
"chrome-devtools-mcp"
) )
# Install npm global deps (git-mcp-server replaces Python mcp-server-git)
for pkg in "${GLOBAL_PACKAGES[@]}"; do for pkg in "${GLOBAL_PACKAGES[@]}"; do
echo -e "${DARKGRAY} Installing $pkg...${NC}" -n echo -e "${DARKGRAY} Installing $pkg...${NC}" -n
if npm install -g "$pkg" 2>/dev/null; then if npm install -g "$pkg" 2>/dev/null; then
@@ -211,23 +215,16 @@ for pkg in "${GLOBAL_PACKAGES[@]}"; do
fi fi
done done
# Install Python git MCP
echo -e "${DARKGRAY} Installing Python git MCP...${NC}" -n
if python3 -m pip install mcp-server-git 2>/dev/null || python -m pip install mcp-server-git 2>/dev/null; then
echo -e "${GREEN} OK${NC}"
else
echo -e "${YELLOW} SKIP${NC}"
fi
echo "" echo ""
echo -e "${CYAN}========================================${NC}" echo -e "${CYAN}========================================${NC}"
echo -e "${GREEN} Installation Complete! ${NC}" echo -e "${GREEN} Installation Complete! ${NC}"
echo -e "${CYAN}========================================${NC}" echo -e "${CYAN}========================================${NC}"
echo "" echo ""
echo -e "${WHITE}Next steps:${NC}" echo -e "${WHITE}Next steps:${NC}"
echo -e " 1. Restart opencode to load new config" echo -e " 1. Restart opencode to load new config (plugins auto-install on startup)"
echo -e " 2. Run 'opencode' in your project directory" echo -e " 2. Run 'opencode' in your project directory"
echo -e " 3. Initialize CodeGraph: codegraph init" echo -e " 3. Initialize CodeGraph: codegraph init"
echo -e " 4. For smart-tree MCP: install from https://github.com/anomalyco/smart-tree"
echo "" echo ""
echo -e "${DARKGRAY}Config location: $CONFIG_DIR${NC}" echo -e "${DARKGRAY}Config location: $CONFIG_DIR${NC}"
echo "" echo ""
+134 -77
View File
@@ -1,22 +1,17 @@
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
"model": "openai-compatible/kimi-k2.6", "disabled_providers": [],
"small_model": "openai-compatible/miaoda-model-flash", "model": "ai/kimi-k2.6",
"small_model": "ai/miaoda-model-flash",
"provider": { "provider": {
"openai-compatible": { "ai": {
"api": "openai", "npm": "@ai-sdk/openai-compatible",
"name": "OpenAI Compatible",
"options": { "options": {
"baseURL": "https://ai.fs.nomsg.cn/v1",
"apiKey": "${OPENCODE_API_KEY}", "apiKey": "${OPENCODE_API_KEY}",
"baseURL": "https://ai.fs.nomsg.cn/v1" "setCacheKey": true
}, },
"models": { "models": {
"kimi-k2.6": {
"id": "kimi-k2.6",
"name": "Kimi K2.6",
"tool_call": true,
"reasoning": true
},
"doubao-seed-2.0-pro": { "doubao-seed-2.0-pro": {
"id": "doubao-seed-2.0-pro", "id": "doubao-seed-2.0-pro",
"name": "Doubao Seed 2.0 Pro", "name": "Doubao Seed 2.0 Pro",
@@ -27,15 +22,16 @@
"name": "GLM 5.1", "name": "GLM 5.1",
"tool_call": true "tool_call": true
}, },
"qwen-3.6-plus": { "grok-4.3": {
"id": "qwen-3.6-plus", "id": "grok-4.3",
"name": "Qwen 3.6 Plus", "name": "Grok 4.3",
"tool_call": true "tool_call": true
}, },
"minimax-m3": { "kimi-k2.6": {
"id": "minimax-m3", "id": "kimi-k2.6",
"name": "MiniMax M3", "name": "Kimi K2.6",
"tool_call": true "tool_call": true,
"reasoning": true
}, },
"miaoda-auto-multimodal": { "miaoda-auto-multimodal": {
"id": "miaoda-auto-multimodal", "id": "miaoda-auto-multimodal",
@@ -51,34 +47,107 @@
"id": "miaoda-model-flash", "id": "miaoda-model-flash",
"name": "Miaoda Model Flash", "name": "Miaoda Model Flash",
"tool_call": true "tool_call": true
},
"mimo-v2.5": {
"id": "mimo-v2.5",
"name": "Mimo V2.5",
"tool_call": true
},
"mimo-v2.5-pro": {
"id": "mimo-v2.5-pro",
"name": "Mimo V2.5 Pro",
"tool_call": true
},
"minimax-m3": {
"id": "minimax-m3",
"name": "MiniMax M3",
"tool_call": true
},
"qwen-3.6-plus": {
"id": "qwen-3.6-plus",
"name": "Qwen 3.6 Plus",
"tool_call": true
},
"step-3.5-flash": {
"id": "step-3.5-flash",
"name": "Step 3.5 Flash",
"tool_call": true
},
"step-3.5-flash-2603": {
"id": "step-3.5-flash-2603",
"name": "Step 3.5 Flash 2603",
"tool_call": true
},
"step-3.7-flash": {
"id": "step-3.7-flash",
"name": "Step 3.7 Flash",
"tool_call": true
},
"step-router-v1": {
"id": "step-router-v1",
"name": "Step Router V1",
"tool_call": true
} }
} }
} }
}, },
"skills": { "plugin": [
"paths": ["~/.config/opencode/skills"] "oh-my-openagent",
}, "opencode-mem",
"agent": { "opencode-pty",
"explorer": { "@tarquinen/opencode-dcp",
"description": "Read-only codebase explorer for gathering evidence before changes are proposed.", "opencode-rag-plugin",
"mode": "subagent", "opencode-command-inject",
"model": "openai-compatible/kimi-k2.6", "opencode-notify",
"permission": { "edit": "deny", "bash": "ask" } "@gotgenes/opencode-agent-identity",
}, "@ramtinj95/opencode-tokenscope"
"reviewer": { ],
"description": "PR reviewer focused on correctness, security, and missing tests.",
"mode": "subagent",
"model": "openai-compatible/kimi-k2.6",
"permission": { "edit": "deny", "bash": "ask" }
},
"docs-researcher": {
"description": "Documentation specialist that verifies APIs, framework behavior, and release notes.",
"mode": "subagent",
"model": "openai-compatible/kimi-k2.6",
"permission": { "edit": "deny", "bash": "ask" }
}
},
"mcp": { "mcp": {
"git": {
"type": "local",
"command": ["git-mcp-server"],
"enabled": true
},
"filesystem": {
"type": "local",
"command": ["mcp-server-filesystem", "${PROJECTS_PATH}"],
"enabled": true
},
"jina": {
"type": "local",
"command": ["jina-mcp-tools"],
"enabled": true
},
"codegraph": {
"type": "local",
"command": ["codegraph", "serve", "--mcp"],
"enabled": true
},
"smart-tree": {
"type": "local",
"command": ["/home/chaos/.local/bin/st", "--mcp"],
"enabled": true
},
"dbhub": {
"type": "local",
"command": ["dbhub", "--transport", "stdio", "--demo"],
"enabled": false
},
"memory": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-memory"],
"enabled": true
},
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@latest"],
"enabled": true
},
"chrome-devtools": {
"type": "local",
"command": ["chrome-devtools-mcp"],
"enabled": true
},
"github": { "github": {
"type": "local", "type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-github"], "command": ["npx", "-y", "@modelcontextprotocol/server-github"],
@@ -94,46 +163,11 @@
"command": ["npx", "-y", "mcp-remote", "https://mcp.exa.ai/mcp"], "command": ["npx", "-y", "mcp-remote", "https://mcp.exa.ai/mcp"],
"enabled": true "enabled": true
}, },
"memory": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-memory"],
"enabled": true
},
"playwright": {
"type": "local",
"command": ["npx", "-y", "@playwright/mcp@latest", "--extension"],
"enabled": true
},
"sequential-thinking": { "sequential-thinking": {
"type": "local", "type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"], "command": ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"],
"enabled": true "enabled": true
}, },
"codegraph": {
"type": "local",
"command": ["codegraph", "serve", "--mcp"],
"enabled": true
},
"git": {
"type": "local",
"command": ["python", "-m", "mcp_server_git"],
"enabled": true
},
"filesystem": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-filesystem", "${PROJECTS_PATH}"],
"enabled": true
},
"fetch": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-fetch"],
"enabled": false
},
"time": {
"type": "local",
"command": ["npx", "-y", "@modelcontextprotocol/server-time"],
"enabled": false
},
"brave-search": { "brave-search": {
"type": "local", "type": "local",
"command": ["npx", "-y", "@brave/brave-search-mcp-server"], "command": ["npx", "-y", "@brave/brave-search-mcp-server"],
@@ -142,5 +176,28 @@
"BRAVE_API_KEY": "${BRAVE_API_KEY}" "BRAVE_API_KEY": "${BRAVE_API_KEY}"
} }
} }
},
"skills": {
"paths": ["~/.config/opencode/skills"]
},
"agent": {
"explorer": {
"description": "Read-only codebase explorer for gathering evidence before changes are proposed.",
"mode": "subagent",
"model": "ai/kimi-k2.6",
"permission": { "edit": "deny", "bash": "ask" }
},
"reviewer": {
"description": "PR reviewer focused on correctness, security, and missing tests.",
"mode": "subagent",
"model": "ai/kimi-k2.6",
"permission": { "edit": "deny", "bash": "ask" }
},
"docs-researcher": {
"description": "Documentation specialist that verifies APIs, framework behavior, and release notes.",
"mode": "subagent",
"model": "ai/kimi-k2.6",
"permission": { "edit": "deny", "bash": "ask" }
}
} }
} }