Request: bless a stable headless contract so a Linux desktop client can embed `cmd`
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 25/100
- Issue 类型
- 功能
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- linux, node.js, react, tauri, typescript
调研方向
从请求中列出的 headless 入口开始:cmd -p --output-format json、--list-models、status --json、cmd login,以及恢复或取消处理。比较它们在 command-code 1.56.0 中的当前行为,并确定哪些事件、模型列表、身份验证、信号、并发和 Linux 运行时行为可以编写文档或稳定下来。当为提议的 TypeScript 适配器等客户端明确规定受支持的契约和任何必需的 flags 后,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Request: bless a stable headless contract so a Linux desktop client can embed cmd
Hi, I maintain MonoCode Linux, a Tauri + React desktop app that puts several coding CLIs behind one composer. Each provider gets a small adapter: the app spawns the CLI, streams its events into the transcript, and maps approvals, questions, cancel, resume, and model lists.
I want to add Command Code as a provider and I have headless mode mostly mapped: cmd -p --output-format json gives NDJSON events plus a final result line, --verbose prints the session id on stderr for later --resume, transcripts persist per directory under ~/.commandcode/projects/, and without --yolo file writes and shell commands stay blocked, which fits a supervised mode.
Before I wire up the adapter, I need a few things nailed down so it does not depend on behavior that might change:
- Is
--output-format jsonin-pmode a stable contract I can parse? I will ignore unknownevent.typevalues, but I want to know if theresultline shape is versioned anywhere. - Is there a machine-readable model list?
--list-modelsprints a table whilestatus --jsonalready emits JSON. A--jsonflag for models would remove table parsing. - What are the cancel semantics for a headless run? SIGINT/SIGTERM maps to exit 130. Does the transcript stay resumable after a kill, and is there a preferred way to stop a run from a parent process?
- Is
cmd loginpluscmd status --jsonthe supported headless auth check? Anything a desktop client should do differently? - Does
-psupport concurrent runs in the same directory, or should the client serialize turns per session? Related: is--continuesafe when no headless session exists yet (it starts fresh in my tests)? - Anything Linux-specific to know? The npm package needs Node 22+, which matters for an AppImage that resolves its own runtime search path.
What I can offer back: a reference adapter in TypeScript that spawns cmd -p --output-format json, maps the NDJSON stream onto transcript events, and handles resume, cancel, and model switching. Happy to shape it to whatever contract you bless, or to test an unstable flag and report back.
Tested on: command-code 1.56.0, Node v22.23.2, Linux x64.
- 主要语言
- 没有语言数据
- 星标
- 4k
- 派生
- 350
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
CommandCodeAI/command-code 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#855 ·
-
难度 2/5 1-3 小时 新手友好度 78/100
CommandCodeAI/command-code#841 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#655 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 68/100
CommandCodeAI/command-code#608 ·
-
难度 3/5 1-2 天 新手友好度 70/100
CommandCodeAI/command-code#893 ·
查看 CommandCodeAI/command-code 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
connectrpc/connect-py#342 ·
-
01 type: bug
难度 2/5 1-3 小时 新手友好度 84/100
plone/cookieplone-templates#471 ·
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
notch8/utk_knapsack#148 ·
-
helsemelding-json-schema json-schema-core
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 84/100