跳转到内容

安装 Daemon

daemon 是每台跑 Agent 的电脑上的常驻进程,作用类似 Multica 的 multica daemon。它会:

  • 接收 Claude Code / Codex 每轮结束时的汇报,以及 Multica 任务的汇报
  • 用你配的大模型写简报,加密后交给 server
  • 收到你的回复后,在原会话里接着运行 Agent,或者把回复发到 Multica
  • 主动连接 server,电脑上不用开任何入站端口

需要 Node ≥ 22.18 和 pnpm 9。

  1. 下载并安装依赖:

    终端窗口
    git clone https://github.com/outbriefapp/outbrief
    cd outbrief/daemon
    pnpm install
  2. 登录(创建账号或加入已有账号):

    终端窗口
    node src/cli.ts login --server <服务地址>

    server 还没有主人时,会提示你输入认领码,然后创建账号,并显示二维码给其他设备扫。已经有账号的话,在提示符处粘贴配对码或配对链接即可。详见 配对设备。

  3. 让它常驻后台,并接上 Agent:

    终端窗口
    node src/cli.ts install

    这条命令会写入 launchd 配置,登录时自动启动、退出后自动拉起,同时写入 Claude Code 和 Codex 的 Stop hook。日志在 ~/.outbrief/logs/。

想在任意目录直接用 outbrief-daemon 命令,可以执行一次 pnpm link --global。下文的 outbrief-daemon 等同于 node src/cli.ts。

  • Claude Code / Codex:每轮 Agent 结束时,hook 把最后一条回复交给 daemon。Codex 只上报能用 codex resume 打开的会话,后台生成标题这类内部轮次会被跳过。
  • Multica:在 App 的「设置 → Multica」里接上工作区后,任务完成就会来电,见 Multica 与呼叫 Agent。
  • 在 Multica 任务里运行的 Claude Code / Codex 不会通过 hook 重复上报。

hook 最多等 5 秒,daemon 收下汇报就返回。daemon 没在运行时,这条汇报会被丢弃。hook 的任何失败都不会影响 Agent 本身。

每一条进到 daemon 的汇报都会真的打电话。只想检查配置时,用 dry-run:

终端窗口
# 只打印 hook 解析出的汇报,不发给 daemon
echo '{"session_id":"s1","cwd":"/tmp/demo","last_assistant_message":"登录模块重构完成。"}' \
| node src/cli.ts hook claude-code --dry-run
# daemon 只校验并原样返回,不会来电
curl -X POST "http://127.0.0.1:8790/report?dryRun=1" -H "Content-Type: application/json" \
-d '{"source":"generic","title":"demo","content":"登录模块重构完成,42 个测试通过。"}'
命令 作用
outbrief-daemon login 创建账号,或者用配对码加入
outbrief-daemon pair 显示二维码和配对码,添加新设备
outbrief-daemon install / uninstall 写入或删除 Stop hook 和 launchd 常驻配置
outbrief-daemon run 在前台运行
outbrief-daemon brief-eval <文件…> 用当前大模型给汇报文件生成简报(不发出去),打印质量指标

所有配置都在 ~/.outbrief/daemon.json(权限 600)里,包括设备令牌、Multica 令牌、大模型、汇报语言和加密密钥。一般在 App 里改就行;手工改了以后要重启 daemon。

本机接口、简报生成过程和发件箱机制,见 Daemon 本机接口。