Compare commits
6 Commits
main
..
e6cf0e18f2
| Author | SHA1 | Date | |
|---|---|---|---|
| e6cf0e18f2 | |||
| fe4d4f2c83 | |||
| 1a25662a90 | |||
| b297f3b713 | |||
| bc349dd01c | |||
| 6e81723e4f |
@@ -0,0 +1,10 @@
|
||||
# Provider
|
||||
LITELLM_BASE_URL=https://ai.furtherverse.com
|
||||
LITELLM_API_KEY=
|
||||
|
||||
# MCP
|
||||
EXA_API_KEY=
|
||||
CONTEXT7_API_KEY=
|
||||
|
||||
# Windows
|
||||
OPENCODE_GIT_BASH_PATH=%USERPROFILE%\scoop\apps\git\current\bin\bash.exe
|
||||
+1
-4
@@ -1,10 +1,7 @@
|
||||
node_modules
|
||||
package.json
|
||||
package-lock.json
|
||||
bun.lock
|
||||
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
oh-my-openagent.json
|
||||
oh-my-openagent.jsonc
|
||||
.env
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# AGENTS.md
|
||||
|
||||
- Always reply in Simplified Chinese by default.
|
||||
- Use English only if the user explicitly asks for it.
|
||||
- Keep code, commands, file paths, logs, and identifiers unchanged.
|
||||
@@ -1,48 +0,0 @@
|
||||
# opencode-config
|
||||
|
||||
个人 [OpenCode](https://opencode.ai) 配置文件。
|
||||
|
||||
## 使用
|
||||
|
||||
1. 安装 OpenCode
|
||||
|
||||
```bash
|
||||
npm i -g opencode-ai
|
||||
# 或
|
||||
bun add -g opencode-ai
|
||||
```
|
||||
|
||||
2. 克隆配置到 `~/.config/opencode`
|
||||
|
||||
```bash
|
||||
git clone <repo-url> ~/.config/opencode
|
||||
```
|
||||
|
||||
3. 将以下环境变量配置到系统中
|
||||
|
||||
| 变量 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `AI_GATEWAY_BASE_URL` | 是 | 模型服务端点,例如 `https://ai-gateway.furtherverse.com` |
|
||||
| `AI_GATEWAY_API_KEY` | 是 | 模型服务密钥 |
|
||||
| `EXA_API_KEY` | 否 | [Exa](https://exa.ai) 搜索,提供联网能力,不配则使用默认额度 |
|
||||
| `CONTEXT7_API_KEY` | 否 | [Context7](https://context7.com) 文档查询,提供库文档检索,不配则使用默认额度 |
|
||||
| `OPENCODE_GIT_BASH_PATH` | 否 | Windows 用户需指定 Git Bash 路径,否则工具调用可能异常,例如 `%USERPROFILE%\scoop\apps\git\current\bin\bash.exe` |
|
||||
|
||||
4. 选择 oh-my-openagent 配置
|
||||
|
||||
项目提供了多套 [oh-my-openagent](https://github.com/code-yeongyu/oh-my-openagent) 预设配置,通过符号链接切换:
|
||||
|
||||
| 文件 | 说明 |
|
||||
|------|------|
|
||||
| `oh-my-openagent.claude.jsonc` | 主力 agent 使用 Claude 系列模型 |
|
||||
| `oh-my-openagent.gpt.jsonc` | 主力 agent 使用 GPT 系列模型 |
|
||||
|
||||
```bash
|
||||
# 使用 Claude 配置(默认)
|
||||
ln -sf oh-my-openagent.claude.jsonc oh-my-openagent.jsonc
|
||||
|
||||
# 使用 GPT 配置
|
||||
ln -sf oh-my-openagent.gpt.jsonc oh-my-openagent.jsonc
|
||||
```
|
||||
|
||||
5. 运行 `opencode`
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||
"agents": {
|
||||
"sisyphus": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
|
||||
"hephaestus": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"oracle": { "model": "openai/gpt-5.5", "variant": "high" },
|
||||
"librarian": { "model": "openai/gpt-5.4-mini" },
|
||||
"explore": { "model": "openai/gpt-5.4-mini" },
|
||||
"multimodal-looker": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"prometheus": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
|
||||
"metis": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
|
||||
"momus": { "model": "openai/gpt-5.5", "variant": "xhigh" },
|
||||
"atlas": { "model": "anthropic/claude-sonnet-4-6" },
|
||||
"sisyphus-junior": { "model": "anthropic/claude-sonnet-4-6" }
|
||||
},
|
||||
"categories": {
|
||||
"visual-engineering": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"ultrabrain": { "model": "openai/gpt-5.5", "variant": "xhigh" },
|
||||
"deep": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"artistry": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"quick": { "model": "openai/gpt-5.4-mini" },
|
||||
"unspecified-low": { "model": "anthropic/claude-sonnet-4-6" },
|
||||
"unspecified-high": { "model": "anthropic/claude-opus-4-7", "variant": "max" },
|
||||
"writing": { "model": "ai-gateway/kimi-k2p5-turbo" }
|
||||
},
|
||||
"experimental": {
|
||||
"disable_omo_env": true,
|
||||
"dynamic_context_pruning": {
|
||||
"enabled": true,
|
||||
"notification": "detailed",
|
||||
"turn_protection": {
|
||||
"enabled": true,
|
||||
"turns": 3
|
||||
},
|
||||
"protected_tools": [
|
||||
"task",
|
||||
"todowrite",
|
||||
"todoread",
|
||||
"lsp_rename",
|
||||
"session_read",
|
||||
"session_write",
|
||||
"session_search"
|
||||
],
|
||||
"strategies": {
|
||||
"deduplication": {
|
||||
"enabled": true
|
||||
},
|
||||
"supersede_writes": {
|
||||
"enabled": true,
|
||||
"aggressive": false
|
||||
},
|
||||
"purge_errors": {
|
||||
"enabled": true,
|
||||
"turns": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"git_master": {
|
||||
"commit_footer": false,
|
||||
"include_co_authored_by": false,
|
||||
"git_env_prefix": "GIT_MASTER=1"
|
||||
}
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||
"agents": {
|
||||
"sisyphus": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"hephaestus": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"oracle": { "model": "openai/gpt-5.5", "variant": "high" },
|
||||
"librarian": { "model": "openai/gpt-5.4-mini" },
|
||||
"explore": { "model": "openai/gpt-5.4-mini" },
|
||||
"multimodal-looker": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"prometheus": { "model": "openai/gpt-5.5", "variant": "high" },
|
||||
"metis": { "model": "openai/gpt-5.5", "variant": "high" },
|
||||
"momus": { "model": "openai/gpt-5.5", "variant": "xhigh" },
|
||||
"atlas": { "model": "ai-gateway/kimi-k2p5-turbo" },
|
||||
"sisyphus-junior": { "model": "ai-gateway/kimi-k2p5-turbo" }
|
||||
},
|
||||
"categories": {
|
||||
"visual-engineering": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"ultrabrain": { "model": "openai/gpt-5.5", "variant": "xhigh" },
|
||||
"deep": { "model": "openai/gpt-5.5", "variant": "medium" },
|
||||
"artistry": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"quick": { "model": "openai/gpt-5.4-mini" },
|
||||
"unspecified-low": { "model": "ai-gateway/kimi-k2p5-turbo" },
|
||||
"unspecified-high": { "model": "openai/gpt-5.5", "variant": "high" },
|
||||
"writing": { "model": "ai-gateway/kimi-k2p5-turbo" }
|
||||
},
|
||||
"experimental": {
|
||||
"disable_omo_env": true,
|
||||
"dynamic_context_pruning": {
|
||||
"enabled": true,
|
||||
"notification": "detailed",
|
||||
"turn_protection": {
|
||||
"enabled": true,
|
||||
"turns": 3
|
||||
},
|
||||
"protected_tools": [
|
||||
"task",
|
||||
"todowrite",
|
||||
"todoread",
|
||||
"lsp_rename",
|
||||
"session_read",
|
||||
"session_write",
|
||||
"session_search"
|
||||
],
|
||||
"strategies": {
|
||||
"deduplication": {
|
||||
"enabled": true
|
||||
},
|
||||
"supersede_writes": {
|
||||
"enabled": true,
|
||||
"aggressive": false
|
||||
},
|
||||
"purge_errors": {
|
||||
"enabled": true,
|
||||
"turns": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"git_master": {
|
||||
"commit_footer": false,
|
||||
"include_co_authored_by": false,
|
||||
"git_env_prefix": "GIT_MASTER=1"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
|
||||
"agents": {
|
||||
"sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
|
||||
"hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium" },
|
||||
"oracle": { "model": "openai/gpt-5.4", "variant": "high" },
|
||||
"librarian": { "model": "google/gemini-3-flash-preview" },
|
||||
"explore": { "model": "litellm/grok-code-fast-1" },
|
||||
"multimodal-looker": { "model": "openai/gpt-5.4", "variant": "medium" },
|
||||
"prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
|
||||
"metis": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
|
||||
"momus": { "model": "openai/gpt-5.4", "variant": "xhigh" },
|
||||
"atlas": { "model": "anthropic/claude-sonnet-4-6" }
|
||||
},
|
||||
"categories": {
|
||||
"visual-engineering": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh" },
|
||||
"deep": { "model": "openai/gpt-5.3-codex", "variant": "medium" },
|
||||
"artistry": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
|
||||
"quick": { "model": "anthropic/claude-haiku-4-5" },
|
||||
"unspecified-low": { "model": "anthropic/claude-sonnet-4-6" },
|
||||
"unspecified-high": { "model": "openai/gpt-5.4", "variant": "high" },
|
||||
"writing": { "model": "google/gemini-3-flash-preview" }
|
||||
},
|
||||
"git_master": {
|
||||
"commit_footer": false,
|
||||
"include_co_authored_by": false
|
||||
},
|
||||
"experimental": {
|
||||
"dynamic_context_pruning": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
+84
-42
@@ -1,22 +1,25 @@
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"plugin": ["oh-my-openagent@latest"],
|
||||
"autoupdate": false,
|
||||
"model": "anthropic/claude-opus-4-6",
|
||||
"small_model": "openai/gpt-5.4-mini",
|
||||
"small_model": "anthropic/claude-haiku-4-5",
|
||||
"plugin": ["oh-my-opencode@latest"],
|
||||
"experimental": {
|
||||
"disable_paste_summary": true
|
||||
},
|
||||
"provider": {
|
||||
"anthropic": {
|
||||
"npm": "@ai-sdk/anthropic",
|
||||
"options": {
|
||||
"baseURL": "{env:AI_GATEWAY_BASE_URL}/v1",
|
||||
"apiKey": "{env:AI_GATEWAY_API_KEY}"
|
||||
"baseURL": "{env:LITELLM_BASE_URL}/v1",
|
||||
"apiKey": "{env:LITELLM_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"claude-opus-4-7": {
|
||||
"name": "Claude Opus 4.7",
|
||||
"claude-opus-4-6": {
|
||||
"name": "Claude Opus 4.6",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
|
||||
"limit": { "context": 1000000, "output": 128000 }
|
||||
"limit": { "context": 200000, "output": 128000 }
|
||||
},
|
||||
"claude-sonnet-4-6": {
|
||||
"name": "Claude Sonnet 4.6",
|
||||
@@ -35,20 +38,26 @@
|
||||
"openai": {
|
||||
"npm": "@ai-sdk/openai",
|
||||
"options": {
|
||||
"baseURL": "{env:AI_GATEWAY_BASE_URL}/v1",
|
||||
"apiKey": "{env:AI_GATEWAY_API_KEY}"
|
||||
"baseURL": "{env:LITELLM_BASE_URL}/v1",
|
||||
"apiKey": "{env:LITELLM_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"gpt-5.5": {
|
||||
"name": "GPT-5.5",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
|
||||
"limit": { "context": 1050000, "input": 920000, "output": 130000 }
|
||||
},
|
||||
"gpt-5.4-mini": {
|
||||
"name": "GPT-5.4 mini",
|
||||
"gpt-5.4": {
|
||||
"name": "GPT-5.4",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image"], "output": ["text"] },
|
||||
"limit": { "context": 1050000, "input": 272000, "output": 128000 }
|
||||
},
|
||||
"gpt-5.2": {
|
||||
"name": "GPT-5.2",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image"], "output": ["text"] },
|
||||
"limit": { "context": 400000, "input": 272000, "output": 128000 }
|
||||
},
|
||||
"gpt-5.3-codex": {
|
||||
"name": "GPT-5.3-Codex",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
|
||||
"limit": { "context": 400000, "input": 272000, "output": 128000 }
|
||||
}
|
||||
}
|
||||
@@ -56,8 +65,8 @@
|
||||
"google": {
|
||||
"npm": "@ai-sdk/google",
|
||||
"options": {
|
||||
"baseURL": "{env:AI_GATEWAY_BASE_URL}/v1beta",
|
||||
"apiKey": "{env:AI_GATEWAY_API_KEY}"
|
||||
"baseURL": "{env:LITELLM_BASE_URL}/v1beta",
|
||||
"apiKey": "{env:LITELLM_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"gemini-3.1-pro-preview": {
|
||||
@@ -74,45 +83,78 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"ai-gateway": {
|
||||
"name": "AI Gateway",
|
||||
"litellm": {
|
||||
"name": "LiteLLM",
|
||||
"npm": "@ai-sdk/openai-compatible",
|
||||
"options": {
|
||||
"baseURL": "{env:AI_GATEWAY_BASE_URL}/v1",
|
||||
"apiKey": "{env:AI_GATEWAY_API_KEY}"
|
||||
"baseURL": "{env:LITELLM_BASE_URL}/v1",
|
||||
"apiKey": "{env:LITELLM_API_KEY}"
|
||||
},
|
||||
"models": {
|
||||
"glm-5.1": {
|
||||
"name": "GLM-5.1",
|
||||
// Grok
|
||||
"grok-code-fast-1": {
|
||||
"name": "Grok Code Fast 1",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 256000, "output": 10000 }
|
||||
},
|
||||
|
||||
// GLM
|
||||
"glm-5": {
|
||||
"name": "GLM-5",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 204800, "output": 131072 }
|
||||
},
|
||||
"kimi-k2.6": {
|
||||
"name": "Kimi K2.6",
|
||||
"glm-4.7": {
|
||||
"name": "GLM-4.7",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 204800, "output": 131072 }
|
||||
},
|
||||
|
||||
// Kimi
|
||||
"kimi-k2.5": {
|
||||
"name": "Kimi K2.5",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image", "video"], "output": ["text"] },
|
||||
"limit": { "context": 262144, "output": 65536 }
|
||||
"limit": { "context": 262144, "output": 262144 }
|
||||
},
|
||||
"kimi-k2p5-turbo": {
|
||||
"name": "Kimi K2.5 Turbo",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image"], "output": ["text"] },
|
||||
"limit": { "context": 256000, "output": 256000 }
|
||||
},
|
||||
"minimax-m2.7": {
|
||||
"name": "MiniMax M2.7",
|
||||
|
||||
// MiniMax
|
||||
"minimax-m2.5": {
|
||||
"name": "MiniMax-M2.5",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 204800, "output": 131072 }
|
||||
},
|
||||
|
||||
// Qwen
|
||||
"qwen3.5-plus": {
|
||||
"name": "Qwen3.5 Plus",
|
||||
"reasoning": true,
|
||||
"modalities": { "input": ["text", "image", "video"], "output": ["text"] },
|
||||
"limit": { "context": 1000000, "output": 65536 }
|
||||
},
|
||||
"qwen3-max": {
|
||||
"name": "Qwen3 Max",
|
||||
"reasoning": false,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 262144, "output": 65536 }
|
||||
},
|
||||
"qwen3-coder-next": {
|
||||
"name": "Qwen3 Coder Next",
|
||||
"reasoning": false,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 262144, "output": 65536 }
|
||||
},
|
||||
"qwen3-coder-plus": {
|
||||
"name": "Qwen3 Coder Plus",
|
||||
"reasoning": false,
|
||||
"modalities": { "input": ["text"], "output": ["text"] },
|
||||
"limit": { "context": 1000000, "output": 65536 }
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
"*": "allow"
|
||||
},
|
||||
"experimental": {
|
||||
"disable_paste_summary": true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user