@cc-claw/code

中文文档
0.6.258发布于 2026/11/09Apache-2.0零依赖近 30 天下载 2.3万

cc-code — Terminal coding agent powered by open-source models — Rust-built, .claude/ ecosystem compatible

原始使用文档
文档目录9 节
  1. 最近更新
  2. 安装
  3. 升级
  4. 快速开始
  5. 支持的平台
  6. 常用快捷键
  7. 常用 Slash 命令
  8. 为什么选 cc-code?
  9. 链接

cc-code

用开源模型跑 Agent Loop — Rust 写的终端编程助手,与参考实现生态兼容

npm License

最近更新

v0.6.255:command hook 支持 exec form args——Windows 上第三方桌面工具常把 hook 写成 command + args 的 exec form,此前 args 被静默丢弃、整串 command 交 cmd /C 执行,路径含空格时全部 exit 1 失败。现 args 非空时直接以 argv 启动(不经过 shell)并做变量替换,旧配置行为不变(#954, #955);另移除状态栏无 LLM 响应时的 Cache - 无信息量占位,Cache 0% 真实读数保留(#956, #957)。完整记录见 CHANGELOG。

v0.6.254:面板关闭后视口回缩——修复 Ctrl+P 面板取消后页面留白(输入框/状态栏浮在中部、下方空白):面板等瞬时块不再进视口持久记忆,关闭立即回收高度并清理释放行,页面继续紧贴内容(#951, #952)。完整记录见 CHANGELOG。

v0.6.253:状态栏 Verbose 标识首字母恢复大写——详细模式状态栏的 ● verbose 标识恢复为 ● Verbose(历史文案即为大写,v0.6.244 状态栏文案小写化时被一并误改)(#948, #949)。完整记录见 CHANGELOG。

v0.6.252:思考耗时显示修复——Thought for 1s 与实际思考近 1 分钟严重不符:TUI 侧组计时(不含 TTFT)每次渲染装配覆盖适配器回填的含 TTFT 计时。现 LLM 计时优先、组计时仅兜底(下限 1s);组语义重构为「一段思考的墙钟」(工具运行时长不计入、每轮清零跨轮残留),多行冻结思考行耗时各自对齐(修复两行同值的错位),正文输出不再灌注近零组值(#945, #946)。完整记录见 CHANGELOG。

v0.6.251:关窗/退出可靠触发 SessionEnd,hook session_id 全链路对齐——Windows 点 X 关窗此前 CTRL_CLOSE_EVENT 无人处理、SessionEnd 从不触发,clawd 等外部 hook 消费方里会话永远停在 working;现在关窗在 handler 线程从 500ms 刷新的全局快照同步触发 SessionEnd(3.5s 超时 + 原子互斥不与正常退出重复),关窗 other、/clear clear、输入框可见时退出 prompt_input_exit 三条路径均携带真实 session_id,退出路径等待异步 hook 完成;另补齐 SubagentStart/SubagentStop 的真实 session_id,子任务事件不再归错会话(#941, #942)。完整记录见 CHANGELOG。

v0.6.250:Bash 输出渲染性能修复与标题行配色——折叠态先截断可见行再做 JSON 美化,消除"算完就扔"的无效解析(显示内容逐字节不变,流式与全量重建不再重复付全文美化成本);✻ 标题行配色加深,低对比度终端下更易辨认(#939, #940)。完整记录见 CHANGELOG。

v0.6.249:async hook 运行状态收进 spinner 与 hook 会话 ID 修复——异步 hook 执行时不再插占位行,运行状态并入底部 spinner 行(Async hook X running… 等四种形态),完成即消失、失败/阻断行保留,消除占位行闪烁;修复 hook payload 的 session_id 被硬编码为空串导致外部 hook 生态(如 clawd 宠物)把所有 peri 会话合并成一条显示的问题,现传真实会话 ID(#935, #937)。完整记录见 CHANGELOG。

v0.6.248:默认模型升级至 Claude 5.5 / GPT-6 系列——登录面板、Setup 向导与各 Provider 兜底默认模型更新为 claude-opus-5-5 / claude-sonnet-5-5 / claude-haiku-5-5 / claude-fable-5-1 与 gpt-6-astra / gpt-6.1-sol / gpt-6-luna;另修复 slash 命令着色误染工具输出(收窄到提示位)与 Thought for Ns 计时漏算 TTFT(改为请求发起到思考结束的墙钟时间)(#929, #931, #933)。完整记录见 CHANGELOG。

v0.6.247:slash 命令输入高亮与后台 shell 输出保留——输入框内 slash 命令识别着色(#925,后续经 #931 收窄到提示位);后台 shell 命令输出不再被轮次结束清理丢弃,长任务输出可回看(#927)。完整记录见 CHANGELOG。

v0.6.246:Glob / Grep 工具头统一显示 Search 并补充 path——消息区工具头把 Glob 与 Grep 统一显示为 Search,摘要改为 pattern: "…", path: "…"(cwd 内折叠为相对路径),-n / -i / -A/-B/-C / output_mode 等执行参数不进摘要;状态栏 ✓ Name ×N 仍按真实工具名 Glob / Grep 计数,避免两条同名 Search(#923)。完整记录见 CHANGELOG。

v0.6.244:状态栏与工具名样式收敛、权限切换视觉稳定与 git diff 原始输出——状态栏快捷键文案统一小写、权限名改为 auto mode on / bypass permissions on,移除 Shift+Tab 切换权限模式时的临时加粗与闪烁;!git diff 不再重排成带行号的 diff 卡片,保留 Git 原始输出与自带 ANSI 颜色;工具名配色按反馈恢复柔灰 text_soft(#906, #908, #910, #912, #914)。完整记录见 CHANGELOG。

v0.6.241:支持运行时切换 cc / dsh / pi Agent 内核——可通过 agent_kernel 配置或 /kernel 命令在 cc、dsh 与 pi 三个内核间无缝切换,方言层双向翻译保证工具与审批契约一致,cc 内核保持逐字节等价(#826, #903);同时支持终端 Markdown LaTeX 数学公式解析与 Unicode 提纯渲染(#901, #902)。完整记录见 CHANGELOG。

v0.6.240:文件工具支持 MSYS 盘符路径——Windows 下 /c/Users/... 这类 Git Bash 写法此前会被解析到「当前驱动器根」并报 File not found,现按 Git Bash 语义还原为 C:\Users\...,Read/Edit/Write/Glob/Grep 全部生效,not found 提示也会显示实际查找路径(#899, #900)。完整记录见 CHANGELOG。

v0.6.235:解除 Bash 超时硬编码限制并支持 BASH_MAX_TIMEOUT_MS——修复 Bash 工具参数校验死板限制 10 分钟(600,000ms)导致模型执行大项目构建或长任务时被强行截断提前杀掉的问题。完全尊重调用方显式指定的更大超时,未传 execution_timeout 时自动取 max(max_timeout, timeout_ms) 不误杀长任务;同时新增 BASH_DEFAULT_TIMEOUT_MS 与 BASH_MAX_TIMEOUT_MS 环境变量,允许自定义默认与最大上限(#886, #887)。完整记录见 CHANGELOG。

v0.6.234:自动会话回顾失败静默化与防死循环重试——修复上游代理网关偶发 503 等异常时,后台自动触发的会话回顾在主消息流反复输出红字刷屏的问题。区分后台自动与手动触发:自动回顾失败改为后台日志静默忽略,不污染对话界面;调度器新增连续失败上限 MAX_AUTO_RETRY_COUNT = 1,超限立即停止重试,杜绝无限死循环(#881, #882)。完整记录见 CHANGELOG。

v0.6.233:移除 tool_result 非标准 id 字段与国产端点双向自适应——修复 tool_result 携带非标准 id 属性导致经严格校验的上游代理网关报错 Extra inputs are not permitted 的问题。默认遵循官方标准不发送 id 字段;同时新增 detect_tool_result_id_requirement 动态嗅探器,遇到特殊非标国产网关明确要求 id 时自动补齐重试,实现官方标准端点与非标国产端点双向兼容(#878, #879)。完整记录见 CHANGELOG。

v0.6.232:轻量模型 thinking 400 修复与多级降级自愈——针对 Haiku 3.x/4.x 系列等轻量模型原生不开放 Extended Thinking,修复全局开启 thinking 时请求直接报错的问题。静态预判轻量系列天生无 thinking 并彻底不传相关字段;协议自适应嗅探机制新增 DisableThinking 指示,当检测到模型或网关不支持思考时,自适应重试最多 2 级平滑降级(Budget → Adaptive → Disabled),自动关闭 thinking 并重试成功,彻底杜绝 400 报错(#875, #876)。完整记录见 CHANGELOG。

v0.6.231:Bash 输出 git diff 智能高亮渲染与 PHP 纯源码高亮修复——终端输入 !git diff 或 Agent 执行 git diff 时,输出自动接入内置 Diff 渲染管线,呈现带代码语法着色、单侧行号 Gutter 与词级对比(Word-diff)的高颜值视图;同时修复 syntect 将 .php 绑定到 HTML 嵌入语法导致脱离 <?php 后单行高亮全变白字的问题,优先使用纯源码语法 "PHP Source" 稳定高亮(#872, #873)。完整记录见 CHANGELOG。

v0.6.229:任务报错与失败场景下保留雪花总结行——遇到 LLM HTTP 404/550 报错或 Agent 异常终止时,此前在清理阶段会盲目清空 Spinner 总结行(clear_summary),导致报错信息下方完全空白、丢失了本次任务运行的耗时与完成时刻反馈。现在改进为:遇错时记录失败态总结行,保留耗时与时间戳打点,统一展示为雪花前缀的失败总结行(✻ Failed after Xs · HH:MM),既保留关键时间反馈,又消除了成功动词与报错混杂的认知冲突(#863, #864)。完整记录见 CHANGELOG。

v0.6.228:含 VS16 宽字形的表格行不再错位——表格某行含 ⚠️(U+26A0 U+FE0F)时,该行竖线分隔符与右侧边框曾整体右移 1 格、右边框冲出表格边界,滚动重绘后还会残留悬空竖线。根因在输出层:Buffer::diff 为宽字形补画的尾格被后端当作相邻格续写,不认宽字形已把光标推进 2 列。现在下发前丢弃被宽字形覆盖的尾格,判断依据取实际下发的字形宽度,表格渲染算法未改动(#860)。完整记录见 CHANGELOG。

v0.6.227:LLM baseUrl 容错规范化与友好错误提示——自动补齐协议头(内网与 localhost 补 http://,公网域名补 https://);剥除 Anthropic 适配器冗余的 /v1 与 /messages,避免拼接出 404;为 OpenAI 根域名补齐 /v1 并剥除 /chat/completions。优化 reqwest 底层错误提示,杜绝看不懂的 builder error(#856, #857)。完整记录见 CHANGELOG。

v0.6.226:Setup 向导自动检测外部配置——启动向导自动继承系统语言,废弃强制语言选择弹窗;自动探测本机的 Anthropic/OpenAI/Codex 现有凭据并支持一键迁移(#852)。修复 Compact 后快照锚点错位(#850)与浮层下残留 OSC 8 超链接穿透(#854)。完整记录见 CHANGELOG。

v0.6.225:子 Agent 重启状态与渲染修复——修复子 Agent 长任务取消后再启动时历史卡片重复渲染与索引漂移问题(#848)。完整记录见 CHANGELOG。

v0.6.224:Compact 阈值数值选项与范围优化——配置面板中的「Compact 阈值」重构为带百分比标识的选项样式,阈值下限放宽至 10%(支持 10-99% 范围,允许更早触发自动压缩);移出无限制自由文本框,支持按 ← / → 步进调节与纯数字输入,失焦自动规范化回写,彻底杜绝长字符串与非法字符回显(#844, #845)。完整记录见 CHANGELOG。

v0.6.220:思考行显示实时字数——思考进行中消息区顶部改为 ∴ Thinking for 1247 chars, read 2 files…,字数取流式推理的实时长度、随 chunk 增长,能看出推理是否还在推进;正文开始输出后落成 Thought for 16s。活跃与冻结统一为同一暗色,去掉冻结瞬间的亮度跳变(#836)。完整记录见 CHANGELOG。

Unreleased:长会话恢复与子会话历史修复——减少重复历史读取与整份缓存回写,避免祖先前缀使子会话新增消息被跳过;关闭空闲会话后安全释放串行锁,在途请求与同 ID 恢复继续保持串行(#813)。完整记录见 CHANGELOG。

v0.6.212:子 Agent 运行中的输入与滚动响应优化——流式更新按批处理并合并刷新,隐藏视口(含完成时)延后转换,已完成历史投影缓存有界且切离即释放;渲染队列满时重试最新快照,避免完成后画面停留在旧状态(#796)。完整记录见 CHANGELOG。

v0.6.203:后台通知保留输入草稿——后台 shell 完成通知自动提交时,保留用户正在编辑的文字、光标、粘贴内容和图片(#777)。Markdown 链接颜色统一——链接不再使用主题成功色,由终端链接渲染逻辑统一设置蓝色(#775)。

v0.6.201:滚动与输入响应优化——布局准备改在后台按序完成,未就绪时继续处理输入并保留已显示画面。稳定滚动复用宽度确认,用户交互、流式输出与后台更新采用统一绘制期限;全屏首帧、窗口缩放及选区释放后的复制顺序保留(#768)。

v0.6.188:/gc 按 size class 分解 allocated——/gc 此前只报 allocated 总量,差额一律归入「未识别」,看不出那是几块大缓冲还是几万个中小对象。现在直接打印 Top 12 个分配尺寸(尺寸 × 存活对象数 = 字节 + 占比),逐 class 求和精确等于 allocated(jemalloc 的 allocated 本身就是各 size class 之和),属于精确分解而非估算,能覆盖旧估算看不到的 SyntaxSet/ThemeSet、编译正则、tokio/ACP 缓冲;尺寸用精确字节数,不会出现 1024 B 与 1280 B 都显示为 1 KB 的情况。Windows 上整段跳过(#716)。

v0.6.186:Bash 状态行不再断档——工具块在「排队/等待审批」进入「执行中」时,状态行曾整段消失约 2 秒(上一分支已退出、执行中分支未满 2 秒尚未进入),界面只剩工具头。现在执行一开始就显示 Running… 占住状态行,耗时秒数与 ctrl+b 提示仍保持 2 秒后出现,短命令不会因计时刷屏;同时修正渲染线程的跨阈值重建判定,避免裸 Running… 让「是否已有状态行」恒为真而导致秒数与提示永不出现。排队与审批阶段的 ● 指示器恢复常亮(仅执行中闪烁),对齐参考实现——排队不是「活跃」,等待语义由 Waiting… 文案承载(#706)。

v0.6.185:① 统一未完成工具指示器闪烁频率——修复处于 ⎿ Waiting… 或 Waiting for permission… 等待阶段时 ● Bash 指示器不闪烁、以及在不同状态间闪烁节奏一快一慢严重视觉错位的问题。ToolCallStatus::Pending 与 Running 共享呼吸算法,只要呈灰色未完成状态即全局同频同相位闪烁,同时打通渲染线程心跳与增量刷新管线(#698);② 状态栏清理空载占位——当前目录下就绪 Agent 根会话数为 0 时,状态栏第三行不再显示 · ← 0 agents,释放状态栏宽度(#696);③ 纯动作行独立显示首字母大写——无前置思考块的独立只读工具组在折叠展示时,首字母自动转为大写(如 Read 1 file),保持续写场景小写格式不变(#694);④ 中断结果行移除重复 ✗ 符号——工具被中断后结果行不再同时展示红 ● 与 ✗,文案统一为 Interrupted by user(#692)。

v0.6.184:Bash 实时输出与审批状态——工具块区分排队、等待审批、运行和完成;运行两秒后显示最后五个视觉行及耗时、显式 timeout 和字节数,Ctrl+O 展开最多 64 KiB 的保留尾部。config.tool_output_streaming 默认启用,支持项目配置覆盖;主/子 Agent 调用隔离,完整最终结果保持原有语义(#675)。

v0.6.182:终端超链接修复与补全——OSC 8 转义序列改到输出层注入,修复链接后面整行文字不显示/错位的问题;工具结果与 ! 命令输出里的裸 URL 也成为可点击的真超链接(亮蓝、无人工下划线)。OSC 8 改为默认开启,仅 DISABLE_HYPERLINKS 显式关闭(#671)。

v0.6.181:运行中 Bash 的计时不再卡住——长时间运行且无输出的命令,Running… (Xs) 秒数与块首动画此前会被事件流饿死冻结,现改为跨事件单调推进的 tick,持续刷新(#683)。

v0.6.180:Bash 执行状态显示优化——工具块使用显式执行阶段,空输出完成显示 Done(详细模式为 (No output));显式 timeout 以 Running… (Ns · timeout Nm) 展示(#675)。

v0.6.179:npm 改为平台可选依赖分发——主包不再在安装期执行脚本下载二进制;二进制拆为五个平台包,经 optionalDependencies 按宿主平台自动安装,安装过程除 npm registry 外不访问网络(#678)。

v0.6.178:消息区 Markdown 链接成为真超链接——[文字](url) 输出 OSC 8 转义序列,在 Windows Terminal、iTerm2、WezTerm、kitty 等终端里可悬停提示、Ctrl/Cmd+点击打开(#671)。

v0.6.177:.md 预览不再着色,对齐参考实现——Write 与 Edit 预览不再给 .md 内容上色。参考实现虽把 md 识别为 markdown,但其主题 scope 表没有 section / strong 的映射(highlight.js 对 Markdown 只产出这两个 scope),实际输出与纯文本逐字节相同;cc-code 此前用 syntect 语法把标题与粗体染色。现移除 markdown 扩展名映射,回退纯文本(#669)。

v0.6.175:① 统一 Bash 及工具输出截断提示风格——将所有工具输出(Bash 工具、用户 ! 本机命令、错误摘要行等)的折叠提示统一为 … +N lines (ctrl+o to expand)(单数:… +1 line,单行折行超额:… (ctrl+o to expand)),与 diff / 新建文件代码预览风格完全一致(#661);② 彻底移除浮层对视口高度的干扰——临时浮层(命令候选与 @ 文件提及)属于 Overlay,本身已具备 available 可用高度边界保护,彻底不计入视口 required_rows,消除 24 行终端下误触发 fullscreen_latched 锁死全屏及留白问题(#659)。完整记录见 CHANGELOG。

v0.6.174:Write 文件内容预览恢复——修复新建、覆盖成功后不显示内容,以及追加预览重复内容的问题。主、子 Agent 的旧内容在写入前采集,界面通知晚到也能展示正确预览;同内容写入仍不展示空 diff(#654)。完整记录见 CHANGELOG。

v0.6.173:URL 背景与状态栏对齐——工具结果与 ! 输出的 URL 使用终端默认背景,避免同为 ANSI Cyan 却与状态栏模型名出现色差(PR #656)。

v0.6.172:欢迎卡显示模型档位与版本更新提示——空会话首屏补齐两处信息:标题拆成品牌名(ACCENT)+ 版本号(MUTED),并新增 model · (effort effort) 副标题(模型或档位缺失时整行省略);有新版本时用“Update available! <当前> → <最新>”+ “To update, run: cc-code update”两行替换原开始提示,卡片高度恒为 7 行。检查在启动后后台跑一次(只认 npm-v* tag、跳过 prerelease、超时 3s、失败静默),渲染不等网络;CC_CODE_DISABLE_UPDATE_CHECK=1 可关闭。同版空会话不再显示Cache - · MEM 19MB(#653)。完整记录见 CHANGELOG。

v0.6.170:工具结果与 ! 命令输出里的 URL 链接色定稿 ANSI Cyan——此前裸 URL 用 theme::cur().ide(深色 #4782C8),链接色随 /theme 漂移,且与正文 text_soft 明度接近,扫读时难以快速定位;现 style_urls() 固定 Color::Cyan + 下划线,不随主题切换,与状态栏模型名 / 分支名同一口径。覆盖所有走 ⎿ 前缀的工具结果行与 !command 输出;仍非 OSC 8 真超链接,点击由终端自身 URL 识别提供。Markdown 链接([text](url) → SAGE)是另一条路径,不受影响(#649)。完整记录见 CHANGELOG。

v0.6.169:长会话详情按视口渲染——/config →「详情渲染」可选 auto(默认)/ cache / virtual,即时生效;虚拟路径按需物化窗口,离屏成品按共享 16 MiB 预算淘汰,逻辑锚点支持滚动与跨淘汰复制。预算不等于进程 RSS 上限,原始历史和可见巨型消息仍占内存;可随时切回 cache(#629,PR #648)。完整记录见 CHANGELOG。

v0.6.157:/theme 新增 auto,跟随终端颜色能力与背景明暗——两级判定:① 颜色能力(TERM_PROGRAM=Apple_Terminal 这类只有 16/256 色的终端 → light-ansi / dark-ansi,其余真彩色终端 → light / dark);② 背景明暗(OSC 11 查询按回复的 sRGB 相对亮度判定,终端不应答时 macOS 退回系统外观 AppleInterfaceStyle、其余平台按深色兜底)。判定结果缓存、仅在持久化主题为 auto 时预探测,/theme 面板该行显示 Auto (follow terminal: <解析结果>)(#604)。完整记录见 CHANGELOG。

v0.6.156:测试基础设施修复,无用户可见行为变更——11 个 RSS 内存测试此前统一读 /proc/self/status 的 VmRSS,而 /proc 只存在于 Linux:macOS 上读取失败被吞成 0,再被饱和减法洗成「无增长」,断言恒绿(实测 macOS 上打印 RSS = 0 KB (+0 KB) 且 test result: ok,同一 pid 用 ps -o rss= 读到 964 KB)。现改用 sysinfo 的 process.memory() 取数、采集失败直接 panic 而不返回 0,并新增守护测试(触碰 64 MiB 后 RSS 必须涨 ≥32 MiB)防止测量通道再次退化(#589)。完整记录见 CHANGELOG。

v0.6.155:① 状态栏按主题取色——/theme 切到 Light 系列后消息区是浅底深字,状态栏仍沿用深色主题写死的白字(Rgb(255,255,255) / Rgb(153,153,153)),几乎不可读;现由 SbColors 按当前主题解析状态栏一帧所需的全部颜色,default 主题逐值保留原字面量、观感零变化,其余主题取 /theme palette(#597);② markdown 缓存补字节预算——此前只有 1024 条的条数上限、没有字节上限,满容量常驻约 52.8 MB(且缓存键含 max_width,每次 resize 都会灌入一批新变体);现加 8 MB 字节预算、条数上限降为兜底,/gc 一并显示预算读数(#594)。完整记录见 CHANGELOG。

v0.6.154:① /gc 的差值不再被钳成 0——OS RSS - jemalloc resident 与「已知估算 - allocated」此前用饱和减法,而被减的一方并不保证更大:实测 resident 93.6 MB 大于内核 RSS 84.9 MB 时真差是 -8.7 MB,却被打成 = 0 B,渲染出一个算术不成立的等式,而「差值为负」与「两边完全相等」在诊断上含义相反。现改为有符号差、负值时补解释提示;同批删掉与 RSS: 完全重复的 OS RSS: 行(同一个 sysinfo 读数,整数 MB 截断后再相减白丢 0.8 MB)、jemalloc stats 读失败不再用 RSS 冒充 allocated、macOS 上恒为 0 的 retained 改显示「不适用」(#593);② Ctrl+Enter 在支持键盘增强协议的终端上真正生效——keyboard_modes.rs 从未被声明/调用,应用从未推送 kitty 键盘协议,现接通后在 iTerm2 ≥3.5 / WezTerm / Ghostty / kitty / Alacritty 上可用;排队提示同时按平台显示真能按下的键:Windows Ctrl+Enter、macOS ⌥S、Linux Alt+S(#592、#591);③ macOS 启动时清屏一次,修复 Terminal.app 因 alternate screen buffer 跨程序保留导致的旧画面/黑条残留(#582);④ 另有 TUI 用户可见文案全面接线到 i18n(中文界面不再残留英文、英文界面不再出现中文)、状态栏三行行首缩进统一 2 空格、等待后台子 Agent 期间终端标题保持动画。完整记录见 CHANGELOG。

v0.6.151:① 后台 Bash 完成通知改为运行中插入——agent 运行中后台化(Ctrl+B 或前台超时自动转后台)的命令跑完后,通知此前一律积压到轮次结束才注入,延迟上限等于任务剩余时长(实测十几分钟);而轮末优先处理用户排队消息会跳过通知的 drain,中断/报错分支根本不消费队列。现复用既有 steering 通道,在通知产生时即插入当前轮次(运行中每帧回收回执,空闲仍合并为一条,跨会话仍留给对应会话),并把消费回执的确认时机钉在「真正写入 state 之前」,因此 -32001/-32002 都代表未送达、可安全重试;无法判定的错误只保留不重投;中断/报错后不自动唤醒新一轮,滞留通知随下一次主动提交送出(#571);② 系统提示写入后立即重绘——空闲态输入 /dream 这类未知命令回车后界面毫无反应:提示其实已写进消息状态,但写法只更新 view_messages、不发渲染事件,要等下次按键才显示;现把重绘内置于 push_system_note,同类提示路径(/rewind 无历史、排队消息 steer 失败、切换会话失败等)一并修复(#573)。完整记录见 CHANGELOG。

v0.6.150:① /history 改为「你输入过的内容」列表——CLI 语境里 history 指用户输入历史(shell 的 history 就是列历史命令),此前 /history 打开的却是历史会话列表,想查自己输入过什么只能 Ctrl+↑/↓ 一条条回溯。新增输入历史面板:↑/↓/j/k/PageUp/PageDown 导航、Enter 只把选中项回填输入框(不代发)、Esc 关闭,数据源与 Ctrl+↑/↓ 完全同一份(跨会话持久化)。注意语义变更:原「历史会话浏览」迁到 /resume(#566);② 状态栏系统提示至少停留 5 秒——Jev 语义门降级播报(429/超时触发的兜底分类器提示)此前会因紧随其后的 ToolStart 等事件被立刻清除,一闪而过读不到原因,现按「最短可见时长」范式垫 5 秒(#564);③ 修复多轮对话后工具资源持续累积——工具包装器未析构内部 Box、延迟工具代理与子 Agent 模型工厂反向持有注册表/会话池形成引用环,现补唯一析构并改弱引用,最后一个持有者释放后资源正常回收(#568)。完整记录见 CHANGELOG。

v0.6.149:会话中心详情面板重排 + 状态栏会话计数 +「内联 Diff」开关收敛——① 状态栏 ← {n} agents 改按会话中心 Ready 口径统计:只算当前目录 24h 内有更新、且未进入 Needs you / Working 的根会话,长期使用的目录不再显示累计历史数(实测 194 → 10)(#554);② /agents 详情面板重排:Model: / Reasoning: 标签与值同行,Project / Branch / Last message / Prompt 标签独占一行、块间留空行,值沿用状态栏配色(模型青 / 项目黄 / 分支青),Last message / Prompt 预览改走 markdown 渲染并折行(长链接不再被 … 截断),高度上除 Prompt 预留 3 行外全部给 Last message,删除确认弹层底色改用 popup_bg(#554);③「内联 Diff」开关(config.diff_enabled)不再顺带展开整页——开启后普通页面只多出 Write/Edit 的 diff,shell 输出 / 工具折叠 / 参数折行 / reasoning 一律保持原样(#558)。完整记录见 CHANGELOG。

v0.6.148:Bash 失败退出码置顶与正文整齐缩进——TUI 终端层优化失败展示体验:非零退出码提升为首行置顶 ⎿ Error: Exit code {code}(红色醒目展示),自动剥离末尾冗余的 [Exit code: N] 标记并将输出正文以 4 列悬挂缩进对齐,长输出时不再淹没退出原因;同版完成 message_render.rs(90KB+)目录级解耦拆分为独立的 decorators/(Bash / Glob / Read / AskUser)模块,并清扫全仓历史测试命名为 100% 全英文 snake_case。完整记录见 CHANGELOG。

v0.6.147:新增跨项目 Agent Command Center:/agents 或空输入框 ← 查看全部项目根会话,支持分组、五档状态、分页、详情、搜索、重命名与二次确认永久删除。Enter 恢复目标项目,n 在选中项目新建空会话;存在运行任务或审批时保持原会话。原 agent 定义入口改为 /agent-design,/tasks 入口由中心替代。完整记录见 CHANGELOG。

v0.6.146:修复 Windows CI 上 cc-tui 测试的间歇性失败(内部改动,无用户可见行为变化)——这些用例用固定墙钟超时等待真实子进程(cmd/git-bash/嵌套 powershell),libtest 并发时互相抢进程与 IO,在 4 核 runner 上被放大成超时;现用全局锁串行化真起进程的用例并统一放宽等待预算,不改任何用例语义(#538)。

v0.6.145:三项 TUI 输入修复——① 输入框内 /command 用 suggestion 蓝高亮,规则对齐参考实现(! shell 态跳过,避免把 /etc 之类路径着色)(#529);② Rewind 对话回滚从「双击 Esc」改为正式命令 /rewind(别名 /undo)——Esc 是取消/中断键,连按两次会误弹出回滚面板,而输入 /rewind 反而无效(#531);③ Agent 运行中按 Enter 不再把命令静默变成模型提问——此前 /exit 不退出、/gc 不回收内存、未知命令反被模型回答。判定收敛到唯一入口 CommandSystem::resolve:普通消息 / Skill / ACP 命令 / 转发型命令入队等本轮结束后执行,需要空闲 UI 的命令、! 输入与未知命令一律拒绝并保留输入框内容(#533)。

v0.6.144:修复后台子 Agent 抽屉「正在做什么」列的闪动——该列不再被工具名(Bash/Grep)覆盖,只显示子 Agent 最近一句助手文本;并新增 200ms 刷新节流(渲染快照,丢渲染帧不丢状态,结束时立即同步)。

v0.6.143:修复两个 /theme 相关问题——① 主题面板补齐键盘路由,此前 ↑/↓ 不移动光标、Esc 关不掉面板(#521);② 状态栏配色固定、不再随主题切换,恢复打磨定稿的固定观感(#523)。

v0.6.141:Spinner tips 调度对齐参考实现——tips 改为带会话冷却的调度模型:每轮开始挑选一条并扣留、轮结束才发布(每轮最多一条),挑选取「距上次展示最久」者,历史持久化到 ~/.cc-code/spinner-tips.json;新增 spinner_tips_enabled 与 spinner_tips_override 自定义配置。另:MCP 协议库 rmcp 升级至 3.5.1,适配 3.x 数据模型与接口。

v0.6.140:/theme 主题命令——7 套可切换配色(现行配色为 default,其余 6 套与参考实现逐值一致),选择面板实时预览、持久化恢复;同时 Spinner 变色对齐参考实现:动词改走成对流光(底色 + 流光色,±1 列窄带扫过),新增停滞超 10 秒平滑转红,删除自研的「时间热度四档」。

v0.6.139:自动记忆系统(Auto-Memory)落地——模型可跨会话记住项目事实:纯文件架构、零专有工具,模型用 Write/Edit 直接维护 Markdown 记忆文件,入口索引 MEMORY.md 有界(≤200 行 / ≤25KB),与 ~/.claude/projects/、~/.cc-code/projects/ 既有记忆资产双向兼容;安全门为记忆路径设豁免,会话创建时冻结索引以保障 Prompt Cache 稳定。同版还有:主 Agent 可用 Agent(action="stop", task_id=…) 精确取消后台子 Agent(停止行区分 by user / by main Agent、等待计数行实时递减);系统提示词静态段落对齐参考实现的行为约束(Scope discipline、授权与影响判定、结果诚实性)。完整记录见 CHANGELOG。

v0.6.138:核心工具描述对齐参考实现措辞。① Bash/WebFetch 改为 NOT 反向枚举(读用 Read NOT cat;内容检索用 Grep NOT grep/rg;写用 Write NOT echo> 等),WebFetch 补「仅远程 http(s),无点主机名不支持」边界;② 补齐 Grep/Read/TodoWrite/AskUserQuestion 边界句(Grep 禁用 grep/rg、Read 不能列目录、TodoWrite 单一进行项、AskUserQuestion 决策边界);③ Write 改为 NEVER 语义——默认不再主动创建 .md/README,仅用户明确要求时创建。另修复 ReAct 纠正提示(连续失败/Schema 熔断/动作循环)此前以 System 消息注入、被适配器抽到请求顶层导致模型看不见、导出也丢,现并入所属 ToolResult 正文(#495);-p --output-format stream-json 的 tool_use 事件补齐真实 input 参数(此前恒为 null)。完整记录见 CHANGELOG。

v0.6.137:修复后台 shell 完成通知的多轮级联唤醒。通过 Bash(run_in_background=true) 启动的任务完成后会唤醒 agent,但旧逻辑在一轮内积压多条通知时每次 Done 只消费 1 条,导致 n 条通知触发 n 轮 turn(每轮再触发下一条),表现为连续无意义的「收到」。现按批次合并注入:空闲态把本批 + 队列中同会话待注入通知一次性 drain 拼接为单条消息(n 条压成 1 轮 turn),推理中统一入队、Done 后合并;合并仅在消息层拼接、保留每条通知 XML,信息不丢失(#491)。完整记录见 CHANGELOG。

v0.6.136:一批 TUI 修复在同一版本落地。① 切入刚跑完的后台子 Agent 独立视口时,底部现常驻显示 ✻ Brewed for 32s · done 16:30 完成总结行(此前完全空白),被停止/失败的子 Agent 不显示成功文案(#485)。② Windows 下默认静音全局分配器 mimalloc 的底层 stderr 裸打,避免长时间或高负载会话被 mimalloc: cannot commit OS memory 打花撕裂界面(#483)。③ 行首状态圆点统一为公共常量 ●,消除子 Agent 行比其他工具「小一号」的字形割裂(#487)。④ 修复 auto-compact 被误判为手动 compact、中途提前关闭 loading 而引发的 Tip/spinner 消失、无法中断、回车反转等连锁问题(#481)。完整记录见 CHANGELOG。

v0.6.130:子 Agent 统一为只有后台模式,底栏抽屉是它们的唯一呈现。空输入框按 ↓ 浏览后台任务,↑/↓ 移动游标、Enter 进入独立视口(独立滚动位置、输入草稿与工具统计)、x 停止选中任务、Ctrl+X Ctrl+K 停止全部;正在阅读的子 Agent 结束时留在屏幕上(该行转绿显示 ✓ completed),离开视口才回收。启动摘要改为对齐的 ├── / └── 树形块,抽屉只用亮白/灰两档文字、游标行不设底色,右侧 token 指标为跟随流向的单箭头。fork 与普通子 Agent 合并为同一条构建路径,run_in_background 参数退场。完整记录见 CHANGELOG。

v0.6.129:输入 @ 即显示文件候选。默认仅列当前目录,最多 15 项;面板最多显示 10 行并适配终端高度,继续输入关键词可搜索更多文件。搜索中、空目录和无匹配结果均有提示。

安装

install

npm install -g @cc-claw/code

[!NOTE] 本包不执行任何安装脚本。 二进制位于平台专属的可选依赖包(@cc-claw/code-<平台>-<架构>)中,npm 会按操作系统与架构自动只装匹配的那一个 —— 因此 --ignore-scripts、pnpm、bun 以及禁止 build script 的 npm 版本都能正常安装,安装期也不会访问 GitHub。

用 --omit=optional / --no-optional 安装会拿不到二进制,此时 cc-code 会打印补救说明而不是 ENOENT。

Windows on ARM 暂无原生构建,可显式安装 x64 版本:npm install -g --arch=x64 @cc-claw/code。

升级

npm update -g @cc-claw/code

快速开始

# 启动交互式 TUI
cc-code

# 直接给任务
cc-code "解释这个项目的目录结构"

# 指定模型
cc-code --model deepseek/deepseek-chat "重构这个函数"

支持的平台

平台架构
Linuxx86_64, aarch64
macOSx86_64 (Intel), aarch64 (Apple Silicon)
Windowsx86_64

常用快捷键

快捷键功能
Shift+Tab循环切换权限模式(auto / bypass,共两档)
Ctrl+P / Alt+P打开命令面板(Provider / Model / Effort 配置)
Ctrl+B将正在运行的前台 Shell 命令转入后台执行
Alt+V / Ctrl+V从剪贴板粘贴图片附件(Alt+V 专用于穿透 Windows Terminal 等现代终端对 Ctrl+V 的拦截)
Ctrl+O切换详细模式(Verbose)
PageUp / PageDown消息列表半页滚动(输入框为空时)
Ctrl+C中断执行(执行中)/ 双击退出(空闲时)

常用 Slash 命令

命令说明
/model浏览并选择 Provider/模型,或直接切换
/commit基于当前代码改动一键生成 commit 并提交
/review针对当前 PR 或分支代码发起代码审查
/export将当前会话导出为干净的 Markdown 文档
/gc手动释放内存并输出内存占用诊断信息
/lang <lang>切换系统提示与界面语言(en / zh-CN)
/recap生成一句话会话回顾(目标 + 当前任务 + 下一步),别名 /away、/catchup
/rewind打开会话历史回滚选择器,回退到某条历史消息,别名 /undo
/clear清空屏幕开启新会话

为什么选 cc-code?

对比项其他终端 Agentcc-code
运行时Node.js / Bun,动辄吃 1GB 内存Rust 原生,启动快,~50MB 内存
模型绑定锁死一家 LLM随便换:Anthropic、OpenAI 兼容、DeepSeek、GLM
Prompt 缓存每轮重算,token 白烧冻结 system prompt,95-99% 缓存命中率
参考实现生态不兼容直接用 .claude/ 配置、agents、skills、hooks、MCP

链接

版本与发布记录

@cc-claw/code 共发布 247 个版本,首次发布于 2026/06/25;过去 12 个月发布了 247 个版本。

版本发布日期距今
0.6.258latest2026/11/09今天
0.6.2572026/11/09今天
0.6.2562026/11/09今天
0.6.2552026/11/09今天
0.6.2542026/11/08今天
0.6.2532026/11/08今天

关于 @cc-claw/code 的常见问题

@cc-claw/code 是什么?

cc-code — Terminal coding agent powered by open-source models — Rust-built, .claude/ ecosystem compatible

如何安装 @cc-claw/code?

在项目目录运行 npm install @cc-claw/code,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 cc-code,可以用 npx cc-code 直接运行。

@cc-claw/code 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/cc-claw__code 是否存在。

@cc-claw/code 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@cc-claw/code 可以商用吗?

@cc-claw/code 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cc-claw/code 的下载量有多少?

根据 npm 官方下载统计,@cc-claw/code 在 2026/10/09 – 2026/11/07 这 30 天内被下载 22,607 次,日均约 754 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cc-claw/code 还在维护吗?

最新版本 0.6.258 发布于 2026/11/09(今天);至今共发布 247 个版本,其中过去 12 个月发布了 247 个;首次发布于 2026/06/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。