CLI 命令参考
openprogram 全部子命令的速查表。每条命令都可以用 openprogram <command> -h 查看自己的帮助;子命令的动词再套一层,如 openprogram logs tail -h。
侧栏的 CLI 命令 分区里每条命令有一页生成文档——完整参数表,
每次构建文档站时从参数解析器重新生成,永不与代码脱节。本页是人工整理的总览。
全局用法
openprogram # 打开终端聊天 UI(TUI)
openprogram --print "..." # 一次性 prompt:发送、打印回复、退出
openprogram --resume <id> # 恢复此前的 CLI 聊天会话
openprogram --profile <name> # 状态目录 profile,改道到 ~/.openprogram-<name>/
| 选项 |
作用 |
--print PROMPT |
一次性 prompt,打印回复后退出 |
--profile PROFILE |
状态目录 profile,等价于环境变量 OPENPROGRAM_PROFILE |
--resume SESSION_ID |
恢复会话;id 用 openprogram sessions list 或 Web UI 侧栏查 |
--no-alt-screen |
使用行内 TUI 并保留终端滚屏 |
--screen-reader |
使用不启用鼠标追踪的行内无障碍模式 |
聊天与运行
| 命令 |
作用 |
关键参数 |
openprogram |
打开聊天;裸跑会先问开终端 UI 还是 Web UI,没有 worker 时自动拉起 |
— |
openprogram tui(别名 chat) |
在 Windows、macOS 或 Linux 直接启动 Ink 终端 UI;无法提供 raw input 的终端回退到 Rich |
--print、--resume、--no-alt-screen、--screen-reader 在动词后同样可用 |
openprogram web |
启动服务并打开浏览器 UI(http://localhost:18100) |
--web-port(仅本次运行;默认:已存偏好,否则 18100)、--no-browser |
后台服务
| 命令 |
作用 |
status |
后台服务是否在跑(PID、端口、运行时长) |
stop |
停止后台服务 |
restart |
重启(改了代码 / 配置之后用) |
worker 子命令提供更细的控制:
| 命令 |
作用 |
worker run |
前台运行 worker(阻塞),调试用,Ctrl-C 停止 |
worker start |
后台启动一个 worker 并返回 |
worker stop |
停止(SIGTERM,必要时升级为 SIGKILL) |
worker restart |
停掉再起一个新的 |
worker status |
是否在跑、PID、端口、运行时长 |
worker install |
安装为系统服务(macOS launchd / Linux systemd --user),随登录启动、崩溃重启 |
worker uninstall |
移除系统服务 |
安装与配置
| 命令 |
作用 |
关键参数 / 动词 |
setup |
首次运行的设置向导 |
menu 打开交互选择器;给一个分区名直达(model / tools / agent / skills / ui / memory / profile / search / tts / channels / backend) |
config |
查看 / 修改设置 |
list(全部设置:值、分组、生效方式)、get <key>、set <key> <value> |
ports |
查看 / 持久化 Web UI 的单端口 |
--port PORT(默认 18100) |
completion |
输出 shell 补全脚本 |
bash / zsh / powershell / pwsh |
providers —— LLM provider 与凭据
secrets 是 providers 的别名。
| 动词 |
作用 |
login <provider> |
登录一个 provider;--api-key / --api-key-stdin 非交互提供 key,--account 指定账号,--method 强制指定登录方式 |
logout |
移除一个 provider 的凭据 |
list |
按账号列出凭据池 |
available(别名 search、catalog) |
列出全部可配置的 provider,可加 QUERY 过滤 |
status |
检查一个 provider 当前的凭据 |
use |
设置一个 provider 使用哪个账号 |
discover / adopt |
扫描外部来源的凭据 / 收编进凭据库 |
doctor |
诊断凭据(过期、刷新、冷却、冲突) |
setup |
交互式首次配置 |
aliases |
列出 provider 短名别名 |
accounts |
账号管理(list / create / delete) |
migrate |
把存储的凭据迁移到当前格式 |
不带动词的 openprogram providers 打印当前全部凭据的状态表。
mcp —— MCP server
| 动词 |
作用 |
token create |
创建并打印本地 stdio MCP server 的认证 token |
serve |
通过本地 stdio 提供认证后的 MCP server |
list |
列出全部已配置的 MCP server 及状态 |
show |
显示一个 server 的工具与完整 schema |
add |
添加 stdio 命令型 server,写入 mcp_servers.json 并立即启动 |
rm |
移除(停止 + 删配置) |
restart / enable / disable |
重启 / 启用并启动 / 停止并标记禁用(保留配置) |
edit |
兼容入口:报告直接编辑配置已移除;请用 add / rm 或 MCP 设置页 |
test |
临时启动一个配置,验证能起来并返回工具列表,不落盘 |
token create 把原始 token 打印为一行,但不会设置
OPENPROGRAM_MCP_TOKEN。只运行一次,复制打印出的那一行,在 serve 前设置变量:
openprogram mcp token create
export OPENPROGRAM_MCP_TOKEN="<把上一步打印的 token 粘贴到这里>"
openprogram mcp serve
如果 token 已经存在,请使用此前保存的 token。serve 要求
OPENPROGRAM_MCP_TOKEN 与已保存的 token 完全匹配。
browser —— 浏览器工具
| 动词 |
作用 |
install |
开发者用于增加或替换 Browser backend(patchright/camoufox/agent-browser)的命令。release 安装已包含默认 Playwright Chromium backend。 |
status |
显示安装情况、sidecar Chrome 是否在跑、保存的登录数 |
refresh |
重新把真实 Chrome profile 拷到 sidecar(在主 Chrome 登录新站点后用) |
reset |
完全重置:杀 sidecar、清 profile + 登录态 + 端口文件 |
list / rm |
列出 / 删除 ~/.openprogram/browser-states/ 下保存的登录 |
内容管理
agents
| 动词 |
作用 |
list / show / add / rm |
列出 / 查看 / 创建 / 删除 agent(删除会连带其全部会话) |
set-default |
设为默认 agent |
sessions
| 动词 |
作用 |
list |
列出所有 agent 的全部会话 |
resume |
回答一个等待中的会话 |
attach / detach |
把频道用户的消息路由进某会话 / 取消别名(--channel、--peer 必填;--account、--peer-kind 可选) |
aliases |
列出全部会话与频道用户的别名 |
subagent
| 动词 |
作用 |
spawn |
在某会话里生成一个新分支的 agent:--session 和 --prompt 必填;--parent-msg 指定分叉节点,--label 命名分支,--agent 选 agent profile(默认 main),--context inherit|clean(或 --clean),--no-json 打印人类可读摘要 |
merge |
把多个 subagent 会话合并进目标会话形成新 turn:--target 与可重复的 --branch SID 必填;--message 是合并指令,--agent 选合并 agent,--base N 把某个分支标记为合并基底,--no-json 打印人类可读摘要 |
programs
| 动词 |
作用 |
run <name> |
运行一个 program;--arg key=value(可重复)、--provider、--model |
list |
列出保存的 program |
available |
列出可安装的 program 与已装的第三方 harness |
install / uninstall |
开发者使用的第一方源码 overlay(gui/research/wiki/all),或安装/卸载额外第三方 harness(git URL / owner/repo);受支持的 release 已包含全部第一方 Program,并拒绝修改 immutable runtime |
skills
| 动词 |
作用 |
list |
列出发现的技能 |
search / install |
在发现源(默认 ClawHub)搜索 / 安装技能 |
update |
重拉过期技能(比对 SKILL.md 哈希) |
remove |
删除已装技能 |
doctor |
扫描技能目录的问题 |
plugins
| 动词 |
作用 |
list / search |
列出已装插件 / 搜索 marketplace |
install / uninstall / update |
从 pip / npm / git / 路径安装、卸载、升级 |
enable / disable |
启用 / 禁用 |
channels —— 聊天频道机器人
| 动词 |
作用 |
list |
各平台的启用与配置状态 |
setup |
交互向导:选频道、登录(扫码 / token)、绑定 agent |
accounts |
管理频道机器人账号(WeChat、Telegram 等) |
bindings |
把入站频道消息路由到 agent |
access |
谁能进到 agent:list、approve <code>、allow <user_id>、revoke <user_id>。未知发信人走默认 pairing 流程;owner 可以用 allow <user_id> 将已知的平台 user ID 直接加入 allowlist(见聊天渠道) |
memory —— 持久记忆
每个实例只有一份工作区,所有agent、所有对话(含聊天渠道)共用。
| 动词 |
作用 |
status |
显示 workspace 内容、revision、writer 健康状态和 pending turns |
recall QUERY... |
搜索记忆并打印匹配段落 |
show PATH / edit PATH |
打印 / 用 $EDITOR 编辑一个记忆文件 |
sleep |
立即整理 topic 文件;--model MODEL 指定整理模型 |
backfill |
写入没有被 Topic 引用的可信 source 记录;--model MODEL 指定写入模型 |
export |
把整个记忆目录 tar+gzip 打包;--out PATH 指定输出文件(默认 ./openprogram-memory-<date>.tar.gz) |
维护
| 命令 |
作用 |
关键参数 / 动词 |
doctor |
端到端健康检查 |
--json 输出 JSON |
rescue |
诊断问题并直接打印修复命令 |
— |
diagnostics |
生成脱敏支持包 zip(版本、配置、日志、探测),可直接附在故障报告里,见诊断包 |
--output PATH(默认 ./openprogram-diagnostics-<日期>.zip) |
logs |
查看日志 |
list;tail [name](-n 行数、-f 跟踪);path [name]。name 为 worker / runtime / ink,默认 worker |
update |
检查并应用更新 |
--check 只检查;--force 绕过 6 小时节流 |
scheduler-worker(兼容别名 cron-worker) |
前台循环,触发一次性、周期和监控 Scheduler 任务;daemon 的普通 tick 失败会把 warning 和 traceback 写入 stderr,并在下一分钟边界继续,不重放失败的初始 @reboot tick(常驻 worker 重定向后的 stderr 进入其 worker 日志) |
--once 只评估一个 tick,失败原样传播后退出;--list 显示当前任务匹配状态 |
Last updated · 2026-10-10