会话 CLI 与运行记录
用 sessions list 和 ps 区分保存的历史、进程注册和 managed 记录。
This page has not been translated into English yet. The original Chinese version is shown below.
这些命令在 shell 中运行,不需要先进入交互会话。list 面向历史记录,ps 面向机器上可见注册记录。
历史列表
qwen sessions list --limit 50
qwen sessions list --json默认最多 20 条,人类表格包含 SESSION ID、UTC 开始时间、TITLE、BRANCH、PROMPT。--json 实际为 JSON Lines,不是一个数组;字段包括 sessionId、startTime、mtime、prompt、gitBranch、customTitle、titleSource、filePath、cwd。
“还有更多”提示走 stderr,不混入 stdout JSONL。恢复方式见无头模式。
当前可见记录
qwen sessions ps
qwen sessions ps --jsonps 同时列活动进程 registry 和 Agent View managed 记录,发现被杀进程留下的注册会清扫。一次性 qwen -p 不注册,所以不出现。
managed 是持久记账,不是 worker 存活证据。人类表格 KIND 为 managed,PID/AGE 为 -;同一会话同时有实时注册时可出现独立两行。
| KIND | 含义 |
|---|---|
| tui | 终端交互会话 |
| external | 外部程序,例如 relay 或语音前端 |
| serve | daemon 启动的 ACP 会话 |
| headless | 编辑器或其他客户端直接驱动的 ACP 会话 |
| managed | Agent View 持久记录 |
一个 qwen --acp 进程可服务多个会话,因此多行共享 PID 正常。KIND、NAME、DIRECTORY 都是进程自报信息,不决定授权。
JSONL 形状
实时注册字段包括 schemaVersion、pid、procStart、pidNs、sessionId、cwd、name、startedAt、qwenVersion、kind,以及可用时的 ipcPath。
managed 仅给 sessionId、cwd、managed:true,并优先输出。空列表 stdout 为空;supervisor store 读取失败仍输出 registry,原因写 stderr。
JSON 原样保留记录字段,未做终端字符清理;需要将不可信字段展示到终端时应先处理控制字符。不要因为 JSON 可解析就直接把 cwd/name 当作可信 shell 参数执行。
控制者
sessions controllers 管理跨会话控制者凭据,命令和权限范围见可信控制者。