Oh My OpenAgent 前身是 oh-my-opencode,是一个高度可定制的 AI 编程辅助工具。虽然默认配置已经能覆盖大多数使用场景,但如果你有特殊的模型偏好或功能需求,了解一下配置方式会很有帮助。
快速开始
大多数情况下,运行以下命令即可开始使用:
bunx oh-my-openagent install
安装完成后,如果想调整配置,可以在项目根目录创建 .opencode/oh-my-openagent.json(项目级配置),或者在用户目录 ~/.config/opencode/oh-my-openagent.json(用户级配置)。配置文件支持 JSONC 格式,意味着你可以加注释和尾随逗号。
一个最简单的配置示例:
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/master/assets/oh-my-openagent.schema.json",
"agents": {
"oracle": {
"model": "openai/gpt-5.4",
"variant": "high"
}
},
"categories": {
"quick": {
"model": "opencode/gpt-5-nano"
}
}
}
内置 Agent
Oh My OpenAgent 内置了 11 个 Agent,每个都有不同的专长:
- Sisyphus — 通用任务
- Hephaestus — 代码构建
- Oracle — 高级推理
- Librarian — 知识检索
- Explore — 代码探索
- Multimodal Looker — 多模态理解
- Prometheus — 性能优化
- Metis — 元认知
- Momus — 创意任务
- Atlas — 导航与规划
- Sisyphus Junior — 轻量任务
你可以为每个 Agent 单独配置模型、变体、温度等参数。例如:
{
"agents": {
"explore": {
"model": "github-copilot/grok-code-fast-1"
}
}
}
Agent 可配置的选项包括:
| 选项 | 说明 |
|---|---|
model |
模型标识符,如 openai/gpt-4o |
variant |
变体:max、high、medium、low |
category |
从分类继承配置 |
temperature |
采样温度(0-2) |
top_p |
Top-p 采样(0-1) |
prompt |
完全覆盖系统提示词 |
prompt_append |
在系统提示词后追加文本 |
tools |
启用或禁用特定工具 |
disable |
是否禁用此 Agent |
maxTokens |
响应的最大 token 数 |
thinking |
扩展思考配置 |
reasoningEffort |
推理强度:low、medium、high、xhigh |
权限控制也很重要,每个 Agent 的权限可以设为 ask、allow 或 deny,控制文件编辑、Bash 命令执行、网络请求、无限循环覆盖、访问项目外部文件等能力。
Categories 分类系统
Categories 允许你定义 Agent 可以继承的共享配置,这比逐个 Agent 配置要方便得多。
内置分类及其默认模型:
| 分类 | 默认模型 | 适用场景 |
|---|---|---|
visual-engineering |
gemini-3.1-pro (high) | 前端、UI/UX、设计任务 |
ultrabrain |
gpt-5.3-codex (xhigh) | 深度逻辑推理 |
deep |
gpt-5.3-codex (medium) | 自主解决问题与深入研究 |
artistry |
gemini-3.1-pro (high) | 创意任务 |
quick |
claude-haiku-4-5 | 简单、快速任务 |
unspecified-low |
claude-sonnet-4-6 | 低投入一般任务 |
unspecified-high |
gpt-5.4 (high) | 高投入一般任务 |
writing |
gemini-3-flash | 文档和写作 |
分类可用选项包括:model、variant、temperature、top_p、maxTokens、thinking、reasoningEffort、textVerbosity、tools、prompt_append、is_unstable_agent。
Skills 技能系统
内置技能包括:
- playwright — 完整的浏览器自动化
- agent-browser — 轻量级浏览器 Agent,适合快速查询和简单抓取
- git-master — Git 操作专家
如果内置技能不够用,你也可以定义自定义技能:
{
"skills": {
"my-custom-skill": {
"description": "A custom skill for specific tasks",
"instructions": "Always use this skill when..."
}
}
}
钩子(Hooks)机制
钩子允许你在各个生命周期点扩展功能。Oh My OpenAgent 内置了大量钩子:
agent-usage-reminder— Agent 使用提醒anthropic-context-window-limit-recovery— 上下文窗口限制恢复auto-slash-command— 自动斜杠命令auto-update-checker— 自动更新检查background-notification— 后台通知category-skill-reminder— 分类技能提醒claude-code-hooks— Claude Code 钩子集成comment-checker— 注释检查器compaction-context-injector— 压缩上下文注入器compaction-todo-preserver— 压缩待办事项保留器delegate-task-retry— 委托任务重试directory-agents-injector— 目录 Agent 注入器directory-readme-injector— 目录 README 注入器edit-error-recovery— 编辑错误恢复interactive-bash-session— 交互式 Bash 会话keyword-detector— 关键词检测器non-interactive-env— 非交互环境检测prometheus-md-only— Prometheus 仅 Markdown 模式question-label-truncator— 问题标签截断器ralph-loop— Ralph 循环rules-injector— 规则注入器session-recovery— 会话恢复sisyphus-junior-notepad— Sisyphus Junior 记事本start-work— 开始工作检测stop-continuation-guard— 停止继续守卫subagent-question-blocker— 子 Agent 问题拦截器task-reminder— 任务提醒task-resume-info— 任务恢复信息tasks-todo— 待办事项集成write-disabler— 写入禁用器think-mode— 思考模式thinking-block-validator— 思考块验证器unstable-agent-babysitter— 不稳定 Agent 看护write-existing-file-guard— 写入现有文件守卫
钩子很多,大多数场景下不需要手动配置,但如果需要深度定制,这里就是切入点。
MCP 集成
Oh My OpenAgent 支持 MCP(Model Context Protocol)扩展:
- websearch — 由 Exa 驱动,提供高质量搜索结果
- context7 — 文档检索和上下文管理
- grep_app — GitHub 代码搜索集成
浏览器自动化
浏览器自动化支持两种模式:
| 工具 | 说明 | 适用场景 |
|---|---|---|
playwright |
完整的浏览器自动化(默认) | 测试、复杂交互 |
agent-browser |
轻量级浏览器 Agent | 快速查询、简单抓取 |
Tmux 集成
如果习惯在 Tmux 环境中工作,可以启用集成:
{
"tmux": {
"enabled": true,
"layout": "你的布局偏好",
"main_pane_size": "主面板大小"
}
}
Git Master
Git Master 配置可以自定义提交信息:
{
"gitMaster": {
"commit_footer": "追加到提交消息的文本",
"include_co_authored_by": true
}
}
注释检查器
注释检查器可以验证代码中的注释。在自定义提示词中使用 {{comments}} 占位符:
{
"comment-checker": {
"custom_prompt": "Review these comments: {{comments}}"
}
}
实验性功能
以下几个实验性功能可以按需开启:
aggressive_truncation— 积极截断输出auto_resume— 自动恢复中断的任务preemptive_compaction— 在达到限制前压缩上下文truncate_all_tool_outputs— 截断所有工具输出dynamic_context_pruning— 动态上下文修剪
这些功能默认关闭,有需要的话可以自行测试。
LSP 配置
如果你使用 Language Server Protocol 相关的工具,可以这样配置:
{
"lsp": {
"command": "LSP 服务器命令",
"extensions": ["匹配的文件扩展名"],
"priority": 优先级数字,
"env": { "环境变量": "值" },
"initialization": { "初始化选项": {} },
"disabled": false
}
}
环境变量
通过 OPENCODE_CONFIG_DIR 环境变量可以覆盖默认配置目录路径。
后台任务
后台任务的并发控制优先级为:modelConcurrency > providerConcurrency > defaultConcurrency。相关配置项包括:
defaultConcurrency— 默认最大并发任务数staleTimeoutMs— 过时任务超时时间(毫秒)providerConcurrency— 每个提供商的并发限制modelConcurrency— 每个模型的并发限制
小结
Oh My OpenAgent 的配置体系相当完善,从 Agent、分类、技能、钩子到 MCP 扩展,每个层面都有细粒度的控制能力。默认配置开箱即用,但当你需要调优或深度定制时,这些配置选项就是你的工具箱。
建议先从最基础的需求开始——比如切换模型或调整某个 Agent 的行为——熟悉后再逐步探索更高级的功能。