跳转至正文
ColliePWA

18/Documentation

命令

每个 collie 子命令、将 collie 添加到 PATH,以及在 Herdr 托管安装中对应这些子命令的 Herdr 操作

每个动词都使用格式 collie <verb>。这是所有安装中的规范语法,直接在二进制文件(cli/)中实现。将 collie 添加到 PATH(下方)之前,先在仓库根目录运行 bin/collie <verb>。在 Herdr 管理的安装中,这些相同的动词会注册为 Herdr 动作(下方),行为完全一致。

如果主机运行多个实例,请在每个动词前加上 COLLIE_INSTANCE=<name>。参见 单台主机上运行多个 Collie 实例。

动词命令作用
启动collie start按需构建、提供服务并输出 URL
停止collie stop暂停桥接;不删除任何内容
重启collie restart停止,然后启动
状态collie statusCollie 正在运行 横幅与 URL
URLcollie url输出 tailnet URL
二维码collie qr将同一 URL 显示为可扫描的二维码
版本collie version当前运行的版本(0.x.y+sha)
Skillcollie skillCollie 面向 agent 的简报,供终端中运行的 AI 编程 agent 参考(亦见 collie --skill)。collie skill install、uninstall、sync、status 和 print 管理 agent 指令文件中的 walky talky skill;collie update 在每次更新(安装 skill)后运行 sync
文档collie docs · collie docs <name> · collie docs --all这些页面直接由二进制文件本身输出
更新collie update准备当前大版本的最新发布版本、切换至该版本、重启并验证(--check 执行预检,--status 输出报告,--major 跨大版本升级)
回滚collie update --rollback恢复上一版本(在 Herdr 管理的代码库中不可用,因其未暂存旧版本)
卸载collie uninstall删除服务;保留 .env 和安装内容
配对collie pair · collie pair --expires <duration>输出一个 8 位代码和一个二维码,有效期 10 分钟;扫描二维码打开 Settings → System → Paired devices 并自动填入代码,或手动输入代码以将其 已配对。若不带 --expires,token 永不过期,命令也会提示这一点;若带该参数(12h、30d、2w),命令会输出 token 申领后失效的日期。脚本使用自己的标签申领代码(例如 script),并配对一次(为设备设置过期时间)
设备collie devices list · collie devices revoke <label> · collie devices set-expiry <label> <duration> · collie devices clear-expiry <label>列出/撤销已配对设备,或修改设备的 过期。list 显示各设备的过期状态为 no expiry、expires <date> 或 EXPIRED <date>。set-expiry 从当前起计算新的有效期;clear-expiry 将其移除。标签必须精确匹配,或者在仅有一台设备符合时忽略大小写匹配
链接collie link · collie unlink将 collie 添加到 PATH (下方)
日志collie logs实时查看服务日志 (tail)
配置collie config show · collie config check · collie config init输出各项配置及其来源、校验配置文件,或写入带注释的 config.toml(配置文件)
持久 agentcollie durable attach <name> --socket <path> · collie durable attach <name> --url <url> --token-env <VAR> · collie durable detach <name> · collie durable list向 sources.json 添加 durable agent、将其删除,或列出每个 durable agent 及其在运行中 bridge 里的状态。attach 和 detach 会在下次重启时生效,或者加上 --restart 立即生效。选项、输出和退出码:持久 agent
Walky talkycollie walky who · collie walky send <address> <text> · collie walky reply <id> <text> · collie walky inbox · collie walky status <id>从终端向 agent 会话发送消息,或在 agent 之间发送消息(Walky talky)
语音collie stt setup · stt test · stt status · stt off配置 / 检查 / 禁用 语音输入
推送密钥collie push-keys将 VAPID 密钥对生成到 .env
推送测试collie push-test发送一条通知以验证其正常工作

CLI 还包含 build、serve、unserve、doctor 和 crew …,用于执行低频任务。

start 和 status 都会输出 Collie 正在运行 横幅:一个健康标记和版本号,接着是一行 service、一行 local 和一行 tailnet。首次运行 完整展示了该内容,包括健康检查失败时打印的替代内容。报告的版本读取自所提供 bundle 的时间戳,反映了当前处于活动状态的构建。

Ink 或纯文本。 当 stdout 为 TTY 时,start、status、doctor、crew add 和 crew status 命令会渲染交互式终端 UI。传入 --plain,或将输出重定向到管道、文件、systemd journal 或 CI runner 时,会回退到原始单行文本输出。

collie doctor 说明了它读取的状态。 它的第一行标明了实例名称(default 或 COLLIE_INSTANCE 中的名称)以及它读取的状态目录。如果您在单台机器上运行两个 lane,请在采信其余内容前检查该行,因为具有错误 COLLIE_INSTANCE 的 shell 会读取错误的 lane。--json 在 collie 条目上提供了与 instance 和 stateDir 相同的两个值。

collie doctor 列出您的 agent 程序。 Collie 拥有输入 profile 的每个程序都会获得一行 harness-<name>:Collie 会在您登录 shell 的 PATH 上运行的文件、它输出的版本以及 profile 对该版本的判定。高于已验证范围的版本仅作为注释提示,因为轮次中的发送仍然可信。当文件能解析但无法读取其版本时(例如位于 PATH 首位但依赖 $HOME 的包装器,或是损坏的安装),该行会发出警告:在成功读取版本之前,Collie 会将发送给该程序的每次操作都视为临时操作。未安装的程序显示 not installed。在 --json 中,每行还带有 harness、binary、version 和 profileStatus。

该行指明了您 PATH 上的副本,因为 collie doctor 没有可查看的窗格。Herdr 上的发送会查询在其窗格中运行的程序,因此运行另一个副本(通过其完整路径启动或安装在项目中)的窗格会在其回执上显示该副本的版本。

将 collie 添加到 PATH

运行 collie link 以发布 ~/.local/bin/collie:

bin/collie link          # ~/.local/bin/collie → <checkout>/bin/collie
collie status            # from anywhere
bin/collie unlink        # take the name back down

它会创建一个 指向签出目录二进制文件的符号链接,因此后续的 collie build 更新无需额外操作即可立即生效 (ADR 0021)。该命令会替换来自其他 Collie 签出目录的现有链接,并输出被覆盖的链接。若该路径存在非 Collie 文件,它将拒绝覆盖。仅当符号链接指向 你的 当前签出目录时,unlink 才会将其删除。

如果 PATH 中缺少 ~/.local/bin,link 会发出警告并退出。它从不修改 shell 配置文件。运行 collie doctor 检查 path-link 这一行,查看独立的 collie 命令解析到哪个签出目录。

Herdr 操作

仅适用于由 Herdr 管理的安装 使用 herdr plugin install AltanS/collie 或 herdr plugin link 创建。Herdr 是 Collie 支持的五种多路复用器之一。这些操作直接映射到适配器:每个操作都会将动词转发到上表中记录的同一个 collie 二进制文件。在通过 scripts/install.sh 创建的二进制安装中,插件操作不存在,collie <verb> 是唯一的语法。

Collie 会在 herdr-plugin.toml 中注册这些操作。使用 herdr plugin action invoke <id> --plugin herdr.collie 调用它们,或使用 herdr plugin action list --plugin herdr.collie 查看它们:

<id>等效谓词作用
startcollie start按需构建,启动服务,tailscale serve,打印 URL + 横幅
stopcollie stop暂停桥接;不删除任何内容
restartcollie restartstop + start
statuscollie statusCollie 正在运行 横幅:就绪状态 ✓/⚠、版本、URL
urlcollie url输出 tailnet URL
versioncollie version输出运行中的版本(0.x.y+sha)
updatecollie update更新检出分支(pull,或者 fetch 并重新分离 HEAD)+ 重新构建 + 重启
uninstallcollie uninstall销毁服务(保留 .env + 检出目录)
push-keyscollie push-keys将 VAPID 密钥对写入服务读取的 .env
push-testcollie push-test向每个已订阅的设备推送一条通知

qr、pair、devices、link、logs、stt 和 config 没有对应的插件操作,因为它们需要终端、位置参数,或两者都需要。请将它们作为 collie <verb> 运行。

Herdr action 返回 Herdr 的 JSON 封包,而不是终端横幅。 使用 herdr plugin log list --plugin herdr.collie 查看 action 捕获的 stdout,或直接运行 collie <verb> 将输出打印在行内。herdr plugin list --json 的输出反映的是在 plugin link 期间缓存的版本,而不是当前活跃版本。对于已关联的克隆副本,update 会自动重新关联以修复缓存。你可以使用 herdr plugin link "$(pwd)" 强制执行此操作。Herdr ≥0.8.0 会在每次调用时重新从磁盘读取清单。

注意。 scripts/collie-ctl.sh <verb> 仍然受支持。它充当引导 shim:定位 Bun,如果检出目录中缺少 bin/collie 则进行编译,并传递 argv。全新链接的克隆使用此路径构建其初始二进制文件。Herdr 操作继续指向此脚本,因为 Herdr <0.8.0 会冻结安装时缓存的操作定义(ADR 0006)。每个动词在 cli/ 的已编译二进制文件中只实现一次。

在 GitHub 上编辑本页

The rest of the documentation