Thanks to visit codestin.com
Credit goes to docs.qoder.cn

Skip to main content
命令行工具

命令行工具(CLI)

qoderwake 命令行工具完整参考:守护进程、认证、配置与存储、Waker、项目、MCP、Skill、权限、IM 通道、会话、群会话、SOP、消息/Run/Trace、自动化、记忆、Teams、插件等全部命令与参数。

这是什么

qoderwake 是 QoderWake 的本地命令行工具 + 常驻守护进程(daemon)。它在本机拉起一个 daemon,管理数字员工(Waker)、项目、会话、IM 通道、定时任务、记忆等,并提供一个本地 Web 控制台(Console)。CLI 本身是 daemon 的瘦客户端:绝大多数命令都是把请求转发给本地 daemon 的 HTTP 接口。 基本形态
qoderwake [options] [command]
全局选项说明
-v, --version打印版本
-h, --help打印帮助;对任意子命令追加 --help 查看该命令用法

快速上手

首次使用先安装 CLI。macOS / Linux 使用命令行一键安装:
curl -fsSL https://qoder-ide.oss-ap-southeast-1.aliyuncs.com/qoderwake/install.sh | bash
macOS 安装包与 Windows 安装程序请从 QoderWake 官网 下载,完整安装说明见快速开始。若提示找不到 qoderwake,重新打开终端,或使用完整路径 ~/.qoderwake/bin/qoderwake 安装完成后:
# 1) 查看版本与平台
qoderwake version            # => qoderwake 1.0.3 (darwin/arm64)

# 2) 登录(默认浏览器登录)
qoderwake login              # --method browser|token|file
qoderwake whoami             # 查看当前登录用户

# 3) 启动 daemon(后台常驻)
qoderwake start              # 默认监听 127.0.0.1:19820
qoderwake status             # 查看 daemon / 设备 / 会话 / 定时任务状态

# 4) 打开本地控制台
qoderwake portal             # 在默认浏览器打开 Console
qoderwake portal --print-url # 仅打印 URL

# 5) 停止 / 重启
qoderwake restart
qoderwake stop
提示:status 返回的是结构化 JSON,包含 device(设备在线状态)、sessions(会话总数/运行中)、agents(本地 Waker 数)、tasks(内部 cron 任务健康度)。

核心概念模型

理解这几个对象及其层级关系,是用好 CLI 的前提。
User(当前登录用户)
 └─ Waker(数字员工, id: ag_...)        ← 旧称 worker/agent,仍保留 --worker-id 别名
     ├─ Project(项目:代码仓/工作区绑定)  ← 另有“公共项目” public project,不属于任何 Waker
     │   └─ Session(一次运行, id: sess_)  → artifacts / trace
     ├─ MCP Server(外部工具接入)
     ├─ Skill(能力包,git 版本化)
     ├─ Memory(agent 作用域长期记忆)
     └─ Permission(工具/文件/内置工具/模型安全 四段式守护)

Conversation(会话内核, convId + kind)  → Messages → Runs → Attachments
 ├─ Group(群会话容器)→ Group Conversation → Thread
 └─ Channel(IM 通道,单会话受限形态)→ Pairing(外部 IM 身份配对)

Automation(定时/拉取触发, id: tr_)→ Run(rn_)→ Trace(task 生命周期观测)

Team(项目内临时团队)→ Mission(任务生命周期)→ RoleRun(成员执行记录)

SOP(协作规程):profile(目录身份)→ release(不可变版本)→ template(可编辑白盒 JSON)
逐个说明
  • Waker(数字员工):核心实体,id 前缀 ag_。历史上叫 worker / agent,命令 workerwaker 的隐藏别名,--worker-id--agent-id--waker-id 的兼容别名。一个 Waker 拥有自己的项目、MCP、Skill、记忆和权限。
  • Project(项目):代码仓库或工作区绑定。分两类:Waker 私有项目(需 --waker-id)与 公共项目--public,不属于任何 Waker)。project onboard 会克隆/软链仓库并做初始化分析,为项目记忆打底。
  • Session(会话/运行):一个 Waker 的单次运行单元,id 前缀 sess_。隔离维度 = Waker + 工作区 + sessionId。产出 artifacts、文件变更、事件流。
  • Conversation(会话内核, convId):新一代统一通信/执行节点,由 conversation_id + kinddefault / group_conversation / group_thread)标识。承载消息、投递、Run、附件。messagesruns 命令都作用于此。
  • Group(群会话):容纳多个群会话的容器,可从某条消息派生 Thread。channel 是群的“单会话受限”形态。
  • Run / Task:Run 是会话的一次执行帧(runs list/cancel);Task 是被 Trace 跟踪的生命周期工作单元。
  • Trace(任务链路):把 trace_id → agent_id / session_id / task_id / run_id 串起来,并计算排队/派发/执行/总耗时,是跨对象的可观测性连接点。
  • Automation(自动化):定时(cron)或一次性(时间戳)触发的任务,id 前缀 tr_;旧命令名为 trigger。一次执行是一个 rn_ run。
  • Channel(IM 通道):钉钉/飞书/微信等入站 IM 绑定。Pairing 是通道-用户配对握手,带审批流。
  • SOP(标准作业规程)skill_kind=sop 的协作技能,三层结构——profile(稳定目录身份)、release(不可变、带版本与摘要)、template(可编辑白盒 qoder-sop-template/v1 JSON)。可按顺序绑定到群。
  • Skill / MCP / Plugin / Extension:Skill 是 Waker 能力包(git 版本化,可 diff/rollback);MCP 是每个 Waker 的外部工具服务器;Plugin 是本地进程内的触发器/事件源插件;Extension 是本地 qodercli 扩展运行时清单(只读)。
  • Memory(记忆):两种作用域——agent(按 Waker 的长期记忆)与 project(需 --project-id)。支持预览(dream)、快照、diff、回滚、导入导出。
  • Teams / Mission / RoleRun:Team 是项目内临时成员集合;Mission 是权威的任务生命周期实体;RoleRun 是成员在某个已提交计划版本下的执行记录。teams diagnose 生成只读诊断。

全局约定与通用参数

多数命令共享一组通用参数,理解一次即可全局复用:
参数含义
--waker-id <id>指定数字员工。省略时对多数命令为必填;--worker-id / --agent-id 是其兼容别名
--format <table|json>输出格式,默认 table;部分命令只支持 json/text/markdown
--json直接输出原始 JSON,等价于 --format json,适合脚本解析
--file <path> / --json-file <path>从文件读取长文本或 JSON 入参,避免 shell 转义
--dry-run / 无 -y, --yes写操作先给预览/diff,加确认标记后才真正落盘
--project-id <id>项目作用域操作时指定项目
约定:
  • 所有命令都支持 -h, --help,本手册的参数即来自各命令的 --help
  • 破坏性/写操作(模板 update/rollback/delete、memory rollback/import 等)默认只预览,必须显式加 -y/--yes/--apply 才执行。
  • CLI 只是 daemon 的瘦客户端,运行绝大多数命令前需先 qoderwake start 拉起 daemon。

守护进程管理

start — 启动 daemon

qoderwake start [options]
选项说明
--host <host>监听地址。默认仅本地回环;指定为对外地址会触发外网暴露确认
--port <port>监听端口或 auto,默认 19820(CN region 默认 19830)
--foreground前台运行(不 detach),便于观察日志
--open启动后自动打开浏览器 Console
--no-keepalive启动 detached daemon 但不注册操作系统级 keepalive 服务
--mock使用内嵌 mock 网关,无需登录(仅限 --foreground),用于本地体验/调试
-y, --yes非交互确认外网暴露

stop / restart

qoderwake stop [--force] [--no-keepalive]      # --force 用 SIGKILL 强杀
qoderwake restart [--host ...] [--port ...] [--foreground] [--no-keepalive] [--force] [-y]
restart 参数与 start 基本一致;--force 用于确认「替换后的实例只在本地可用」的场景。

status — 守护进程状态

qoderwake status
返回结构化 JSON,关键字段:device(设备在线状态)、sessions(会话总数 / 运行中)、agents(本地 Waker 数)、tasks(内部 cron 任务健康度)。

portal — 打开本地控制台

qoderwake portal              # 打开默认浏览器
qoderwake portal --no-open    # 只打印 URL,不启动浏览器
qoderwake portal --print-url  # 打开的同时把 URL 打到 stdout

认证与账号

login — 登录

qoderwake login [--method browser|token|file] [--token-file <path>]
选项说明
--method <method>登录方式:browser(默认,浏览器授权)、token(交互粘贴 PAT)、file(从文件读 PAT)
--token-file <path>--method file 时读取个人访问令牌(PAT)的文件路径
--qoder-cli-path / --qodercli-path遗留 no-op,浏览器登录已由 qoderwake 自身托管

logout / whoami

qoderwake logout    # 清除本地凭据
qoderwake whoami    # 打印当前登录用户:Name / Email / User ID / 登录方式

配置与存储

qoderwake 有三个相互独立的配置存:config(daemon 应用配置,config.json)、settings(用户偏好,settings.json)、permission(每个 Waker 的四段式权限,见 Permission(权限守护)章节)。

config — daemon 应用配置

qoderwake config list              # 列出全部配置
qoderwake config get <key>         # 读单项
qoderwake config set <key> <value> # 写单项
qoderwake config reset             # 恢复默认

settings — 用户偏好

qoderwake settings init [--storage sqlite|file] [--quiet]  # 初始化 settings.json
qoderwake settings get [key]                              # 读取(省略 key 读全部)
qoderwake settings set <key> <value>                      # 写入
settings init --storage 选择存储后端:sqlite(默认)或 file

storage — 存储后端迁移

qoderwake storage migrate --from <backend> --to <backend> [--switch]
选项说明
--from <backend>源后端:sqlitefile
--to <backend>目标后端:sqlitefile
--switch迁移成功后自动把 settings.storage.backend 切到目标后端
迁移是「拷贝」语义:不加 --switch 时只复制数据、不改当前后端。

backup — 升级前备份

qoderwake backup list                 # 列出升级前自动备份
qoderwake backup restore <backup-id>  # 恢复指定备份(daemon 必须先停)
恢复前务必 qoderwake stop,否则会因 daemon 占用存储而失败。

Waker(数字员工)

基础增删改查

qoderwake waker list [--json]                 # 列出本地 Waker
qoderwake waker get --waker-id <id>           # 查看单个
qoderwake waker create [options]              # 创建
qoderwake waker delete --waker-id <id>        # 删除
qoderwake waker export [options]              # 导出为 zip
create 关键选项--template-id / --template-json <path> / --template-zip <path>(三选一作模板来源)、--name--description--workspace <path>(省略则用 daemon 托管工作区)、--session-timeout <seconds> export 关键选项--out <path> 写到文件;--full 全量导出(含项目/触发器/记忆/连接器/权限);--include-secrets 含敏感 env 与 token;--include-runs 含触发器运行历史。--waker-id--full 同时省略可导出全部 Waker。

waker update — 按字段更新

qoderwake waker update <field> [value] --waker-id <id> [--file <path>] [--append]
可更新字段:namedescriptionavatarcoreCapabilitiesworkStylesdeliveryCommitmentsskillmcpidentitypersonabible
  • 列表/JSON 类字段(coreCapabilities/workStyles/deliveryCommitments/skill/mcp)支持 --append 追加而非覆盖。
  • 文本类字段(identity/persona/bible)同样支持 --append;可用 --file 从文件读入。
  • avatar--file 为图片文件路径。

waker template — 私有模板

把一个成型 Waker 固化为可复用、可版本化的私有模板:
qoderwake waker template list [--mine] [--lang en|zh]      # 预置模板或(--mine)自己的私有模板
qoderwake waker template save <wakerId> --name <name>      # 存为私有模板
qoderwake waker template show <templateId> [--version <n>] # 查看快照
qoderwake waker template versions <templateId>             # 列出版本
qoderwake waker template instantiate <templateId> --name <name>  # 从模板新建 Waker
qoderwake waker template update <templateId> --from <wakerId> -y # 从 Waker 回写模板
qoderwake waker template rollback <templateId> --version <n> -y  # 回滚到某版本
qoderwake waker template delete <templateId> -y                  # 删除
要点:
  • save 支持 --dry-run 预览快照/被剔除字段/配额,--idempotency-key 重试安全。
  • update / rollback / delete 默认只打印 diff/计划,加 -y, --yes 才真正写入。
  • list --mine 时才能用 --page / --page-size 分页。

项目(project)

项目分两类:Waker 私有项目(需 --waker-id)与 公共项目--public,不属于任何 Waker)。
qoderwake project list --waker-id <id> [--include-public] [--public]
qoderwake project create --waker-id <id> [options]
qoderwake project get --waker-id <id> --project-id <pid>
qoderwake project update --waker-id <id> --project-id <pid> [options]
qoderwake project delete --waker-id <id> --project-id <pid>
qoderwake project onboard --waker-id <id> --project-id <pid>
create / update 共享选项
选项说明
--public面向公共项目(不带 waker)
--name / --description项目名 / 描述
--path <path>文件系统源路径
--git-url <url>git 仓库 URL
--local-path <path>git 源的本地路径
--label <label>上下文源标签
--initializer-command <cmd>初始化 shell 命令
--initializer-timeout <s>初始化超时(秒)
  • list 可用 --include-public 把公共项目并入 Waker 项目列表,--include-public-scope used|all 控制只含已用还是全部。
  • onboard 会克隆/软链仓库并做初始化分析,为项目记忆打底。
  • 所有项目命令都兼容遗留的 --worker-id 别名。

MCP(外部工具接入)

每个 Waker 可挂载若干 MCP Server(stdio / http / sse 三种传输)。
qoderwake mcp list --waker-id <id>
qoderwake mcp get --waker-id <id> --mcp-id <mid>
qoderwake mcp add --waker-id <id> [options]      # 新增或导入 MCP JSON
qoderwake mcp update --waker-id <id> --mcp-id <mid> [options]
qoderwake mcp toggle --waker-id <id> --mcp-id <mid> --enabled true|false
qoderwake mcp delete --waker-id <id> --mcp-id <mid>
qoderwake mcp auth start --waker-id <id> --mcp-id <mid>   # 启动 OAuth 授权
qoderwake mcp refresh-tools --waker-id <id> --mcp-id <mid># 刷新工具清单
add / update 关键选项
选项说明
--json <json> / --json-file <path>直接导入 MCP JSON
--name / --description名称 / 描述
--command <cmd> / --args <a,b,c> / --env <json>stdio 传输:命令 / 逗号分隔参数 / JSON 环境变量
--http-url <url> / --transport stdio|http|sseHTTP/SSE 地址与传输类型
--headers <json> / --header KEY=VALUEHTTP/SSE 请求头(--header 可重复)
--oauth-client-metadata-url / --oauth-client-id / --oauth-client-secretOAuth 客户端元数据与凭据
--oauth-token-auth-method / --oauth-scope / --oauth-resource-metadata-urlOAuth token 端认证方式 / scope / 受保护资源元数据

Skill(能力包)

Skill 是 Waker 的能力包,git 版本化,可 diff / rollback。
qoderwake skill list --waker-id <id>
qoderwake skill add --waker-id <id> [--skill-id|--name|--install-url ...]
qoderwake skill upload <zipPath> --waker-id <id>       # 上传本地 zip
qoderwake skill versions --waker-id <id> --skill-id <sid>
qoderwake skill diff --waker-id <id> --skill-id <sid> [--from <v> --to <v>]
qoderwake skill rollback --waker-id <id> --skill-id <sid> --to <versionId>
qoderwake skill toggle --waker-id <id> --skill-id <sid> --enabled true|false
qoderwake skill delete --waker-id <id> --skill-id <sid>
qoderwake skill install --waker-id <id> --skill-id <sid>
qoderwake skill search --keyword <kw>                  # 搜市场,返回 SKILL_ID+DOWNLOAD_URL
qoderwake skill manage --waker-id <id> --action <a> ... # 受管理的细粒度变更
  • skill search 返回的 SKILL_ID + DOWNLOAD_URL 可直接喂给 skill add --install-url
  • skill manage--action 可为 create / patch / edit / write_file / remove_file,作用于单个 Waker 或会话(--waker-id--conversation-id 二选一),支持 --dry-run 校验。

Permission(权限守护)

每个 Waker 的权限由四个独立段组成:tool-guard(工具拦截)、file-guard(文件拦截)、builtin-tools(内置工具)、model-security(模型安全)。
qoderwake permission get --waker-id <id> [--json]
qoderwake permission update --waker-id <id> --json <json>|--json-file <path>  # 整体替换
qoderwake permission patch <section> --waker-id <id> --json <json>            # 单段更新
qoderwake permission builtin <catalog>                                        # 只读内置目录
patch 可选段tool-guard / file-guard / builtin-tools / model-security,均接受 --json--json-file builtin 只读目录
qoderwake permission builtin tool-guard-rules [--json]  # 内置工具拦截规则
qoderwake permission builtin tool-catalog [--json]      # 内置工具目录
建议先 permission get --json 导出现状,在此基础上修改后再用 patch <section> 只更新变动段,避免 update 整体覆盖造成其他段丢失。

IM 通道与配对(channel)

通道生命周期

qoderwake channel settings                    # 全局通道设置
qoderwake channel list [--waker-id <id>]      # 列出通道
qoderwake channel get <channel-id>
qoderwake channel config <channel-id> --json <json>|--json-file <path>
qoderwake channel start <channel-id>          # 启动 / 停止 / 重启 / 删除
qoderwake channel stop <channel-id>
qoderwake channel restart <channel-id>
qoderwake channel delete <channel-id>

钉钉通道注册(扫码)

qoderwake channel dingtalk qr-start            # 获取二维码与 device code
qoderwake channel dingtalk qr-poll --device-code <code>  # 轮询扫码结果

pairing — 通道-用户配对

外部 IM 身份与通道的配对握手,带审批流:
qoderwake channel pairing generate-code --channel-id <cid>   # 生成配对码
qoderwake channel pairing list --channel-id <cid>            # 列出配对记录
qoderwake channel pairing pending --channel-id <cid>         # 待审批
qoderwake channel pairing approve --channel-id <cid> --robot-id <rid> --binding-key <key>
qoderwake channel pairing ignore  --channel-id <cid> --robot-id <rid> --binding-key <key>
qoderwake channel pairing delete <pairing-id>

Extension(本地扩展运行时)

只读查看本地 qodercli 扩展运行时清单:
qoderwake extension list [--json]

会话(session)

Session 是 Waker 的单次运行单元(id 前缀 sess_),产出 artifacts、文件变更与事件流。
qoderwake session list --waker-id <id> [--status <s>]
qoderwake session detail --session-id <sid>
qoderwake session artifacts --session-id <sid> [--include-file-changes]
qoderwake session create --waker-id <id> [--title|--message|--cwd|--project-id ...]
qoderwake session send --session-id <sid> --message <msg>          # 发控制器事件
qoderwake session rename --session-id <sid> --title <t>
qoderwake session events --session-id <sid> [--after-sequence-num <n>] [--limit <n>]
qoderwake session stream --session-id <sid> [--from-sequence-num <n>]  # SSE 流
qoderwake session trajectory --session-id <sid> [--format markdown|json]
要点:
  • session create / send 可用 --events-json <json>--events-json-file <path> 传入控制器事件数组。
  • session artifacts--include-file-changes 可分页,配合 --file-changes-limit / --file-changes-cursor
  • session trajectory 生成去敏的轨迹,默认写入 sessions/redacted/<sessionId>.md--no-write-memory 可关,--force 覆盖,--out 指定输出文件);可用 --scope agent|project 写入对应作用域记忆。

群会话(group)

qoderwake group create --title <t> --waker <idOrName> [--sop <sel>] [--param k=v]
qoderwake group list
qoderwake group show <group>          # group = conv_id / 唯一前缀 / 唯一标题
qoderwake group rename <group> --title <t>
qoderwake group add-waker <group> --waker <idOrName>
qoderwake group task rename <conversation> --title <t>   # 按精确 conv id 重命名任务
  • --waker / --sop / --param 均可重复;--sop 可带 @version,按传入顺序绑定。

group sop — 群的有序 SOP 绑定

qoderwake group sop list <group>                       # 列出已绑定 SOP release
qoderwake group sop set <group> --sop <sel> [--param k=v]  # 原子替换有序绑定
qoderwake group sop clear <group>                      # 清空全部绑定

SOP 系统目录(sop)

SOP(标准作业规程)是 skill_kind=sop 的协作技能,三层结构:profile(稳定目录身份)→ release(不可变版本)→ template(可编辑白盒 JSON)。
qoderwake sop list                       # 列出活跃 profile 与不可变 release
qoderwake sop init <file> --skill-id <id> --version <v> --name <n>  # 创建可编辑模板 JSON
qoderwake sop validate <file>            # 校验模板 JSON
qoderwake sop build <file> [--output <dir>] [--set k=v]  # 渲染实际安装的 SKILL.md 与脚本
qoderwake sop publish --file <file>      # 幂等发布一个 template-backed release
  • sop build--set k=v 可重复,用于注入模板参数;输出的就是安装时实际生成的 skill 目录。

消息 / Run / Trace

messages — 会话消息

qoderwake messages list <convId> [--after-seq <n>] [--limit <n>] [--follow]
qoderwake messages send <convId> --text <t> [options]
qoderwake messages claim <convId> [--limit <n>] [--cursor <c>]   # 领取一页未读 Agent 消息
qoderwake messages read <convId> --claim <claimId> --message <mid>  # 标记已读
qoderwake messages attachment download <convId> <messageId> <attachmentId> [--out <path>]
send 关键选项
选项说明
--text <t>消息文本(除非用 --file
--mention <idOrName>唤醒会话成员(可重复)
--private-to <idOrName>仅对发送者+指定成员可见(可重复)
--reply-to <seqOrId>引用早先消息
--if-latest <seq>仅当这仍是你能看到的最新消息时才发送
--intent <intent>意图:chat / ask / notify / request_action
--image <path> / --file <path>附件(均可重复)
--model <model>唤醒 Waker 的模型覆盖
--wait / --timeout <secs>等待本消息触发的唤醒运行完成(默认 120s)
claim/read 是一对幂等读取机制:claim 拿一个稳定分页(返回 claimId),read 再精确标记该 claim 中 1..N 条为已读。

runs — 会话运行帧

qoderwake runs list <convId>            # 列出会话的运行
qoderwake runs cancel <runId>           # 请求取消一次运行

trace — 任务链路观测

qoderwake trace list [--source <s>] [--status <st>] [--session-id <sid>] [--since <iso>] [--limit <n>]
qoderwake trace show --trace-id <tid> [--format text|json]
  • --sourceconsole / cli / api / trigger / im / work / dingtalk / dingtalk-user / dingtalk-ai-assistance / unknown
  • --statusarrived / created / queued / dispatching / running / success / failed / cancelled / timeout
  • --limit 范围 1..1000,默认 50。

自动化(automation)

定时(cron)或一次性(时间戳)触发的任务(id 前缀 tr_,旧命令名 trigger);一次执行是一个 rn_ run。
qoderwake automation list --waker-id <id>
qoderwake automation detail --waker-id <id> --automation-id <aid> [--run-id <rid>]
qoderwake automation create schedule [options]
qoderwake automation update --waker-id <id> --automation-id <aid> [options]
qoderwake automation run-now --waker-id <id> --automation-id <aid>
qoderwake automation test-pull --waker-id <id> --automation-id <aid>
qoderwake automation delete --waker-id <id> --automation-id <aid>
qoderwake automation inspect run --run-id <rn_...> [--format table|json|timeline]
create schedule 关键选项
选项说明
--schedule-type <type>cron(周期性)或 one-time(单次 ISO 8601 时间戳)
--cron <expr>5 段 cron 表达式(--schedule-type=cron 时必填)
--cron-preset <preset>daily / weekly / monthly / custom(默认 custom)
--run-at <timestamp>ISO 8601 时间戳(one-time 时必填)
--timezone <tz>IANA 时区(默认本地或 Asia/Shanghai)
--prompt <p> / --prompt-file <path>任务 prompt(二选一)
--project-id <pid>可选本地项目绑定
--model <model>qodercli 模型(默认 auto)
--enabled <bool>是否启用(默认 true)
--idempotency-key <key>重试复用创建操作键
update 额外能改权限与拉取配置:--file-system read|read-write|none--network true|false--run-commands true|false--command-allow-list <a,b,c>(空串清空)、--pull-config-json/--pull-config-file--permissions-json/--permissions-file;调度字段可改 --schedule-type / --cron / --cron-preset(update 额外支持 hourly)/ --run-at / --timezone inspect run 用于诊断,可 --include-prompt 并用 --events-limit / --comments-limit / --outbox-limit(1-200)控制各表行数。

记忆(memory)

两种作用域:agent(按 Waker 的长期记忆,默认)与 project(需 --project-id)。所有子命令均支持 --scope agent|project--agent-id--waker-id 的弃用别名。
qoderwake memory show --waker-id <id> [--scope agent|project] [--view index|topics|sessions|all]
qoderwake memory dream --waker-id <id> [--mode preview|apply]     # 手动 dream 预览/应用
qoderwake memory lifecycle inspect --waker-id <id>               # 日度记忆生命周期摘要
qoderwake memory update --waker-id <id> --path <p> --old-text <t> --content <c> [--dry-run]
qoderwake memory remove --waker-id <id> --path <p> --old-text <t> [--dry-run]
qoderwake memory snapshot --waker-id <id> [--include-sessions]   # 手动快照
qoderwake memory versions --waker-id <id>                        # 列出快照
qoderwake memory diff --waker-id <id> --from <sid> --to <sid>
qoderwake memory rollback --waker-id <id> --snapshot-id <sid> --path <p> [--apply]
qoderwake memory export --waker-id <id> --out-path <p> [--include-sessions] [--include-versions]
qoderwake memory import --waker-id <id> --package-path <p> [--apply]
要点:
  • update / remove 是受护的文本范围操作,需 --old-text 精确匹配,可带 --expected-hash(来自 memory_search 的守卫哈希)与 --reason--dry-run 先预览。
  • rollback / import 默认只 dry-run,加 --apply 才写入(且会先建回滚/导入前快照)。
  • project 作用域可额外传 --project-name / --project-root 以定位上下文与 transcript。
  • show --view 可选 index / topics / sessions / alllong_term / daily 为兼容别名)。

Teams(团队运行时)

只读诊断 Teams / Mission 运行时数据:
qoderwake teams diagnose [--mission-id <mid>] [--correlation-id <cid>] [--role-run-id <rid>] [--command-id <cmid>] [--anchor-sequence <n>] [--format text|json]
  • 可按 Mission / 用户意图关联链 / RoleRun / ExecutorCommand 聚焦一条诊断链。

插件(plugin)

Plugin 是本地进程内加载的触发器/事件源插件。
qoderwake plugin list
qoderwake plugin info <name>
qoderwake plugin install <dir-or-zip> [--enable|--no-enable] [--replace]
qoderwake plugin enable <name> [--version <v>]
qoderwake plugin disable <name>
qoderwake plugin uninstall <name> [--version <v>]
qoderwake plugin reload <name>          # 热重载插件 events 能力
qoderwake plugin events [--json]        # daemon 事件目录 + 当前订阅插件

plugin scheduled-task — 声明式定时任务注册表

qoderwake plugin scheduled-task list [--plugin <name>]
qoderwake plugin scheduled-task register --plugin <name> --task-id <id> --cron <expr> [--payload <json>]
qoderwake plugin scheduled-task unregister --plugin <name> --task-id <id>

诊断与维护

qoderwake version                       # 版本与平台,如 qoderwake 1.0.3 (darwin/arm64)
qoderwake update [--check]              # 升级;--check 仅检查不安装
qoderwake log [traceId] [options]       # 查询/跟随日志
qoderwake feedback [--email <e>] [--message <m>] [--waker-id <id>]  # 上传本地日志作反馈
log 关键选项
选项说明
[traceId] / --trace-id <id>按 trace id 或 session id 搜索日志
--keyword <kw>按关键词搜索
--level <level>最低级别:debug / info / warn / error
--qodercli只看 qodercli 调试日志
--clean结构化日志只显示原始消息
--limit <n>限制行数(默认 200)
-f, --follow跟随输出新日志
排障推荐先用 qoderwake status 看 daemon 健康度,再用 qoderwake log --level error --limit 100 定位错误;需官方支持时用 qoderwake feedback 打包日志。

环境变量

以下为面向使用者、可直接设置的常用环境变量(来自源码 core/paths.tscore/user-auth.tscli/index.ts 等):
环境变量作用
QODERWAKE_HOME覆盖 qoderwake 主目录(默认 ~/.qoderwake,CN region 为 ~/.qoderwake-cn
QODER_ENV运行环境:daily / test / 空(即 prod)。日常开发需 export QODER_ENV=daily
QODER_PERSONAL_ACCESS_TOKEN无头(headless)环境下的个人访问令牌(PAT)
QODER_PERSONAL_ACCESS_TOKEN_FILE从文件读 PAT(优先于上行)
QODER_USER_INFOenv 认证的用户信息 JSON
QODER_MACHINE_ID设备机器码(机器绑定)
QODERCLI_PATH指定 qodercli 可执行文件路径
QODERWAKE_SETTINGS_PATH覆盖 settings.json 路径
QODERWAKE_DEFAULT_WORKSPACE覆盖默认工作区目录
QODERWAKE_LOG_LEVEL日志级别(设为 debug 开启详细日志)
QODERWAKE_ENDPOINT_BASE_URL覆盖服务端 endpoint 基地址(私有化/VPC)
QODER_CONFIG_DIR覆盖 CLI 配置目录
还有大量 QODER_* / QODERWAKE_* 内部变量(如 QODERWAKE_DAEMON_URLQODER_AGENT_ID、各种 hook 超时)由 daemon 向子进程注入,无需手动设置。

目录结构(~/.qoderwake)

qoderwake 的所有本地状态集中在主目录下(可用 QODERWAKE_HOME 覆盖):
路径内容
qoderwakeCLI / daemon 主二进制
bin/其他可执行文件
qodercli/QoderWake 托管的 qodercli 配置与技能目录
config/daemon 应用配置(config.json)与 settings.json
data/业务数据(sqlite / file 后端:Waker/项目/会话/记忆等)
logs/日志(qoderwake.log 等,qoderwake log 读的就是这里)
plugins/已安装插件
extensions/本地扩展运行时
runtimes/ / runtime-resources/ / resources/运行时与内置资源
backups/升级前自动备份(qoderwake backup 管理)
state/ / run/运行状态与进程/端口信息
tools/ / tmp/ / .tmp/工具与临时文件
.auth登录凭据
.installed-version / .qodercli-version已安装版本标记

常见工作流

从零启动到可用

export QODER_ENV=daily          # 日常环境(prod 可省)
qoderwake login                 # 浏览器登录
qoderwake start                 # 拉起 daemon
qoderwake status                # 确认在线
qoderwake portal                # 打开 Console

创建一个数字员工并绑项目

qoderwake waker create --name "后端助手" --description "负责后端仓库"
qoderwake waker list --json                     # 拿到 wakerId(ag_...)
qoderwake project create --waker-id ag_xxx --name repo --git-url https://...
qoderwake project onboard --waker-id ag_xxx --project-id prj_xxx   # 初始化分析

配置 MCP 与 Skill

qoderwake mcp add --waker-id ag_xxx --name fs --transport stdio --command npx --args "-y,@modelcontextprotocol/server-filesystem,/tmp"
qoderwake skill search --keyword pdf            # 拿 SKILL_ID + DOWNLOAD_URL
qoderwake skill add --waker-id ag_xxx --install-url https://...

创建定时自动化

qoderwake automation create schedule --waker-id ag_xxx --name "每日日报" \
  --schedule-type cron --cron "0 9 * * *" --cron-preset daily \
  --timezone Asia/Shanghai --prompt "生成昨日仓库变更日报"
qoderwake automation run-now --waker-id ag_xxx --automation-id tr_xxx  # 立即跑一次
qoderwake automation detail --waker-id ag_xxx --automation-id tr_xxx   # 看近期 run

群会话 + 消息驱动

qoderwake group create --title "发版协作" --waker ag_a --waker ag_b
qoderwake messages send <convId> --text "开始发版" --mention ag_a --intent request_action --wait
qoderwake messages list <convId> --follow          # 实时跟随

观测与诊断

qoderwake trace list --status failed --limit 20    # 最近失败任务
qoderwake trace show --trace-id <tid>              # 单条链路详情
qoderwake session trajectory --session-id sess_xxx # 去敏轨迹

排障速查

现象建议
命令报错「daemon 不可达」qoderwake status;未起则 qoderwake start;端口被占用 qoderwake start --port auto
未登录 / 401qoderwake whoami 确认;重新 qoderwake login;headless 用 QODER_PERSONAL_ACCESS_TOKEN(_FILE)
定位错误qoderwake log --level error --limit 100;按链路 qoderwake log <traceId>;实时 -f
qodercli 行为异常qoderwake log --qodercli;必要时用 QODERCLI_PATH 指定正确二进制
升级后回滚qoderwake stopqoderwake backup listqoderwake backup restore <id>
想切换存储后端qoderwake storage migrate --from file --to sqlite --switch
需官方支持处理qoderwake feedback --message "..." 上传本地日志