Repository navigation
CCHarness v0.2.0 更新说明。
CCHarness 是一款本地优先的多模型 AI 聊天桌面应用(Tauri 2 + React 18 + Rust),基于 AGPL-3.0 开源:
- 七种工作流模式:智能体 / 规划 / 目标 / 深度推理 / 审阅 / 生图 / 自定义状态机
- 多智能体协作:竞技场对比、圆桌群聊、具名子智能体
- 记忆系统:向量长期记忆、自动反思、AuxMemo 辅助记忆
- 前缀缓存工程:三区上下文分区 + 指纹链 + 命中率遥测与 miss 归因
- 16+ 内置工具、MCP、Skills、Guardrails 安全护栏、Worktree 隔离、多模态输入与生图
- 模型支持:DeepSeek / GLM / Kimi / OpenAI / Anthropic / Ollama 及任意 OpenAI 兼容端点
v0.2.0 更新(深度审计三轮全项闭环 + 协议与网络专项):
- Anthropic 请求侧修复:多轮对话历史(含工具调用链)以原生 tool_use / tool_result 块完整重放进 Claude 上下文——此前该协议臂只发送当轮消息,多轮对话静默失忆、工具链被剥成纯文本
- 智能体与并发:圆桌群聊回读修复(此前第 2 位起成员发言读不到)、同会话并发发送 stop 守卫、SSE 工具调用增量索引上界(畸形上游不再可撑爆内存)、工具完成判定对 legacy finish_reason 兜底、stopped 回合 live 与重启重建字节一致
- 持久化纪律:改名 / 置顶 / 归档 / 工作区 / 隔离开关 / 删除会话等元数据写入全部纳入保存锁(与流式落盘互斥)、落盘 rename 重试、配置文件读损坏先备份 .broken 再兜底(不再覆盖原配置)、memo 水位与 in-history 系统提示更新改为「落地后记账」(失败回合重新注入而非静默丢失)
- 网络与 SSRF:Base URL 主机名解析后逐 IP 分类(nip.io / sslip.io 型公网域名指向内网被拒)、网页抓取逐跳重放沙箱网络策略并解析后锁定、git 远程 URL 传输白名单(ext:: 等命令执行形拒绝)
- 工具与 MCP:workspace 遍历强制 canonical 边界(目录符号链接 / junction 不再越界读)、写路径识别 NTFS reparse point、MCP stdio 写超时与响应行上限、子代理工具结果纳入 guardrails 围栏、任务清单会话 ID 消毒、ccswitch 导入不回吐明文密钥、会话导入 64MB 上限
- 会话生命周期:子任务(subagent)会话随父会话级联清理(会话文件 / 前缀缓存条目 / 附件不再无限累积),启动时自动清扫孤儿记录
- 界面体验:流式中删除会话先停流清态、# 菜单回车取过滤后首项、粘贴转附件受大小上限约束、遥测 / 审阅页慢响应守卫、编辑重发输入法组合键防误触、浏览器 confirm 全部迁至自绘对话框、mermaid 图随明暗主题切换重渲染、文件预览过期响应丢弃、标题栏窗口监听器卸载竞态修复、CSP img-src 收紧(去除明文 http)
- 目标模式:验收清单计数容忍 Markdown 列表前缀(- / * / 1. 开头的 ✅ ⬜ 行不再漏计)
- 安全加固(第一批):工具写路径符号链接逃逸防护(最深已存在祖先逐级校验 + 写侧拒绝)、网页抓取重定向逐跳「解析后锁定」(防 DNS 重绑定,IPv4 映射地址归一分类)、glob 工具拒绝根分隔符 / 相对上跳 / 盘符模式、沙箱命令提取包装器内层程序(cmd / pwsh / bash / wsl 递归识别)、git 远程名与选项前缀校验
- 稳定性(第一批):停轮遗留未配对工具调用自动修复(中断会话重启后不再报协议错误)、清理 / 回滚覆盖全部泳道(含缓存指纹水位)、后台命令移入阻塞线程池 + 进程树整体击杀(Windows taskkill /T /F、Unix 进程组信号)、MCP 服务进程生命周期治理(退出自愈、超时摘除等待者、连接失败有界重试)
- Anthropic 协议适配修复:流式工具调用参数分片正确组装(此前参数可能静默丢失)、工具定义注入请求体(此前未携带)、历史内系统提示更新不再被丢弃、连续助手消息自动合并(避免角色交替报错)
- 网络健壮性:流式响应改用空闲读超时(长生成不再被固定总时长上限掐断)、模型列表拉取超时收敛
- 生命周期治理:辅助记忆台账自动裁剪(防无限增长)、隐私替身库与超大输出溢出目录随会话删除一并清理、主密钥文件权限收紧、Files API 文件索引过期驱逐 + 每供应商上限
- 配置兼容:旧版或缺字段配置文件无损加载(顶层字段全默认),并修复旧配置可能发出空推理档位字段的问题
- 前端体验:流式期间历史消息零重渲染(组件级 memo + 逐字段订阅,长会话打字更顺滑)、输入法组合键防误触发送、审批卡本地超时与停止即清、隔离 / 遥测慢响应跨会话守卫、git 推送 / 拉取 / 抓取转异步不再冻结界面
- 引擎正确性(第三批):前缀缓存纪元重建不再丢失采样参数(重启 / 系统提示变更 / 隐私切换后的首个请求保留 temperature / max_tokens / 推理档位)、Responses 协议通道上的滚动备忘正常注入(此前被静默丢弃而水位照推,记忆永久丢失)、工具轮数耗尽的回合正常收尾并提示「发送继续」(此前整回合被静默丢弃、重启后上下文分叉)、出错回合保留已完成部分(与重启重建字节一致)、流内 error 事件透出真实上游错误(不再记为空回复)、网关不发终止空行时的最后一个 SSE 帧照常解析(用量遥测不再丢失)、模型切换强制重建历史区(Files API 文件引用不再发往新端点)、状态机工作流指令文本随消息记录冻结(此后编辑工作流定义不再引发缓存全量未命中与上下文分叉)
- 安全与隐私(第三批):MCP http 传输逐跳「解析后分类 + 地址锁定」(重定向与 DNS 重绑定内网穿透端到端修复)、连接测试 / 模型拉取的「允许本地」以已保存配置为准(单次调用不可越权)、供应商与模型列表请求拒绝跨主机重定向(对话内容不随 30x 转发)、MCP 环境变量与请求头随密钥一并加密落盘且界面只回显掩码、会话导入路径限制(源目录 / 用户主目录内)、写路径最终分量以不跟随链接方式打开、工作区遍历环检测与深度上限(junction 环不再无限递归)、grep 单文件 8MB 上限、沙箱网络策略主机提取改协议解析(IPv6 字面量 / 十进制 IP 不再绕过拦截名单)、组播 / 保留段与 NAT64 / 6to4 内嵌地址分类补全、备份目录会话 ID 消毒、隐私映射日志权限收紧、技能市场解包按实际解压大小复核
- 稳定性与体验(第三批):子代理随停止按钮中止(此前委派不受停止控制)、同会话并发发送互斥、子会话落盘纳入保存锁、损坏会话文件不再静默跳过且不再误判其子任务为孤儿、自动压缩免费梯级记账单位修复(此前效果被低估 4 倍导致不必要的付费摘要)、配置保存 rename 重试并上抛错误、更新版本枚举值宽容解码(降级运行不再「Provider 全部消失」)、长期记忆存储键序确定化、基准历史串行化、git 面板中文文件名修复、git 管道读取有界(凭据助手残留进程不再挂死)、全部互斥锁防毒化、审批超时条目自动清理、markdown 外链走系统浏览器(不再整个窗口被导航)、设置页长文本输入防抖(不再逐键写盘)、@ 引用单文件 64KB / 总量 200KB 上限、@ / # / 技能菜单竞态守卫补齐、删除 MCP 服务需确认、全部视图完成订阅粒度拆分
v0.1.9 更新(安全加固与架构重构):
- 安全加固:工作区路径穿越防护(符号链接兜底)、CSP 收紧、API 密钥界面掩码 + 落盘加密密封、MCP stdio 环境变量白名单、HTTP 重定向拒绝私网地址、网页抓取解析后锁定防 DNS 重绑定、Worktree 会话路径净化、预览面板仅限本机 + 沙箱收紧
- 稳定性:会话写入原子化并纳入保存锁(压缩 / 回滚 / 自动标题长调用不再与保存竞争)、中文感知 token 估算(修复中英混排下自动压缩触发滞后)、SSE 分帧兼容 CRLF 流、工具集哈希改用 SHA-256 稳定派生、慢响应跨会话串扰守卫、删除确认、Ctrl+Enter 双发修复、竞技场泳道去重
- 沙箱与内容安全:命令黑名单归一化匹配(防转义 / 引号拼接绕过)、技能内容三个入口全部过安全扫描、配置页密钥加密状态告警 + 密钥文件权限收紧
- 架构重构:全局状态收编进应用状态结构、6190 行核心命令文件按职责拆分为工作流 / 压缩 / 发送引擎三个模块(对外行为零变化)
- 工程:新增 CI 质量门(push / PR 跑构建与全量测试)、mermaid 漏洞依赖链整体替换(6 个 high 漏洞消除)、README 源码地图补全(27 个后端模块 + 11 个视图)
v0.1.8 更新(缓存工程专项):
- 上下文瘦身两档免费清理:超长工具结果自动落盘(留一行存根,需要时可读回原文);过时工具输出一次性降级为存根——能救回的都不调摘要
- 三桶对账压缩:最近轮次逐字节保留(KEEP)、中段历史折叠为结构化 YAML 摘要(FOLD)、过时大块输出降级(DROP);自动压缩新增回本门槛与 0.70 / 0.55 迟滞——预期剩余轮数摊不薄摘要重算成本就不压缩;10 轮内反复压缩自动上调触发线并插入会话提示(抖动保护)
- RollingMemo 滚动备忘:每轮末零调用规则提炼会话状态(目标 / 决定 / 文件 / 已修错误 / 待办),确定性渲染 ≤1200 字符随系统提示注入,压缩与重启后状态不丢
- in-history 系统提示更新:系统提示演进复用历史内注入,稳定前缀字节不再整链回退重建;修复首轮系统提示重复注入
- 缓存保温(可选,设置页开启):推理绑定模型空闲约 4 分钟自动保温,长思考会话搁置回来依然全量命中
- 子智能体稳定缓存分片:同父会话同角色的子代理共享常温分片,跨运行字节级命中;SSE 与大响应透明支持 gzip / zstd 压缩传输
- 图片走 Files API(DeepSeek 等):同一图片跨轮复用文件引用,零重复上传
- 遥测新增「压缩账本」:折叠 / 丢弃 / 存根 / 摘要 / 回本全量记账,与请求账本、AuxMemo 并列;修复右侧功能区开启(窄主区)时遥测宽表格溢出裁切——改为卡片内横向滚动
v0.1.7 更新:
- 修复深度推理 / 审阅等模式首字前的"卡住":助手消息框现在即时出现,并实时显示预演阶段进度(并行预演三个候选方案 / 三专家预审 / 检索长期记忆)
- 预流阶段全链路响应暂停:记忆召回、深度推理预演、审阅专家预审、MCP 服务预热、上下文自动压缩期间点击暂停,约 0.1 秒内中止回合并取消未完成的预演请求,无需刷新页面
- 中止回合的缓存指纹链正确收尾:被中止回合不再参与字节链比对,下一轮不会误报"前缀链断裂"缓存告警
v0.1.6 更新:
- 协议适配器矩阵拓宽:新增 OpenAI Responses 与 Azure OpenAI(Responses)适配器——GPT-5.x / o 系列原生接口与 Azure v1 数据面(api-key 认证),基准测试 / 自动反思 / 群聊评审等一次性调用同步支持
- 缓存 TTL 三档位:模型管理页新增「缓存档位」设置——默认(协议默认窗口,Anthropic 1h / OpenAI 仅缓存路由键)、long(延长窗口:Anthropic 1h 标记 / OpenAI 24h 长保留)、short(5-10 分钟默认窗口)、none(不携带任何缓存标记与路由键,严格网关最安全);原「OpenAI 24h 长缓存保留」开关自动迁移
- Anthropic 缓存记账修复:输入 / 缓存写入 / 缓存读取三桶互斥语义按厂商归一,修复此前 Anthropic 路径缓存未命中检测失效与成本低估;重写前缀按 1 小时写入溢价(2×)计价
- 会话亲和路由头覆盖全部适配器类型,none 档位自动关闭
v0.1.5 更新:
- 应用内更新检查节流调整为每天一次:启动时静默检查由 60 分钟间隔改为 24 小时一次,降低启动网络请求;发现新版本仍仅点亮侧边栏版本徽标 + 弹提示,下载安装保持手动
v0.1.4 更新:
- 模型缓存时间调整为 60 分钟:Anthropic(Claude 系)请求携带 cache_control {"type":"ephemeral","ttl":"1h"},缓存窗口由默认 5 分钟延长至 60 分钟——系统提示块与最新消息双断点标记,会话搁置 1 小时内回来前缀依然命中(OpenAI 兼容端点依赖上游自动缓存,行为不变)
- 隐私匿名化修复与增强:手机号识别支持 +86 国际前缀(含边界防护,不会误伤相邻数字);新增自定义正则脱敏模式,设置页可配置(最多 64 条),用于姓名、内部编号等内置规则覆盖不到的敏感信息
- 隐私映射日志:所有假名替换落本机 JSONL 日志(时间 / 会话 / 类型 / 原文 / 假名),设置页新增「映射日志」查看与一键清空,替换了什么一目了然
- 策略沙箱三维自定义清单:文件路径(通配符 deny/allow)、命令程序名(deny/ask/allow,大小写与引号路径鲁棒解析)、网络域名(deny/allow + 全拦开关 + 恶意 URL 启发式),每条命令执行前三态裁决:放行 / 强制审批 / 直接拦截;设置页独立弹窗编辑
- 应用内更新检查节流由 24 小时缩短为 60 分钟
v0.1.3 更新:
- 新增「审阅」工作流模式:正确性 / 安全边界 / 可维护性三专家并行只读预审,主模型汇合去重定级输出结构化发现表(严重度 / 后果 / 根因 / 位置 / 验证方式),无法核实的条目标注「待核」
- 写后自动验证钩子:设置页可配置 post_write_command,每次写 / 改文件成功后自动在工作区根执行(如 lint / test),输出以「写后验证」段回灌模型——验证不依赖模型自觉
- 目标模式证据分级:清单 ✅ 需附行内证据(路径 / 命令 / 测试名),无证据的 ✅ 计为「待补」并在目标摘要条橙色提示,杜绝"打勾即完成"
- 智能体宪法强化:内置质量纪律——修改后最小验证并重跑、复现→定位→修复→重跑链条、范围边界、引用前必读、结论必须附可核验证据
- 技能路由阶梯(优先复用已装技能)与自动反思记忆隐私红线(密钥 / 令牌 / 绝对路径不入记忆库)
v0.1.2 更新:
- 仓库正式公开开源(AGPL-3.0),欢迎 Star / Issue / PR
- 应用内更新检查开箱即用:仓库公开后匿名即可查询 Releases,移除设置页的 GitHub 访问令牌配置
- 侧边栏版本号与 MCP clientInfo 版本号改为随构建自动注入
v0.1.1 功能(同批携带):
- 应用内更新检查:点击侧边栏底部版本号手动检查,或开启启动时自动检查(24 小时节流)
- macOS / Linux 下的 Key 等价保护:API Key 主密钥存入系统钥匙串 / 密钥环,AES-256-GCM 加密落盘,与 Windows DPAPI 等价
- 设置页「应用更新」卡片:启动自动检查开关
安装说明:
- Windows:下载 .exe(NSIS 安装向导)或 .msi
- macOS:下载 .dmg(Apple Silicon 与 Intel 通用二进制)
- Linux:下载 .deb(Debian/Ubuntu)、.rpm(Fedora/openSUSE)或 .AppImage
注意:本版本安装包未做代码签名,Windows 首次运行可能出现 SmartScreen 提示;macOS 首次打开需在「系统设置 - 隐私与安全性」中放行,或右键 App 选择「打开」。