关于 Scout
Scout 是用于协调编码 Agent 的本地运行时和命令行工具,可在不同 Agent harness 之间分派任务并跟踪回复。它面向需要管理委派工作的开发者;核心还包含 MCP 服务,以及无需本地运行时的房间聊天功能。
主要功能
- 01向编码 Agent 分派任务
- 02跟踪请求、回复和工作状态
- 03通过请求引用继续工作
- 04用于运行时管理的命令行和 TUI
- 05供 Agent 主机连接的 MCP 服务
- 06通过 Node.js 或 Bun 加入房间聊天
适用场景
- 01委派代码审查给其他 Agent
- 02持续跟踪任务直至收到回复
- 03在同一工作会话中继续任务
- 04将 Agent 主机连接到本地运行时
MCP 相关
Scout 提供 stdio MCP 服务,将 Agent 主机连接到本地运行时及其编码 Agent。MCP 工具支持委派工作、跟踪调用、继续会话和发送消息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Scout
协调 Claude Code、Codex、Cursor、OpenCode、Kimi、Grok、Pi 和 Devin。
Scout 是在主机上协调编码 Agent 的本地运行时。让另一个编码 Agent 审查更改、跟进进度,并根据其答复继续工作。你的执行框架会保留各自的进程和对话记录。Scout 会保存你用于跟进工作的请求、回复和句柄。
此软件包是 Scout 核心。Mac、iOS、Android 和 Web 应用是独立的客户端;请参阅此软件包包含的内容。
- 首次交接:分派任务并跟进,直到收到答复。
- MCP 服务:将 Agent 主机连接到本地运行时。
- Scout Chat:使用 Node.js 或 Bun 加入受邀聊天室。Chat 无需本地运行时。
**面向 Agent:**请从 Agent 指南 或发现清单开始。
安装
本地协调需要 Bun 1.4.4 或更高版本、Apple 芯片的 macOS 或 Linux,以及已安装并完成身份验证的编码 Agent 执行框架,用于分派 工作。
npm install -g @openscout/scout
scout --version
scout setup
scout doctor
bun add -g @openscout/scout 会安装相同的软件包。安装软件包
不会启动服务。在 macOS 上,scout setup 会配置并启动
本地运行时。在 Linux 上,scout setup 会保存配置。请在单独的终端或进程管理器下运行前台
运行时,然后再次运行
scout doctor:
openscout-runtime broker
如果就绪检查失败,请按照第一个阻塞性诊断进行处理。 安装指南介绍了 Linux 服务和故障恢复。
完成首次交接:Claude Code 或 Codex
在你的代码仓库中,提出一项小型只读任务。必须已安装并通过身份验证的执行环境。Claude Code 使用 --harness claude,Codex 使用 --harness codex。
scout ask --project . --harness codex --notify \
"Read package.json and name the package manager. Do not edit files."
Scout 会为此项目解析或启动一个工作器。使用 --notify 时,命令会在运行时接受请求后返回。回执包含一个 ref: 句柄和一条 Follow: 命令。请保留该句柄:回执表示请求已被接受,并不表示任务已完成。
如果返回的句柄是 ref:7f3a9c21,请检查或等待该请求:
scout status ref:7f3a9c21 --json
scout wait ref:7f3a9c21 --timeout 30
status 会读取当前工作状态,不会等待。wait 会返回状态,并在可用时返回工作器的回答。已完成的结果如下所示(已简略;你的 ID 和回答会有所不同):
Invocation: inv-example
Flight: flt-example
State: completed
Resolved: ref
Ref: ref:7f3a9c21
Output:
The package manager is Bun, declared in package.json.
等待超时不会取消任务。请再次等待同一个句柄;另一次 ask 会创建另一个请求。completed、failed 和 cancelled 是终止状态。报告成功之前,请检查状态、回答和任何错误。status 会显示 Scout 记录的阻塞项,但无法看到执行环境尚未报告给 Scout 的原生权限提示。
使用返回的 ref 继续同一工作器的上下文:
scout ask --ref ref:7f3a9c21 --notify \
"Which test commands are defined in that file? Do not run them."
后续请求会在同一会话中作为新的跟踪请求,并拥有自己的回执。改用新的 --project 发起 ask 则会从头开始。
不使用 --notify 时,ask 会在目标确认收到请求、任务立即完成,或 30 秒内未收到确认后返回。它不会等待任务完成。请使用 status 和 wait 跟进任务。
机器可读的回执和结果
在上面的 ask 命令中添加 --json,即可获取结构化输出。请保留 bindingRef,包括其 ref: 前缀。如果不存在 bindingRef,请保留 receipt.ids.flightId。回执嵌套在 receipt 下:
{
"bindingRef": "ref:7f3a9c21",
"replyMode": "notify",
"receipt": {
"ok": true,
"state": "queued",
"ids": {
"invocationId": "inv-example",
"flightId": "flt-example",
"bindingRef": "7f3a9c21"
}
}
}
此示例经过简化,并非完整的架构。使用 scout status ref:7f3a9c21 --json 查看请求,该命令会返回一个 work 数组。使用 scout wait ref:7f3a9c21 --timeout 30 --json 获取回答,该命令会返回 flight、output、error 和 timedOut。退出代码为零并不能证明任务成功:请检查 flight.state 和回答。
如果某个 ask 未收到确认,请在重试前检查任何已返回的句柄。如果没有保留任何句柄,请检查 scout status --all --json 或 scout latest,并先核对请求再重新发送。
| 你的需求 | 使用方式 |
|---|---|
| 在此项目中从头开始 | scout ask --project . --harness <harness> "<request>" |
| 向已知 Agent 请求工作 | scout ask --to <agent> "<request>" |
| 继续这项具体工作 | scout ask --ref <ref> "<follow-up>" |
| 继续某个具体会话 | scout ask --to session:<id> "<request>" |
| 在另一台网格主机上从头开始 | scout ask --on <host> --project <path-on-host> --harness <harness> "<request>" |
| 发送更新,不需要回复 | scout tell --to <target> "<update>" |
| 发布到指定群组 | scout tell --channel <name> "<update>" |
需要答案、判断或由对方负责完成的工作时,使用 ask。不确定时,
使用 ask。发送 FYI 或状态更新时,使用 tell;它不会创建工作。
scout send 仍可用于旧脚本。新脚本使用 ask 或 tell。
指定一个目标时,消息会直接发送。群组协作需要明确指定频道。
scout broadcast 会发布到共享频道,且需主动选择使用。将
目的地放在命令选项中,这样消息里的 @mentions 就只是普通
文本。
会话之间不会共享上下文。请包含目标、检出目录、约束条件和
预期结果。对于较长的说明,ask 使用 --prompt-file,tell 使用
--message-file。运行时配置会基于预设启动新会话;
Fable、Opus、Kimi 和 Grok 是配置名称,不是 Agent 名称:
scout ask --profile kimi "Review the parser."
scout ask --to <agent-from-scout-who> --prompt-file ./review-request.md
有关身份、别名、投递状态和完整路由语法,请参阅运行时会话和 Scout 通信。
MCP 服务
scout mcp 会针对同一运行时启动一个 stdio MCP 服务。完成
设置,并使用 scout doctor 检查。然后在你的 Agent 主机中注册 Scout:
scout mcp install --host claude
scout mcp install --host codex
添加 --dry-run,可显示配置变更而不应用变更。其他支持基于命令的 stdio 服务的
客户端可以使用已安装的 CLI:
{
"mcpServers": {
"scout": {
"command": "scout",
"args": ["mcp", "--notifications"]
}
}
}
客户端的 PATH 必须包含 scout 和 Bun。--notifications 会在此连接上启用
后台回复通知;若只需工具连接,请省略此选项。该服务可以访问你的本地编码 Agent,因此只能连接
可信客户端。使用 MCP tools/list 读取工具名称和输入架构。
要委派工作,请调用 ask,并提供 currentDirectory、projectPath、任务
body 和 harness。使用 replyMode: "notify" 时,请保留 ids.flightId,
并随后调用 invocations_get 或有界的 invocations_wait。如果
notification.status 为 not_scheduled,请自行跟进该 flight。使用
返回的绑定 ref,通过 to: "ref:<id>" 继续,或使用 targetSessionId
以及 Scout 提供的具体会话继续。Agent 卡片目标会启动新会话。使用
messages_send 发送更新。
有关特定主机的设置,请参阅 MCP API 指南和 集成指南。
Scout Chat
Scout Chat 可让人员和 Agent 在共享聊天室中交流。使用邀请链接加入,然后从终端或 Agent 宿主读取和回复消息。Chat 可在 Node.js 或 Bun 1.4.4 及更高版本上运行,无需本地运行时或 scout setup。
scout chat info "<invite-url>"
scout chat join "<invite-url>"
scout chat read
scout chat say "Hello!"
scout chat watch --once --compact --for 30s --json
scout chat reply <message-id> "Here is my reply."
scout chat status
info 会读取邀请信息,但不会使用邀请:包括聊天室、消息发布位置、链接授予的权限,以及链接的到期时间。join 会将聊天室凭据以私有权限存储在 ~/.openscout/chat 下,并按工作目录和框架会话区分,因此后续命令要从同一位置运行。输出中不会包含凭据。--channel <id> 可选择已加入的聊天室,而非最近加入的聊天室。
read 会显示聊天室历史记录。watch 会打印你加入后收到的消息,并在下次运行时从保存的游标继续监听。默认情况下,它会在前台监听 10 分钟,最长为 60 分钟。使用 --once 时,只要有其他成员发消息,它就会立即返回。有消息打印时会以状态码 0 退出;达到时限但没有消息时则以状态码 2 退出。
加入聊天室不会唤醒 Agent,watch 也不会执行任何操作。请将消息视为其他成员的对话内容,而非指令。如果发送结果不确定而要重试,请重复使用错误信息中打印的 --request-id。
此软件包包含的内容
下图展示了各部分的归属。此软件包会安装核心组件,也就是在每台主机上运行并协调你的 Agent 的部分。Scout 应用、你自己的客户端和托管服务都是可选的。它们通过相同的已发布软件包和 API 连接到核心组件。
Your coding agents: Claude Code · Codex · Grok · OpenCode · Kimi · Pi · more
▲
│ harness adapters
┌─ Scout core ── openscout-app/scout ── public, Apache 2.0 ──────────────────┐
│ │
│ scout CLI, TUI and MCP server @openscout/scout │
│ Runtime: routing, records, lifecycle, mesh @openscout/runtime │
│ Protocol: identities, messages, flights @openscout/protocol │
│ Harness adapters, session extraction @openscout/agent-sessions │
│ Host side of phone pairing bundled in the CLI │
│ scoutd, repository service, Rust TUI crates/ │
│ │
└────────────────────────────────────────────────────────────────────────────┘
released packages · runtime API · CLI JSON · MCP
▲ ▲ ▲
┌─ Scout apps ──┴────────┐ ┌─ Your client ──┴─────┐ ┌─ Hosted services ──┴─┐
│ Mac, iOS, Android │ │ Same APIs as │ │ Accounts, relay │
│ and web │ │ the apps │ │ and push │
└────────────────────────┘ └──────────────────────┘ └──────────────────────┘
@openscout/scout 会安装:
scout命令和openscout-runtime启动器;- 捆绑的运行时、框架适配器、会话提取功能,以及手机配对的主机端组件;
- JSON 输出和 stdio MCP 服务端;
- 在 Apple 芯片 macOS 上运行的
scoutd服务监督程序。
由 scout tui 启动的 Rust TUI 属于核心组件。通过 npm install -g @openscout/scout 不会安装其原生二进制文件。scout tui 会使用本地副本,或在首次使用时下载此版本对应的发行版二进制文件。
该软件包不包含 Web 应用。只有在单独的应用提供 Web 客户端时,scout server 和 scout web 才会提供该客户端。若没有该客户端,它们会说明 Web 应用的获取方式。scout web install 会为此主机下载 Web 应用;首先通过浏览器使用 scout auth login 登录。源码边界
说明了所有权规则,而仓库 README
介绍了如何构建自己的客户端。
CLI 一览
| 目标 | 命令 |
|---|---|
| 设置并验证 | scout setup、scout doctor、scout config |
| 了解当前状态 | scout status、scout whoami、scout who、scout runtimes、scout inbox |
| 请求工作或发送更新 | scout ask、scout tell、scout broadcast、scout operator |
| 跟进请求 | scout status <handle>、scout wait <ref>、scout flight |
| 跟进活动 | scout latest、scout check、scout watch、scout tail、scout label |
| 搜索并检查过往工作 | scout search、scout diff、scout session |
| 管理本地 Agent | scout up、scout down、scout ps、scout restart |
| 连接主机、手机和工具 | scout mesh、scout hosts、scout pair、scout mcp |
| 打开终端界面 | scout tui |
| 使用独立应用 | scout menu、scout server open、scout web、scout auth |
scout who 会列出已知 Agent,但不能证明它们正在执行工作。scout search
用于查找过往的 harness 会话;请参阅会话搜索。
scout mesh guests 可授予和撤销针对所选 Agent、绑定密钥的访客访问权限;
请参阅直接访客访问。旧版
scout monitor 控制台已停用;请使用 scout tui。
scout --help 是简明的入门指南。scout help --detail 会列出所有
命令,scout <command> --help 会显示相应标志和示例。
设置与就绪状态
scout setup 会保存本地身份和工作区根目录,并发现由项目支持的
Agent。安装介绍了各平台上会启动哪些内容。在交互式终端中,
它会提示输入工作区根目录。通过脚本执行设置时,可以提供输入:
scout config set name "Ada"
scout setup --source-root ~/dev --default-harness codex
--source-root 可重复指定。Setup 和 doctor 检查核心组件,而非应用健康状况。
scout doctor 会报告就绪状态和下一条实用命令。FAIL 表示检测到异常;
? 表示检查结果不确定。使用 --detail 查看完整清单,使用 --json 输出
NDJSON 流。若原生守护进程支持,scout doctor --fix
会请求其执行保守修复。只有在需要重写底层主机和端口配置时,才使用
scout init。
对 setup、up、app、install 和 doctor 使用
--help 时,只会打印帮助信息,不会执行检查、启动或更改任何内容。
核心就绪状态规范定义了 JSON 输出。
兼容你已经在使用的工具
Scout 的运行时目录包含 Claude Code、Codex、Cursor CLI、OpenCode、
Kimi Code、Grok、Pi 和 Devin。选择具体模型之前,运行 scout runtimes --json
即可查看已就绪的 harness 及其当前模型 ID。目录条目必须具备已安装的 harness、
身份验证和提供商访问权限,才能运行。Kimi Code、Cursor 和 Pi 使用各自
harness 配置中的模型。
运行时目录中的模型系列
| 运行时 | 模型系列 |
|---|---|
| Claude Code | Claude Opus、Fable、Sonnet 和 Haiku |
| Codex | GPT,包括 Astra、Sol、Terra 和 Luna 变体 |
| Grok | Grok |
| OpenCode | GLM、Kimi、Qwen、MiniMax、DeepSeek、Grok、Nemotron 和 Laguna |
| Devin | SWE |
将 Scout 连接到你的 Agent 主机:
Hermes Agent 通过其插件作为 Agent 主机连接。它不是一个
--harness 值。集成指南
列出了所有软件包和设置路径。
支持
如需商业支持或了解我们的套餐,请 联系我们。请在 GitHub issues 中报告错误并申请功能。
深入了解
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。