关于 agenttrio
agenttrio 在本地 Ollama 后端运行有界的规划、编码和审查工作流。它面向需要查看工作区状态、执行配置检查,并仅在主机强制验证关卡通过后标记任务已验证的操作者。
主要功能
- 01运行规划、编码和只读审查角色
- 02限制轮次、循环、工具调用和上下文预算
- 03验证要求检查通过及审查者批准
- 04报告工作区状态和配置的检查项
- 05单独或批量运行配置的检查
适用场景
- 01检查工作区和 Ollama 状态
- 02执行带验证的有界编码任务
- 03运行配置的项目检查
- 04确认任务是否通过验证关卡
MCP 相关
其 stdio MCP 服务提供三个工具:`flow_status`、`flow_run` 和 `flow_check`,用于报告工作区状态、运行带关卡验证的任务以及执行配置检查。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 1 周前
此工具无需参数。
详细介绍
agenttrio
agenttrio 在本地 Ollama 后端上运行有界 Agent 工作流,包含三个角色:规划者、编码者和独立的只读审查者。它会报告工作区状态,通过由主机强制执行的验证门让这三个角色处理一项任务,并运行工作区配置的检查。一个二进制文件同时提供命令行界面和包含且仅包含三个工具的 stdio MCP 服务。
工作范围由操作者配置限定:每个角色的模型轮次、编码者 → 验证 → 审查者循环次数、工具调用总数和上下文大小都有明确预算。只有通过下方的验证门,运行结果才会标记为 verified——绝不会仅凭模型的说法判定。
配置
agenttrio 会读取经操作者审核的 TOML 文件。显式传入 --config <file> 即表示批准加载该文件;绝不会自动加载工作区中的 config.toml 或 .flow.toml。唯一会自动加载的位置是 $XDG_CONFIG_HOME/flow/config.toml。
workspace_dir = "/absolute/path/to/workspace"
[ollama]
base_url = "http://127.0.0.1:11434"
model = "qwen2.5-coder:7b"
timeout = 120
[models]
planner = "qwen2.5-coder:7b"
coder = "qwen2.5-coder:7b"
reviewer = "qwen2.5-coder:7b"
[agent]
max_iterations = 6
max_cycles = 2
max_tool_calls = 64
max_context_chars = 100000
[checks.test]
cmd = ["npm", "test"]
timeout = 60000
required = true
kind = "test"
filetypes = ["ts"]
重要说明:
- 检查项的
timeout值以毫秒为单位;Ollama 的timeout以秒为单位。 --workspace会覆盖配置中的工作区,--model会覆盖所有角色的模型。- 除非配置中设置了
ollama.allow_remote = true,否则会拒绝非回环 Ollama 端点。 - 默认模式为只读。
run和check需要--trusted,此选项允许修改项目,并运行显式配置的命名检查项。 - 如果没有可解析的配置,所有命令都会失败,并给出指出缺少配置的错误——不会凭空编造任何内容。
- Ollama 本身是外部服务:预期运行正常前,请先运行
ollama serve并拉取支持工具调用的模型(例如ollama pull qwen2.5-coder:7b)。
安装
npx @reneturcios/agenttrio status --config /path/to/operator.toml
或者运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/agenttrio
容器默认启动 MCP 服务端(见下文)。若要将其用作命令行界面,请传入 CLI 参数;如果以这种方式使用,请将配置和工作区挂载到容器中。
CLI
agenttrio status --config operator.toml
agenttrio run "Fix the failing parser test" --config operator.toml --trusted
agenttrio check --config operator.toml --trusted
agenttrio check test --config operator.toml --trusted
agenttrio --version
报告以 JSON 格式输出。退出码遵循文档规定:成功时为 0,运行时失败(包括无法验证的运行配置)时为 1,用法错误时为 2。
参数会在读取任何配置前完成验证,因此格式错误的调用始终属于用法错误。
验证门
只有满足以下所有条件,run 才会报告 verified: true:
- 规划者和编码者在各自预算内完成工作;
- 至少运行一项必需的命名检查,并且每项必需检查都通过;
- 独立的只读审查者返回结构化批准(包含
"approved": true的 JSON 对象)。
如果验证门未通过,循环会重复执行(编码者 → 检查 → 审查者),最多达到 max_cycles 次;最终报告会显示 verified: false,并通过 note 指出未满足的条件。
MCP 服务
一个二进制文件同时提供两种接口。mcp 子命令会启动 stdio MCP 服务(以换行符分隔的 JSON-RPC):
npx -y @reneturcios/agenttrio mcp --config /path/to/operator.toml --trusted
MCP 客户端配置:
{
"mcpServers": {
"agenttrio": {
"command": "npx",
"args": ["-y", "@reneturcios/agenttrio", "mcp", "--config", "/path/to/operator.toml", "--trusted"]
}
}
}
回复会将报告作为 JSON 文本块和 structuredContent 返回;失败则会作为 isError 结果返回。该服务刻意采用顺序执行。
工具
工具列表有意仅包含以下三个工具。
| 工具 | 输入 | 返回内容 |
|---|---|---|
flow_status | {} | 状态报告:工作区、Ollama 可连接性和可用模型、各角色模型、Agent 预算以及配置的检查项。 |
flow_run | {"task": "..."} | 运行报告:规划者/编码者输出、检查结果、审查者决定、已使用的循环次数,以及 verified 验证门结果。 |
flow_check | {} 或 {"name": "configured-name"} | 检查报告:已运行检查项的所有结果,以及它们是否全部通过。省略 name 即运行所有已配置的检查项。 |
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network (fake executor/fetch/runner only)
npm run dev # run the CLI from source via tsx
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。