本项目是一个本地运行的 coding agent,主入口是 CLI,运行模式包括:
planreviewbuild
当前主链已经支持:
- OpenAI / Anthropic / Google 官方 SDK 直连
- OpenAI-compatible 上游
- built-in tools
- skills
- 本地扩展组和远端 MCP servers
+------------------+
| User / CLI |
+---------+--------+
|
v
+------------------+
| Mode: plan/review|
| /build |
+---------+--------+
|
+-------------------+-------------------+
| |
v v
+--------------------+ +--------------------+
| Built-in Tools | | Skills |
| read/edit/memory | | prompt activation |
| research/task | +--------------------+
+----------+---------+
|
v
+--------------------+ +-----------------------------+
| Agent Runtime |<------>| MCP Extensions |
| state/trace/loops | | local groups + remote MCP |
+----------+---------+ +-----------------------------+
|
v
+--------------------+
| Model Providers |
| OpenAI/Anthropic |
| Google |
+--------------------+
git clone https://github.com/ifnodoraemon/dora-code.git
cd dora-code
pip install -e .
cp .env.example .env
mkdir -p .agent最小配置示例:
{
"model": "gpt-5.4",
"openai_api_key": "YOUR_KEY",
"openai_api_base": "https://www.packyapi.com/v1"
}启动:
doraemon产品层 mode:
planreviewbuild
默认 built-in capability groups:
-
planreadmemoryresearchtask
-
reviewreadresearchtask
-
buildreadeditmemoryresearchtask
对应工具名:
readreadsearchask_user
editwriterun
memorymemory_getmemory_putmemory_searchmemory_list
researchweb_searchweb_fetch
tasktask
Browser / database 不在默认主链里,只能通过 MCP 扩展接入。
/review [--base REF] [paths...]:临时进入只读 review 模式,对工作区变更或指定路径做代码审查。/tools [all]:查看当前 mode 下工具可见性、审批要求和 sandbox 分类。/audit [limit]:查看最近工具策略检查和执行审计。
OpenAI-compatible:
{
"model": "gpt-5.4",
"openai_api_key": "YOUR_KEY",
"openai_api_base": "https://provider.example.com/v1"
}Anthropic-compatible:
{
"model": "claude-sonnet-4-6",
"anthropic_api_key": "YOUR_KEY",
"anthropic_api_base": "https://provider.example.com/v1"
}Anthropic 的 base URL 用户仍然填到 /v1,运行时会自动归一化,避免 SDK 拼成重复路径。
Google:
{
"model": "gemini-3.1-pro-preview",
"google_api_key": "YOUR_KEY"
}远端 MCP server 配在 .agent/config.json 的 mcp_servers。
Context7:
{
"mcp_servers": [
{
"name": "context7",
"transport": "streamable_http",
"url": "https://mcp.context7.com/mcp",
"headers": {
"CONTEXT7_API_KEY": "YOUR_CONTEXT7_API_KEY"
},
"tool_prefix": "context7",
"require_approval": true,
"enabled": true
}
]
}GitHub:
{
"mcp_servers": [
{
"name": "github",
"transport": "streamable_http",
"url": "https://api.githubcopilot.com/mcp/",
"headers": {
"Authorization": "Bearer YOUR_GITHUB_TOKEN"
},
"tool_prefix": "github",
"require_approval": true,
"enabled": true
}
]
}建议总是设置 tool_prefix。远端 MCP 工具默认按敏感工具处理,需要审批;只有确认该 server 足够可信且工具无写入风险时,才设置 "require_approval": false。
当前远端 MCP runtime 支持:
streamable_httpstdio
并具备:
- fail-open
- 重试
- 会话复用
- 失败冷却
- 默认审批
- JSON-RPC 错误显式返回
- trace source 标记
受控浏览器 agent 示例在 examples/computer_use_agent:
python -m examples.computer_use_agent run \
--goal "Mark this month's pending customers as followed up and export the result"该示例会启动本地 CRM demo,浏览器导航限制在配置的 start URL origin,执行过程会写入 step trace、截图、下载文件和报告。
当前已真实验证过:
- Packy
gpt-5.4 - GitHub MCP
- Context7 MCP
最小真实回归命令:
REAL_API_BASE='https://www.packyapi.com/v1' \
REAL_API_KEY='YOUR_KEY' \
REAL_MODEL='gpt-5.4' \
python3 scripts/run_evals.py --category basic真实 benchmark:
REAL_API_BASE='https://www.packyapi.com/v1' \
REAL_API_KEY='YOUR_KEY' \
REAL_MODEL='gpt-5.4' \
python3 scripts/run_benchmark.py --suite real_repo --limit 5user input
|
v
select mode
|
v
resolve built-in capability groups
|
+--> activate relevant skills
|
+--> attach enabled MCP extensions / servers
|
v
build model-visible tool list
|
v
LLM call
|
+--> text response
|
+--> tool call
|
v
execute built-in or MCP tool
|
v
append tool result
|
v
next LLM turn