v0.0.0.246 · 正式包验收
v0.0.0.246 · 设置默认五项并收纳高级功能;新 EXE 实包验收通过。任务 Q 与新手实测仍为 partial。
源码 main d4e1213ed0dda0b604268f9286ee2f1019f5b639;7 项源码门禁、9 场景 40 断言浏览器、原生整组、受限命令、构建及实包验收通过。
EXE 34190336 字节 · SHA-256:7d9f2a971d514ecf22780ffd2b8039d879ea41251c613c7e59316c512d265879
完整 ZIP 20046458 字节 · SHA-256:6f731b7c0395fd8db60fbdb67f17fc2e847ac828ba821884e86a536a0ced78c2
下载完整包(EXE + runtime) · 单 EXE
设置默认显示模型、通用、用量、帮助与诊断、关于五个分类;高级功能关闭时隐藏六个扩展分类,开启后恢复。开关值由原生持久化保存,重开设置与重启后保持;旧配置不改写、不迁移,模型入口仍在设置内可直接打开模型中心;分类标题按完整词换行,1024 与 1440 宽度不横向截断。原生受限令牌与拒绝策略保持;关于页、桌面 IPC/终端/存储、真实 Provider 会话与重启、真实改码和独立二次测试通过。任务 Q 和新手实测仍为 partial,不外推其他模型、语言、机器或打包应用全量旅程。
v0.0.0.245 · 正式包验收
v0.0.0.245 · 项目文件夹与执行方式;新 EXE 实包验收通过。任务 Q 与新手实测仍为 partial。
源码 main d799ddbb4674aaa6b4d51761f6526d4a7ecc31a7;7 项源码门禁、浏览器、原生整组、受限命令、构建及实包验收通过。
EXE 34189824 字节 · SHA-256:eb5fedde65845fd1ad1411d407d55e3dffb3253c4d7c41d84c64a276abdae621
完整 ZIP 20043748 字节 · SHA-256:3dc373077aee51d808b3ab9e5c68381ba87c9154294f8b2aca6a46f0eb8e6b54
下载完整包(EXE + runtime) · 单 EXE
原生受限令牌与拒绝策略保持;关于页、桌面 IPC/终端/存储、真实 Provider 会话与重启、真实改码和独立二次测试通过。任务 Q 和新手实测仍为 partial,不外推其他模型或机器。
v0.0.0.231 · 模型编程工具实测
在模型中心点击“测试编程工具”,检查当前模型能否返回准确的原生工具参数,会产生少量模型用量。工具参数测试通过后,实际开发仍须以文件变更与命令验证结果验收。
新EXE真实修复求和代码并执行独立测试,验收程序二次运行通过。源码15门、原生163 passed / 1 ignored、16项终端存储及受限命令边界通过。任务Q整体partial,粘贴即配置、自动建项目和新手实测待完成。
v0.0.0.230 · OpenAI 流 choices/choice/delta 容器保护
在输出和工具聚合前校验choices数组、每个choice对象和delta对象,坏形状立即STREAM_INVALID_EVENT,取消流且不重试或经济升级。缺省/null choices、空数组、缺省/null delta保持兼容,供应商错误优先级保持。
新增21项专项修前14项失败,修后组合59项通过;原生新增10种坏形状零工具执行,合法正控read一次,真实读取内容与tool_result调用id正确返回。源码14门,原生163 passed / 1 ignored;完整EXE/runtime经真实任务及受限命令门禁后发布。预览版仍需跨机器长期验收。
v0.0.0.229 · Anthropic 工具参数增量字符串形状保护
Anthropic input_json_delta.partial_json在追加前拒绝非字符串实际值,立即STREAM_INVALID_TOOL_CALL,避免空参、旧参或拼接参数执行,取消流且不重试或经济升级。缺省/null/空字符串与合法JSON分片继续兼容,原供应商错误及结束后输出诊断保持。
新增26项专项修前18项失败,其中10项错误返回成功;修后连同初始参数、结束原因与预算回归共80项通过。原生异常参数零工具执行,合法JSON正控实际读取一次;完整EXE/runtime经源码、原生及真实任务门禁后发布。预览版仍需跨机器长期验收。
v0.0.0.228 · Responses 工具参数字符串形状保护
Responses工具added/item-done、参数delta/done及终态output五个入口拒绝数字、布尔、对象、数组等非字符串参数,立即STREAM_INVALID_TOOL_CALL,避免静默空参或沿用旧参执行,不重试或经济升级。缺省/null/空字符串及合法JSON分片保持兼容,截断与供应商失败诊断优先。
新增37项专项修复前30项失败,修复后连同身份、参数完成和预算回归共80项全部通过。保留v227工具身份别名统一和命令沙箱边界;完整EXE/runtime经源码、原生和真实任务门禁后发布。预览版仍需跨机器长期验收。
v0.0.0.227 · Responses 工具身份别名统一
Responses兼容协议中,工具身份别名未统一会导致同一工具被当成多个工具:旧逻辑可能重复执行同一工具,或在身份冲突时静默选择其一。现在统一工具身份别名,同一工具不再被重复执行,出现身份冲突时立即拒绝并报错,不再静默降级;合法别名归一与既有工具调用保持兼容。本版最初14项工具身份测试修复前10项失败;追加2项身份回归,连同参数完成及预算专项共 43 项,修复后全部通过。
保留v226 Anthropic 工具初始参数非对象即时失败、v225 Anthropic stop_reason 后内容事件即时失败、v224供应商错误事件识别与非对象SSE载荷拒绝、v223工具增量形状校验、v222 Responses截断终态优先识别、v221完成快照容器加固、v220终态思考回填、v219原生大文本编解码与v218完成事件正文回填;正文与思考累计预算及命令沙箱边界保持。EXE内嵌原生CLI,完整包(EXE + runtime)与单文件EXE统一验收晋级;候选上传与服务器check-only不代表正式上线,真实受限命令验证仍是发布条件。
v0.0.0.222 · Responses截断终态优先识别
Responses协议中 response.incomplete 或 completed 且 status=incomplete 的截断终态,在读取终态 usage 后立即抛出 STREAM_OUTPUT_INCOMPLETE,不再校验部分工具快照,避免工具缺名、残缺JSON或预算错误掩盖真实截断;拒绝后续帧、重试与升级,既有 max_output_tokens=1 探测例外保持不变。
保留v221完成快照容器加固、v220终态思考回填、v219原生大文本编解码与v218完成事件正文回填;正文与思考累计预算及命令沙箱边界保持。EXE内嵌原生CLI,完整包(EXE + runtime)与单文件EXE统一验收晋级;候选上传与服务器check-only不代表正式上线,真实受限命令验证仍是发布条件。
v0.0.0.221 · Responses完成快照容器加固
Responses协议完成快照的 output 与消息 content 在缺失、对象、数字、布尔或 null 等非数组形态下不再抛出 TypeError,也不再因此丢弃同批次合法助手文本;仅公开文本部分参与回填,encrypted_content 与非公开文本永不暴露。仅含畸形内容而无正文仍判为 STREAM_EMPTY_RESPONSE,已流式到达的正文与思考保持权威不被覆盖。
保留v220终态思考回填、v219原生大文本编解码与v218完成事件正文回填;失败/不完整终态拒绝语义、正文与思考累计预算及命令沙箱边界保持。EXE内嵌原生CLI,完整包(EXE + runtime)与单文件EXE统一验收晋级;候选上传与服务器check-only不代表正式上线,真实受限命令验证仍是发布条件。
v0.0.0.220 · Responses终态思考回填
Responses协议仅以完成快照返回思考时,从 reasoning 项的 summary_text 与 reasoning_text 公开文本按输出顺序回填;已流式增量思考保持权威,不被终态快照覆盖。response.failed、response.incomplete 及 completed 但状态为 incomplete 的终态不回填,encrypted_content 与非公开文本部分不暴露;仅 reasoning 而无正文仍视为非空成功响应。
保留 v219 原生大文本编解码与 v218 完成事件正文回填,正文与思考累计预算、失败/不完整拒绝语义保持。源码与 release 原生整组门禁通过,真实桌面包 IPC、存储和 ConPTY 专项通过;受限命令验证返回 exit_code 1,候选暂存与服务器 check-only 不代表正式上线,EXE 与配套 runtime 仍待完整门禁晋级。
v0.0.0.219 · 原生大文本与最终正文修复
原生解码直接传递字节视图,ASCII编码避免逐字符桥接;视图偏移、独立输出与Unicode错误策略保持。包含Responses仅最终完成事件正文回填,已有流式正文不重复覆盖;失败、不完整终态及原响应预算保持。
EXE内嵌原生CLI,EXE与配套runtime须统一验收晋级。候选上传与服务器check-only不代表正式上线,真实受限命令验证仍是发布条件。
v0.0.0.216 · 开发执行修复与本地自检
集成中断恢复和打包修复;一次性原生命令不再继承父进程的输入通道,修复 Git 命令在无头调用中一直等待的问题。工具只执行供应商标准协议返回的调用,正文中的工具 JSON 不会执行;疑似非标准调用会明确提示更换支持工具调用的模型。
设置 → 诊断 → 开发能力自检可检查工作区、执行方式、工具白名单、最近实际请求工具数量及待审批状态,不发起付费探测。计划模式明确提示不会直接修改文件;无工作区时阻止发送并给出选择入口。
最终候选包经真实百炼 qwen3.8-max-0902 的 7 次请求完成读取、修复、测试和 Git 提交;测试文件未改动,独立复跑两个断言通过。边界是同包原生命令桥与 TypeScript 无头编排器,不代表所有供应商、跨机或完整桌面任务矩阵通过。1280×800 真实审批组件独立浏览器回归通过。
桌面免安装版使用 EXE 和系统 WebView2。命令行仍需 Node.js 20+ 和同版本 resources/app;官网下载单 EXE 不含命令行配套运行时。原生单文件 CLI、更多语言、精细用量台账及 F/J 等未闭环任务继续开发,鹈鹕动画专项尚未完成。
v0.0.0.214 · 当前开发预览版
修复候选包 Windows 绝对路径被当作 URL 的打包问题;前端正确内嵌,工作台与设置关于页已实机核验。免安装桌面只需 EXE 和系统 WebView2;headless 命令行另外需要 Node.js 20+ 与同版本 resources/app 配套运行时,单独下载 EXE 不包含这套 Node 运行时。
本版集成重构、多模态开发进度与跨窗口存储初始化修复,保留既有权限、目录边界和显式费用确认。通过完整冒烟及重构、二进制文件的原生桥回归,不等于全部新功能端到端验收。
本次按当前开发进度发布预览版,不代表重构与多模态任务 F/J 已完整验收。原生覆盖率门槛、完整桌面任务矩阵、真实付费媒体生成、跨机与长期稳定性仍待补齐;本轮百炼鹈鹕动画任务尚未执行,等待确认控制台接入地址和模型。
v0.0.0.212 · 代码库理解整任务 E0–E4
先实测现有 LSP,再完成结构化符号、本地全文检索、分层引用和大仓概览。TS/TSX、JS/JSX、Rust、Python、Go 使用 tree-sitter;Vue、Kotlin、Swift 等其他文本格式仍被收录,但符号标注 heuristic。语法解析的 exact 不代表类型推断;多行签名、装饰器、泛型与容器归属有定向回归。
project_overview 返回目录、入口、依赖及语言统计,最多 3000 字符;目录职责和命名入口是推断,依赖来自清单而非安装证明。search_code 使用本地 BM25 和符号名、路径、注释、正文权重,不是语义检索;请包含代码中可能出现的实际词汇。没有引入 embedding、远端索引或后台守护进程。
find_references 有可用 LSP 位置时优先语义查询,LSP 正常空结果不会静默换成文本命中;不可用或失败时明确降级。syntactic 排除注释和字符串,但仍可能混入不同作用域的同名标识符;textual 是不支持语言的纯文本兜底。call_hierarchy 是有界轻量语法调用图,不能保证跨类型、动态调用或跨作用域绑定;精确语义仍需语言服务器。
索引只写当前工作区 .codeghost/index/,遵循忽略规则,不扫描依赖、构建目录、内部缓存或符号链接。单文件修改复用修改时间与大小判据;无变化不重写快照,有变化仍执行缓冲写入、同步及原子替换。跳过、解析失败、启发式、截断与省略数量显式披露;监听故障会回退检查并警告,不放宽目录越界、工作区授权或桌面精灵权限。
Windows release 两轮原始门槛实测:10,000 个合成 TypeScript 文件,冷启分别 2.60 / 5.32 秒(要求 <30 秒),单文件增量 163.10 / 141.15 毫秒(<2 秒),索引后查询 3.09 / 6.45 毫秒(<100 毫秒),索引约 17.89% 源码体积(≤50%)。每轮使用全新夹具和无索引目录,查询为同一进程暖态完整链路;不计夹具创建与编译,未主动清除操作系统文件缓存。这不是跨进程启动、监听故障回退、全部语言或所有仓库的时延保证。
33 项原生回归、最终完整冒烟 55.48 秒、TypeScript 和前端构建通过。最终 EXE 的真实 WebView 四工具、文件候选与越界拒绝通过,百炼 qwen3.7-plus 实际完成四工具导航;只发送合成工程内容,23 份原生存储逐字节恢复。最终包的 Node 原生桥及本地 401 文件真实仓库定位通过,真实仓库内容未发送给模型,索引为源码的 36.01%。这些证据不代表所有供应商、跨机或长期大仓任务已验收。
v0.0.0.208 · 自动备选能力预检
只对已授权自动备选检查图片、工具和上下文需求。明确不匹配时跳过并记录原因,未知能力继续尝试;主选模型和连接探活不受此排除规则限制。规则不会扩大故障切换队列,也不会自动重放已输出内容的请求。
能力按供应商与模型独立存入 modelCapabilities,可声明 vision、tools、contextTokens。v208 当时提供配置合同和执行器接线,尚未新增能力勾选界面或目录元数据采集;v211 已补齐编辑界面和明确目录能力采集,详见高级切换参数一节。没有声明的现有用户仍按未知放行。名称中的 vl/vision 只作支持图片的正向默认,用户声明优先;不会凭名称猜测其他模型不支持图片。
上下文比较使用消息、图片占位、历史工具交换及工具定义的客户端输入估算,不是精确 Tokenizer,也不包含输出预留保证。真实百炼仅验证合成工具请求、配置预检与同站降级;真实图片识别、双真实供应商切换和长期大仓任务仍需分别验收。
本包还包含共享 GUI/headless 回合编排与记忆/工作进度注入。headless SDK 的会话保存由宿主提供回调,未提供时只在结果中返回会话;一次性 CLI 不承诺自动恢复,审批授权也不会随会话恢复。
v0.0.0.190 · 说明悬浮气泡与界面统一
设置与模型配置里的说明文字统一改成鼠标悬浮才展开的深色科技风气泡:行内只保留标题与一个强调色「i」标记,详情悬浮展开;安全相关的关键提示(百炼密钥警告、路由授权须知、凭据错误)保持常驻可见。
按钮去掉厚重边框与实心灰块,次要按钮默认只剩文字、悬浮才现底色,界面整体轻量化;设置行标题提亮加粗。顶栏未登录账户入口图标从幽灵轮廓笑脸换成 CodeGhost 平台正式托盘图标(蓝→青渐变圆角方块加 </> 内核),与产品主视觉统一。全量排查了设置页与模型配置页的所有说明,统一按同一标准处理。
v0.0.0.189 · 账户登录图标优化
v0.0.0.187 把未登录账户入口放在顶栏最左,并用 ModelGhost 平台图标做标记;但原来的彩色渐变图标在深色标题栏按钮里细节丢失,看起来像一块深色方块。v0.0.0.189 新增单色幽灵轮廓图标 i-ghost-mark:使用 currentColor 描边,眼睛和嘴巴为实心,不依赖彩色渐变,在深色与浅色顶栏上都清晰可辨。
未登录时,顶栏账户按钮显示一个干净的幽灵笑脸;已登录后仍优先显示头像,头像加载失败时同样 fallback 到该图标。账户菜单内的头像 fallback 也同步替换,保持视觉一致。
v0.0.0.188 · 设置界面减负
设置项的长说明默认收起,鼠标悬浮或键盘聚焦所在行时展开。设置列表不再被「每行一段灰字」撑爆,需要细节时把鼠标放上去即可。说明仍保留在页面结构里,屏幕阅读器不受影响;编辑器内的字段说明与错误提示保持常驻,不参与收起。
按钮轻量化:次要按钮默认只剩文字,悬浮才出现底色;审批与弹窗的主操作(如「允许执行」「应用」)改为强调色实心,与次要动作拉开层次。检查点工具条按钮的描边线框一并移除。
字体层级重排:设置行标题提亮加粗,成为每行唯一的文字锚点;说明保持弱化。MCP 高级提示等独立长段落默认只露首行并渐隐收尾,悬浮完整展开。
v0.0.0.187 · 顶栏整行重排
顶栏布局调整为:最左是账户登录(未登录显示 ModelGhost 平台图标作为标记,登录后显示头像),其后是命令面板、模型中心、设置与左侧栏开关;产品名 CodeGhost 移到顶栏正中;系统资源监控(CPU / GPU / 内存)移到右侧,紧贴右侧面板开关与窗口控制按钮。
产品名用绝对定位做窗口级居中,左右内容宽度变化不会把它挤偏;窗口过窄时自动隐藏让位,避免与功能键重叠。资源条右缘距右侧面板开关 2px,与窗口控制构成一个视觉整体。
本轮只有布局调整,没有改动任何功能入口:命令面板快捷键、模型中心、设置、两侧面板开关与账户菜单位置变化后行为不变。
v0.0.0.186 · 命令沙箱默认开启
命令沙箱改为默认开启。启动时对当前平台做一次真实探测:可用就开启,不可用则保持关闭,并在设置里写明原因,不再要求用户先手动打开开关。此前默认是关闭的,等于在大多数机器上这项保护从未真正生效。
同时修复一处运行时崩溃:沙箱状态此前从未在应用里注册,读取它的代码每次都会 panic。这个缺陷被「默认关闭」掩盖了很久——一旦改成默认开启,它会变成每次执行命令必崩。修复后已在本机实测:设置页显示「已开启」与「命令已在受限令牌下执行」,并确实在受限令牌下跑通了命令。
沙箱的能力边界没有变化:限制命令写入工作区之外的位置、阻止权限提升,不隔离网络访问,也不阻止读取当前用户可读的文件。需要关闭时仍可在设置里手动关掉。
v0.0.0.185 · Hooks 补齐到 5 种 handler
Hooks 现在支持 5 种 handler:工作区命令、HTTP 请求、MCP 工具、注入提示、子 Agent 评估。此前只有工作区命令与 HTTP 请求两种,覆盖面明显窄于同类工具。
「注入提示」把一段固定文本连同事件内容一起追加到模型上下文,用于在执行前后补上项目约定或检查清单,适合「改完文件别忘了同步更新测试」这类不成工具的约束。它没有副作用,因此在只读上下文里也允许运行;其余四种在只读上下文下仍受隔离策略约束。
「子 Agent 评估」派一个只读子任务去复核本轮改动,把它的结论作为附加上下文回填给主任务。子任务本身受隔离策略约束,不会递归再派子任务。未配置档位或子任务返回空报告时按失败处理,失败策略与其它 handler 一致,不会当成通过。
v0.0.0.184 · 编辑后自动反馈语言服务器诊断
文件编辑类工具执行成功后,会自动向已配置的语言服务器拉取该文件的诊断并反馈给模型,让它自己看到改动引入的错误,而不是等到下一次手动编译或运行测试。
实现上必须先把文档同步给服务器,再等待服务器主动推送的诊断通知——诊断是服务器主动下发的通知,没有对应的请求方法可以同步索取。等待窗口默认 4 秒;等不到就返回空列表,不把「没拿到诊断」说成「没有错误」。严重级别缺失或越界时按错误计,避免把真实编译错误降级成提示。
未配置语言服务器时这一步是空操作,没有额外开销。单轮最多检查 4 个文件、最多反馈 30 条诊断,单条消息超过 240 字符会截断。该行为由设置里的「编辑后自动诊断」控制,可关闭。
v0.0.0.183 · Hooks 新增 MCP 工具 handler
Hooks 可以直接调用已接入的 MCP Server 上的工具,复用现有 MCP 客户端,不新增任何连接配置:选择 Server、填写工具名即可,附加参数以 JSON 对象形式给出。
事件字段与填入的固定参数会合并,固定参数优先。调用带超时;工具返回结构里的错误标记会被识别为失败,不会当作普通输出放行。
v0.0.0.179 · 侧边栏收起与顶栏精简
会话侧栏支持收起与展开,收起后对话区获得完整宽度,会话记录不丢失。该偏好随应用保存,重启后保持上次状态;顶栏按钮提供切换,命令面板也新增「收起/展开会话侧栏」入口,可用键盘检索到。
移除顶栏重复的产品名。此前窗口标题栏与应用内顶栏各显示一次产品名,属同一信息重复占位;现在应用内只保留图标,名称仍由窗口标题栏承载。
本版本未包含远程控制与移动端能力。
v0.0.0.178 · 第三种接口协议:Responses
新增 /v1/responses 协议,与 Chat Completions、Anthropic Messages 三种并列可选。三者请求体结构互不通用:Responses 以 input 数组承载对话、以 instructions 承载系统提示,而非 messages。地址与所选协议不匹配时保存会被拦下并给出提示,不做静默降级改写。
流式解析覆盖正文增量、思维链摘要增量、工具调用参数增量与结束事件。工具调用按 item_id 归并,避免同一次调用的参数分片被错误拆成多个工具调用;工具结果回填使用真实 call_id。
地址归一化只剥离末尾的 /responses。官方地址 https://api.openai.com/v1/responses 若多剥一层会丢掉版本段而变成无效地址,该边界已由测试固定,避免后续改动回退。
v0.0.0.177 · 修复首屏停在启动画面
修复部分机器上启动后长时间停在「正在启动工作台」的问题。根因有两处:一是首屏渲染前会等待本机存储迁移完成,该迁移逐个读取 Windows 凭据管理器,可能长时间阻塞,界面因此始终等不到渲染;二是界面读取本机存储的两个命令原先以同步方式实现,跑在主线程上,会挡住界面事件循环。
处理方式:存储读取改为与首屏渲染并行,并设 3 秒上限——超时先渲染界面,读取在后台继续;两个阻塞命令改为异步执行,交由线程池调度,不再占用主线程。
实测结果:启动后 4 秒内首屏完整可见,包含会话列表与输入区;持续观察 48 秒无卡死、无回退。
v0.0.0.176 · 移除未实现的降级分支
移除命令沙箱中一条从未被实现、也从未被调用的降级分支。该分支在类型上暗示「沙箱不可用时退回普通权限运行」,但代码里没有任何路径会走到它,容易让审查者误以为存在这层兜底。
现在沙箱不可用一律直接拒绝执行,行为与文档描述一致,并有测试固定该语义,防止后续改动重新引入静默降级。
v0.0.0.175 · MCP、输出风格与命令沙箱
代码智能新增标准 MCP 客户端:按 2025-06-18 协议握手,解析 Server 声明的 tools / resources / prompts 三项能力,未声明的一律视为不支持,不做"试调用看是否报错"的探测。工具调用支持结构化参数与取消,Server 进程随应用退出收尾。
对话输出风格可切换并随会话保存;自动记忆把值得跨会话保留的事实写入本机,手动压缩上下文在需要时收束较早轮次。二者都不改变工具审批,压缩不会绕过权限策略。
设置里新增命令沙箱开关,默认关闭,开启前会对当前工作区完整试跑一遍受限令牌创建与目录授权,失败即拒绝开启。沙箱限制命令写入工作区之外的位置并阻止权限提升;不隔离网络访问,也不阻止读取用户可读文件。命令启动时若沙箱不可用,直接拒绝执行,不会悄悄退回无沙箱运行。
权限策略不再只是固定档位,可按工具与路径细化编辑,规则来源和命中记录在审批界面可见。工具输出支持完整读取,长输出截断时可展开原文,不再只看到摘要。
界面统一了菜单、工具栏与面板的呈现层次并同步更新文档与构建配置。本版本没有引入远程控制或移动端能力。
v0.0.0.168 · 长命令停止与继续开发
停止按钮现在会取消当前有限命令及其 Windows 子进程,不再等安装、编译或测试运行到超时。命令的已有输出和文件修改会保留;进程清理、输出收集和最终文件对比完成后,当前工作区才能执行新任务。停止一个任务不会终止其他任务的命令。
计划中的独立验收和命令 Hook 也会响应停止,之后不再启动剩余工具或 Hook。执行记录显示“已中断”,取消的检查不能作为计划完成证据。同一对话尚未开始的消息保持暂停,可单独重新发送;停止不会自动撤销已发生的修改。
支持范围为 exec_command 和命令 Hook。独立托管的开发服务器与 PTY 使用既有进程控制;本轮没有为 Git、LSP 或 MCP 增加通用强制取消。文件对比仍受项目大小和系统读取耗时影响,Hook 的任意写入未纳入检测。本轮没有新增操作系统级沙箱。
v0.0.0.167 · 命令修改与复验
通过脚本、迁移或格式化命令修改项目后,原先通过的检查会标为待复验。命令失败或超时留下的部分修改也会识别。检查本身修改文件时,需要在文件稳定后再跑一次;没有修改文件的查询和相同内容重写不触发重复检查。
检测遵循项目忽略规则,并跳过依赖、构建和缓存目录。测试输出应放入明确的生成目录或项目忽略范围;隐藏配置文件仍可检测。检测不完整时保持待验证。Node 内联脚本不再仅因包含测试相关字样就被误判为验收命令。
当前覆盖会自行结束的命令,后台长期进程、Hook 和 MCP 的任意写入仍需单独验证。文件对比不提供操作系统级沙箱。真实模型已在受控项目中通过命令修复端口解析器,并完成多文件任务服务回归。
v0.0.0.165 · Windows 编辑与多项验收
普通局部编辑和计划快照编辑均兼容 LF/CRLF 差异,保留未修改区域和局部换行风格;缩进与其他文字仍须精确匹配。重复上下文需要补充定位,或明确要求全部替换。单次局部编辑的文件与结果上限为 8 MiB。
测试、类型检查等结果按程序、参数和执行目录分别保存。一个检查通过不会清除另一个检查的失败;再次修改文件后,之前通过的检查标为待复查。模型会收到待修复和待复查命令,各项重新通过后才能标记完成。目录错误等没有实际执行的调用不会成为无法消除的验收项,纠正参数后可以继续验证。展开验证结果可查看每项状态,便携会话保留这些记录。
命令不同写法不会自动合并为同一检查,修复提示会给出原始参数。自动失效覆盖原生文件编辑,不监控任意外部进程的写入;本轮没有新增操作系统级沙箱。
v0.0.0.161 · 紧凑流式对话
正文末尾的蓝色方块已改为轻量“正在回复”提示。生成中和完成后使用一致的 Markdown 排版,支持表格、列表、行内代码和代码块复制;深度思考仍在执行记录中折叠展示。工具默认一行,点击可查看文件路径、命令及输出,失败记录自动展开。
输入框始终按 Enter 发送;当前任务进行时,新消息会显示在对话中并按顺序处理。尚未开始的消息可以撤回,停止后可在对应消息上重新发送。上下文用量放在底部工具栏,点击仍可调整;拖动输入框顶部可以放大或缩至单行。
隐式待处理消息只保留在当前应用进程,退出后不恢复;已开始的消息正常保存在会话中。本轮浏览器交互验收使用受控模型,核心开发能力的真实小项目验收范围见 v160 记录。
v0.0.0.160 · 项目开发与验证闭环
已有项目可选“自动编辑”完成读取、修改、运行检查和失败修复;文件编辑直接执行,命令仍按策略批准。需要先审查实施步骤时选择“计划”,简单任务可只有一步。建议明确目标、现有测试命令及不得修改的范围。
计划文件检查和项目测试分别记录,不再把文件存在或包含字符串当作测试通过。命令执行后根据批准文件的实际变化更新计划,未变化的已完成步骤继续保留。首次使用推荐从已有测试覆盖的小范围需求开始。
所有供应商流连续 90 秒没有数据时退出等待并说明原因;完整结束或停止不会无限等待底层取消。复杂项目长任务和跨供应商成熟度仍需更多真实验证。
v0.0.0.158 · 深度思考与实时执行
深度思考放在本轮执行记录中,以淡色文字展示;正式输出保持正常文字。输入框顶部可上下拖拽,也可聚焦拖动条后按上下方向键调整。编码精灵各阶段与互动增加动作准备、缓冲和收尾,支持减少动态效果。
Windows 百炼兼容传输改为逐块返回,避免等全部响应结束才显示思考或输出;90 秒没有新数据会明确报错。模型通过原生工具调用请求文件或命令操作,平台按审批策略执行,并使用调用 ID 回传对应结果。
连续发送已在 v161 简化为普通发送入口,任务侧栏仍显示当前对话最新计划。
内存直接显示如 184MB/4GB,悬浮说明统计范围:前者为主进程工作集,后者为用户分配的子进程限额。命令与 PTY 在本机运行,没有操作系统级沙箱;计划、自动编辑和全自动是审批策略。
CodeGhost 文档
先把真实使用路径说清楚
文档只描述已经可用的能力;仍在开发的向量语义检索等能力会明确标注。
Git 分支管理
左侧栏底部的 Git 入口支持搜索本地与远程分支、新建并切换本地分支、为远程分支建立跟踪分支,以及使用 git branch -d 安全删除已合并的非当前分支。菜单从侧栏左边展开,长分支名会在入口与菜单中完整换行,避免窄侧栏把前缀裁掉。
连续开发回复与会话操作(v0.0.0.141)
同轮 AI 分析、真实操作、模型主动返回的思考摘要与最终输出在一条回复中展示。过程仍可折叠,失败和未执行不会隐藏,运行中补充要求保持原位置。未返回思考摘要时不编造;跨轮次和旧历史仍保持分隔。
点击对话顶部名称进入编辑:Enter 保存、Escape 或取消按钮撤销,空名称不保存,中文输入法选词不会提前提交。新名称同步侧栏并保存在本机历史。右上角神经元图标进入模型中心。
输入/输出小于 1,000 时显示 Token,达到千级显示 KToken,百万级显示 MToken,例如 18,281 显示为 18.28 KToken、569 显示为 569 Token;悬浮仍可查看精确计数。耗时自动选择毫秒、秒、分、小时或天。按钮点击或启用状态变化后收起旧提示,避免发送任务的说明残留在审批界面。
和立体代码幽灵一起工作
精灵默认叫「小幽」,冰白壳体、深色玻璃面罩与短足继承 CodeGhost 的代码幽灵主题。2.5D 厚度、弧面光影、高光和阴影增强体积感。把鼠标移到角色附近,身体和面罩轻微转向你;点击角色、点击“摸摸头”或在角色聚焦时按空格,会得到表情、动作和文字回应。实现为轻量 SVG/CSS 透视,并非完整 3D 模型。
第二个互动按钮随阶段变化:待命时“开工暗号”,执行时“打气”,本轮完成后“击掌”,失败时“抱一下”,审批或停止时“陪我一会儿”。审批遮罩出现时,请使用弹窗内的陪伴按钮;它会回应“这一步仍未执行”,需要你另外点击允许或拒绝。这些互动完全在本机完成,不调用模型、不执行工具、不代替确认,不改变真实任务状态。
给小幽一个名字
点击精灵右上角的星形按钮打开陪伴档案,可设置最多 12 个字符的昵称、恢复默认名、查看互动与并肩轮次,以及关闭主动问候。欢迎语依据本机时间和已有记录;任务超过 45 秒时会提示仍在陪伴,不估算进度百分比。没有连续签到、排行榜或付费互动。
昵称、互动计数、近期相伴日、最近见面时间及有界匿名轮次签名只保存在当前设备,不进入模型上下文,也不记录路径、提示词或代码。预览动作不会增加任务轮次。保存失败会明确提示仅本窗口生效;新阶段和会话会清理过时回应。关闭动画、减少动态效果、隐藏窗口或收起角色时均有相应节能处理。
编码精灵与实时开发过程
精灵随思考、读取、编码、验证与等待确认切换动作。点击“预览动作”无需 API 即可体验;真实任务开始后自动退出预览。互动动画与真实任务信息分开呈现,支持收起和系统减少动态效果。
在任务执行过程中查看进展
每轮输入下方显示开发过程:当前操作、文件路径、真实开始与结束、耗时、失败及可用退出码。未进入工具执行的审批拒绝或规则拦截会显示“未执行”,不会伪造已完成操作;主动拒绝后明确说明本轮已经停止,不会误报模型空回复。正常结束默认收起,失败或中断保留展开;短暂操作仍可回看,模型公开返回的思考摘要可在对话里折叠查看,未返回时不会编造。
过程记录随会话保存,支持便携 JSON 和可读 Markdown 导出。复制或恢复会话不会重放命令,未完成的操作明确收束为中断,退出时间未知时不伪造耗时。每轮最多保留 160 条记录并说明精简数量;查看较早消息时停止追底,点击“回到最新”可恢复跟随。项目是否通过验证仍以工具证据为准。
1. 安装便携版
- 从 CodeGhost 页面下载单个
CodeGhost.exe - 核对页面公开的 SHA-256
- 放到固定目录并直接启动;移动文件后重新启动一次以更新登录回调协议
- 未签名前 Windows 可能显示未知发布者,请只从 modelghost.cn 下载
2. 选择工作区
每次新建会话时在输入框选择本地目录。文件、搜索、Git 和命令工具都被限制在这个工作区内。
3. 配置模型与路由
官方供应商填写 API Key 并选择模型;第三方中转必须同时填写 HTTPS Base URL、API Key 和模型。自定义请求头只在对应供应商请求中发送。
模型中心的“自动路由与故障切换”可把多个已连接供应商加入队列,并分别调整模型优先级。只有用户明确开启并保存后,任务才可能发送到其他供应商。当前供应商本地估算余额为零,或连续请求失败达到五次时,会切到下一个供应商的队首模型;一旦已经显示部分流式内容,本轮不会跨供应商重放。
“旗舰规划、经济执行”会先用指定旗舰模型生成无工具权限的架构蓝图,再把蓝图作为受限参考交给指定经济模型读取真实代码、编辑并验证。计划模式由架构模型完成只读调研和计划,用户批准后再切换执行模型。两个阶段的实际供应商与模型会在界面提示,输入输出用量均计入本次任务。
4. 选择执行方式
计划模式先调研和确认;自动编辑允许普通文件修改,高风险操作确认;全自动仅用于边界清晰且能审查的任务。
5. Skills、规则与斜杠命令
设置 → Agent 与 Skills 可创建用户级 Skill 和自定义斜杠命令。项目 Skill 按 .codeghost/skills、.agents/skills、.claude/skills、.codex/skills 顺序发现;项目规则兼容 AGENTS.md、CLAUDE.md、GEMINI.md、Copilot 指令和 CodeGhost 规则。仓库根规则在任务开始时加载;子目录中的规则按父级到子级继承,并在首次修改该作用域前注入。发现新规则的当前文件操作会先停止,等模型下一轮按新规则重新调用,避免多包仓库把一个模块的约定误用到另一个模块。规则文件必须位于已授权工作区内,单个子目录规则最多读取 12,000 字符、一次任务的新增作用域规则最多 48,000 字符。输入 / 可选择内置或自定义工作流。
5.1 自定义 Agent
设置 → Agent 与 Skills 可创建任务专用 Agent,并绑定系统指令、已配置的模型供应商、具体模型、思考强度、内置工具白名单、用户 Skills 与已启用 MCP Server。启用后的 Agent 会出现在每个会话输入框中,选择结果随会话保存;工具和 MCP 限制会在执行层校验,不只是提示词约定。工具或 MCP 未勾选时沿用全部可用项。
5.2 Hooks 自动化
设置 → Agent 与 Skills 可为任务开始、工具执行前、工具执行后、任务完成和任务失败配置工作区命令。Hooks 有总开关和单项开关,默认不会运行;每条命令可设置 1–600 秒超时以及“失败后继续”或“失败时阻止”。命令在 Windows 下隐藏窗口运行,输出与退出码进入任务工具日志;事件上下文通过受限的 CODEGHOST_* 环境变量提供,不会注入完整对话。
5.3 项目级共享配置
仓库可在根目录提交 .codeghost/config.json(当前 version: 1),共享项目指令、Skills、斜杠命令、自定义 Agent、MCP 声明与 Hooks。提示词类配置选择工作区后自动可用;MCP 与 Hooks 可能启动进程或访问网络,因此必须在设置页显式导入并逐项开启。仓库内提供的 MCP 环境变量、请求头、自动连接和启用状态都会被忽略,密钥必须在本机重新填写。配置最大 512 KB,并有列表数量与文本长度上限。
5.4 工作区长期记忆
“设置 → Agent 与 Skills → 当前工作区长期记忆”可保存构建约定、架构背景和反复使用的项目偏好。记忆完全由用户显式创建,可逐条改名、编辑、暂停或删除;CodeGhost 不会自动抽取或暗中保存聊天内容。记录只保存在本机,并以工作区哈希隔离,不保存明文目录;每个工作区最多 32 条、每条最多 2,000 字符、单次任务最多注入 12,000 字符,最多保留 12 个工作区。启用的内容会在每次任务开始时发给当前模型供应商,因此不要写入密码、API Key 或其他秘密。记忆属于低优先级用户背景,不能覆盖系统规则、当前用户要求、项目规则或工具审批。
5.5 代码智能与语言服务器
“设置 → 代码智能”可按文件扩展名配置并明确启用本机标准 stdio LSP。Rust 可填写 rust-analyzer;TypeScript 可填写 typescript-language-server 并使用参数 --stdio;Python 可填写 pyright-langserver 并使用参数 --stdio。CodeGhost 按需启动匹配的服务器,并向 Agent 提供真实语义定义与引用工具。
查询只允许当前授权工作区内、最大 2 MiB 的 UTF-8 源文件;语言服务器子进程隐藏窗口并纳入 Agent 共享内存限制,单次请求 20 秒超时,单条协议消息限制为 4 MiB,返回位置再次过滤到当前工作区。首次索引会进行有界等待;没有匹配配置、服务器启动失败或结果为空时会明确说明,词法搜索不会标记为语义结果。
6. 连接 MCP
设置 → MCP Servers 可添加本地 stdio、远程 Streamable HTTP 或旧版 SSE 服务。连接时完成 initialize、会话 ID 管理与工具发现,Agent 可列出并调用已连接工具,外部工具调用按高风险操作审批。远程地址强制 HTTPS;可选择手工请求头,或选择 OAuth 2.1 后点击“浏览器授权”。OAuth 会从受保护资源与授权服务器元数据发现端点,使用 PKCE S256、state 和 resource 参数;支持服务端动态客户端注册,也可填写 Client ID,Scopes 留空时采用服务端推荐范围。授权回调只在随机本机端口等待一次,access token 与 refresh token 加密保存在 Windows 系统凭据中,不写入 localStorage;到期后自动使用 refresh token 更新。用户可显式开启“随应用自动连接”,启动失败不会在后台循环拉起。
已经连接的 MCP 在运行中退出、会话失效、超时或遇到临时服务错误时,会合并并发恢复请求并进行最多三次短退避重连。为避免重复写入、提交或发布,结果不确定的 tools/call 不会自动重放;连接恢复后会明确提示确认外部状态,再重新运行。旧版 SSE 只接受服务端公布的同源消息端点,避免把请求头和工具消息导向其他来源。
“清除授权”只删除本机 OAuth 凭据,不会代替用户到服务端撤销授权。“调用审计”可搜索、导出或清空最近 100 条跨会话调用摘要,并显示时间、Server、工具、耗时、成功/失败或断线恢复状态。导出需由用户选择绝对 JSON 路径,原生端限制字段集合、记录数和 128 KB 总大小;文件不包含本机记录 ID、MCP 配置 ID、参数、返回内容、请求头、密钥或完整错误正文。
6.1 附件与网页上下文
可通过输入框回形针选择文件、把本地文件直接拖进 CodeGhost,或从剪贴板粘贴截图与文件。支持 PDF、DOCX、XLSX、PPTX、PNG、JPEG、GIF、WebP,以及常见文本、代码和配置文件,单次最多 5 个。PDF、DOCX、XLSX 与 PPTX 在本机提取文字后才进入任务上下文:XLSX 保留工作表名、单元格坐标、共享字符串和公式及缓存结果,PPTX 按幻灯片页码提取文字;不会运行宏、公式或内嵌程序。原文档不超过 10 MB,Office 压缩包最多 4096 个条目、可读 XML 合计不超过 8 MB,XLSX 最多 256 个工作表、PPTX 最多 512 页,最终文字不超过 2 MB;没有文本层的扫描版 PDF 会明确提示需要 OCR。文本单文件不超过 2 MB、图片单文件不超过 10 MB且图片合计不超过 20 MB。图片按当前模型的 OpenAI 或 Anthropic 多模态协议发送。
任务文字中出现的显式 HTTPS 链接最多读取 3 个,拒绝 HTTP、本机、私网、非文本响应和超过 2 MB 的页面,并在 15 秒后超时。附件和网页正文都按不可信参考资料处理,不能覆盖系统规则或审批策略。旧版 DOC/XLS/PPT、扫描件 OCR、语音和浏览器标签页上下文仍在开发。
6.2 变更审查与安全提交
审查区支持逐文件查看 Diff、接受和拒绝;普通文本文件还会拆成未暂存变更块,可只把指定块加入 Git 暂存区,或经二次确认只丢弃指定块。部分接受的文件会保留明确状态,外部编辑导致块位置变化时会停止操作并要求刷新。未跟踪文件和二进制变更仍按整文件处理。提交只包含已经明确接受的内容,不再隐式执行 git add .;待审文件优先显示,并提供全部接受和全部拒绝。单文件限制 16 MB、单轮合计限制 64 MB,超过限制会在修改前停止。终端命令、远程 API 和其他外部副作用不属于文件审查范围。
6.2.1 异常退出恢复
任务状态和工具记录会随会话保存。应用在执行期间关闭或异常退出后,CodeGhost 会在下次启动把任务标记为“已中断”,收束仍在增长的工具卡并终止未完成计划,不会自动重放文件修改、终端命令或远程请求。请先检查工作区与变更审查区,再决定重新发送任务。
6.2.2 运行中发送新消息
Agent 正在执行时,仍可输入文字、图片、文档、代码附件、@ 工作区引用和显式 HTTPS 页面并按 Enter 发送。新消息出现在对话中,当前请求结束后按顺序独立执行,使用最新已完成历史以及发送时选择的模型、审批策略和工作区。无需切换发送方式,也不会中断正在进行的操作。尚未开始的消息可撤回;停止当前任务会暂停后续消息,在消息上点击重新发送可恢复。应用退出不恢复尚未开始的消息。附件、网页、项目规则与审批沿用正常任务的边界。
6.2.2 任务工作区隔离与并行
每次任务启动时固定其会话工作区。文件读写、Git、终端与 PTY、项目规则、Skills、代码索引和验证发现都会携带同一个任务目录,即使用户切换到其他会话也不会改用当前界面的目录。原生端维护用户已授权工作区集合,未由用户选择或通过 Worktree 创建的路径会被拒绝;模型不能仅靠工具参数扩大访问范围。不同工作区现在最多可同时运行 3 个 Agent 任务,流式输出、工具卡、计划、审批与停止操作均绑定原会话;同一路径的任务强制串行,需要并行处理同一仓库时应先创建隔离 Git Worktree,避免并发写入互相覆盖。
6.2.3 Git Worktree 管理
当前会话绑定 Git 仓库后,可从会话菜单打开“管理 Git Worktree”,查看仓库主工作树和全部隔离工作树的目录、分支、HEAD、当前状态与未提交改动状态。移除操作在原生端重新核验目标必须由 Git 登记,且不是主工作树、当前工作树、锁定工作树、丢失目录或脏工作树;任何 Agent 正在该目录运行时,界面也会拒绝操作。确认移除后,引用该目录的历史会话会保留内容但解除失效的工作区绑定。可选的分支清理只调用 git branch -d:已合并分支可删除,未合并或仍被使用的分支会原样保留,不提供强制删除。
6.3 关于与版本历史
设置中的“关于”页显示当前 CodeGhost 产品版本、版本对应提交、实际构建提交、提交时间、发布形式和本版本最新信息。历史记录在构建前从 Git 的功能、修复、性能、重构、安全和体验提交生成,从 v0.0.0.1 连续递增;早期英文 Git 提交保留原始哈希,但面向用户的说明会转换为中文。后续产品提交统一使用“功能:”“修复:”等中文前缀;若版本说明不含中文,正式构建会停止。纯文档和重复打包不会虚增产品版本,包含未提交改动的开发构建会明确标记。
7. 托管进程与 PTY
Agent 可以启动开发服务器或监听任务,持续读取 stdout/stderr、写入 stdin、查看退出码并主动停止。普通服务默认使用不会弹窗的隐藏管道;REPL、彩色输出和依赖终端语义的程序可显式启用真实 PTY,Windows 由 ConPTY 提供交互终端并支持行列尺寸变化。PTY 会话只在当前应用进程中存活,应用重启后不会自动重连;全屏终端程序的界面渲染仍受限。
7.1 修改后自动验证
“设置 → Agent 与 Skills → 修改后自动验证”默认开启。文件发生修改后,如果 Agent 准备直接结束且还没有成功验证,CodeGhost 会把本轮工作区相对改动路径传给原生发现器:直接改动 Vitest/Jest 测试时优先运行这些文件;改动普通 JavaScript/TypeScript 源码时,会在遵循 .gitignore 的有限扫描中查找实际引用它的测试。Cargo --test、Pytest 文件和 Go 包也支持定向检查,并保留项目全量命令兜底。Agent 必须运行相关且会自行结束的命令,或明确说明无法验证的原因;计划和自动编辑模式仍照常请求终端批准。
7.2 结构化命令诊断
一次性命令会并发排空 stdout 与 stderr,避免子进程因管道缓冲区写满而等待;每条输出流限制保留 1 MiB,超出后继续排空但停止累积,超时结束也采用有界收尾。TypeScript/MSBuild、Rust、ESLint、Python traceback 与常见编译器格式会解析成文件、行、列、严重程度、错误码和消息;Vitest、Jest、Pytest、Cargo Test 与 Go Test 失败会额外提取具体测试文件和用例名。结构化诊断最多保留 100 条、失败测试最多 50 条,同时保留受限原始输出供审计。
7.3 验证失败自动修复
修改后的验证失败时,CodeGhost 不接受模型直接宣称任务完成。系统会把实际命令、退出码、最多 5 个失败测试和最多 5 条诊断位置组成受限修复提示,要求先读取相关实现与测试、修复根因,再运行最小相关验证;每次新的文件修改会重新开启验证门。单次任务最多强制推动 3 轮失败修复,避免无限循环;达到上限或无法修复时保留失败状态、尝试次数和证据交还用户。
7.4 跨会话验证记忆
失败命令随后验证通过时,CodeGhost 会在本机记录失败测试名、诊断文件位置、验证次数和本轮涉及文件。以后同一工作区出现相似失败时,这些已解决线索会进入受限修复提示,但 Agent 仍必须读取当前代码并重新验证,不能照搬旧结论。记录按工作区哈希隔离,最多保留 12 个工作区、每个 24 条;不保存源码、完整命令输出或工作区明文路径,可在“设置 → Agent 与 Skills → 本地验证记忆”随时清除。
8. 会话生命周期与恢复
消息、计划、上次使用的会话和对应工作区保存在本机,重新启动后自动恢复。更多菜单支持重命名、复制为独立会话分支、归档/恢复,以及两种导出方式:.md 用于阅读与分享,版本 1 的 .codeghost-session.json 用于结构化迁移。便携会话会保留用户与助手消息类型、已完成或已终止的计划、工具活动及附件名称、类型和大小等展示信息;导入记录默认进入“历史”并保持只读。正在审批或执行的计划会安全终止,工具活动不会恢复为运行中;原工作区路径仅用于风险提示,不会获得授权,文件内容、文件变更和外部副作用也不会恢复或重放。继续任务前必须由用户恢复会话并重新选择工作区。
导入要求 UTF-8 和 CodeGhost 支持的格式元数据;原生文件上限 8 MB,可解析正文上限 4 MB,单条消息上限 128 KB、总消息上限 500 条。左栏搜索覆盖标题、消息正文、计划摘要、工具路径、模型和工作区,并可筛选活动会话、任务及归档历史。所有导出都通过系统保存对话框写入绝对路径。便携文件可能包含提示词、代码片段、工具路径和其他敏感上下文,请只交给可信对象。CodeGhost 退出时会停止它启动的托管子进程,避免留下无法管理的后台任务。
8.1 Git Worktree 隔离
会话右上角“更多 → 复制到隔离 Worktree”可从当前 HEAD 创建新的 Git 分支和独立目录,同时复制会话上下文并切换过去。该操作需要用户显式选择仓库外的空目录;当前仓库有未提交改动时会拒绝创建,防止用户误以为这些改动已经进入新任务。分支名称先通过 Git 原生规则校验,Windows 长路径前缀会转换为 Git 可识别格式。管理界面可在用户确认后安全移除 Git 已登记且干净的非当前工作树;主目录、锁定目录、运行中任务和未提交改动受保护,分支只使用非强制安全删除。
8.2 当前会话任务与提醒
左侧“任务”页只展示当前会话正在进行或已经完成的计划与工具执行,不重复列出对话历史。任务执行期间可以切换会话;流式输出、工具活动、计划卡、审批和最终消息仍绑定发起会话,停止与审批控件也只作用于对应运行任务。不同工作区最多同时运行 3 个 Agent 任务,同一路径强制串行,需要并行处理同一仓库时应先创建隔离 Git Worktree。后台完成、失败或中断后保留待查看标记,打开对应会话后清除。
“设置 → 通用 → 后台任务桌面提醒”可在后台任务完成、失败或中断时闪烁 Windows 任务栏图标。该功能适配单文件免安装包,不抢焦点、不注册后台服务,也不向系统传递任务标题、提示词、代码或模型回复;应用内待查看徽标不受开关影响。Windows 原生通知插件要求安装版,因此签名证书和安装包准备完成前不提供通知中心弹窗。
8.3 统一命令面板与快捷键
点击顶栏搜索图标或按 Ctrl+K(也支持 Ctrl+Shift+P)打开命令面板,可搜索并执行新建会话、聚焦输入、模型中心、设置、上下文、模式切换、任务/历史、变更审查和主题切换。面板每次打开还会安全合并本机与 .codeghost/config.json 中已启用的斜杠命令、自定义 Agent 和 Skills,并读取当前已连接 MCP Server 实际发现的工具;切换工作区或保存 Agent 设置后会立即刷新。使用方向键选择、Enter 执行、Esc 关闭。
选择自定义 Agent 会绑定到当前会话;选择斜杠命令、Skill 或 MCP 工具会把明确、可继续编辑的任务意图放入输入框。命令面板不会直接调用 MCP 工具,因此工具参数、Agent 白名单、高风险确认和服务端权限仍由正常执行链强制处理。外部描述会限制长度,重复 Skill 和 MCP 工具会去重,停用的配置不会出现。
“设置 → 快捷键”可为命令面板和九项高频命令录入新的 Ctrl、Alt 或 Meta 组合,清除单项绑定或一键恢复默认值。设置只保存在本机,并会立即同步到命令列表、顶栏和侧栏提示。CodeGhost 会拒绝重复组合以及复制、粘贴、撤销、保存、搜索、打印、关闭窗口等系统或编辑器常用组合;Ctrl+Shift+P 固定保留为命令面板备用入口,避免错误配置后失去键盘入口。
8.4 键盘与辅助功能
设置、模型中心、上下文、工具审批、Worktree 创建/管理和命令面板使用标准 dialog 与 aria-modal 语义,并关联可读标题。打开时焦点进入当前弹窗,Tab 与 Shift+Tab 会在可用控件间循环,Esc 只关闭最上层弹窗,关闭后焦点返回原入口;高风险审批仍保留明确的键盘操作。应用开始位置提供仅在聚焦时显示的“跳到任务输入框”链接。
按钮、输入框、文本区、下拉框、链接和可聚焦自定义控件使用统一可见焦点圈。Windows 强制高对比度模式会加强边框和焦点;系统启用“减少动态效果”时,全界面动画、过渡和滚动效果会降到最低。完整屏幕阅读器实机矩阵仍在持续验证。
9. 增量代码符号索引
Agent 可按名称搜索 Rust、TypeScript/JavaScript、Python、Go、Java、C# 与 C/C++ 中常见定义,并得到文件与行号;还可按完整标识符查找定义和词法使用位置,重构前用于快速核对影响面。词法引用具有标识符边界并区分定义,但不具备 LSP 的类型、作用域和动态分派语义。索引在工作区选择和文件修改后刷新,只重新读取新增或时间/大小发生变化的源码;输入区显示真实文件数、符号数和本轮重建数量。文件发现遵循项目 .gitignore;类型感知引用与向量语义检索仍在开发。
10. 登录与资料
登录只在系统默认浏览器、Edge 或 Chrome 打开 modelghost.cn。一次性票据经 codeghost:// 返回,长期 token 存入 Windows 凭据库。昵称和头像以主站为准。
11. 故障排查与支持报告
登录失败时先确认浏览器已允许打开 CodeGhost;Git 长时间检测时重新选择有效工作区;模型失败时检查 Base URL、模型名、请求头和供应商余额。“设置 → 诊断”可一次检查官网 HTTPS、公开发布清单、Git、本地数据写入与当前工作区授权,并显示网络耗时。诊断结果可由用户主动导出为最大 256 KB 的 JSON 文件,且必须写入用户通过系统对话框选择的绝对路径。
支持报告不会读取或记录 API Key、登录令牌、代理地址、工作区路径、提示词、源码、模型回复和命令输出;代理环境只记录“已配置/未配置”。你可以先自行查看 JSON,再决定是否发送给支持人员。
提交反馈 →
v0.0.0.211 · 供应商切换强化,整任务交付
本版一次交付任务 D 的 D1–D5,不再按子项发布。在“模型中心 → 自动路由与故障切换 → 高级切换参数”展开配置,保存路由策略后立即生效,无需重启。留空跟随默认,也可恢复默认;每次调用开始固定已授权的候选和预算,修改参数不会扩大未授权的跨供应商发送范围。
- 目标数上限:默认 5,范围 1–20;请求数上限:默认 8,范围 1–30,含重试与本次发起的恢复探活。
- 单个供应商/模型目标尝试次数:默认 3,范围 1–5;调用方只能进一步压低,不能绕过上限。
- 账户限流阈值:默认 10 秒,范围 0–120 秒;Retry-After 超过阈值时跳过该站剩余模型。
- 初始冷却:默认 30,000 毫秒,范围 5,000–300,000;冷却上限:默认 900,000 毫秒,范围 60,000–3,600,000,且不能低于初始冷却。
- 连接超时:默认 12,000 毫秒,范围 3,000–60,000;整体调用时限:默认 180,000 毫秒,范围 30,000–600,000,涵盖凭据等待、连接探活、退避和流式响应。
整体时限用尽后中止请求,不继续尝试下一目标;降级记录显示“整体时限”,不把本地截止或用户取消算成供应商故障。已输出的流式内容仍不自动重放。模型名明确不存在仍只尝试同站已授权模型;普通请求体错误直接失败,额度分类优先,模型级故障不污染供应商健康。
“模型能力声明”可按模型设置图片输入、工具调用的“跟随目录 / 默认、支持、不支持”,以及上下文窗口。优先级逐字段为用户声明 > 目录明确元数据 > 保守正向启发式。刷新目录不覆盖用户声明;缺字段不推断为不支持,未知能力继续尝试。声明随供应商配置保存,主选模型和测试连接仍豁免预检。
健康状态增加版本号,原生 KV 在同一应用宿主的共享锁内比较并替换;冲突重读合并、最多重试三次。健康、日统计和历史共用受跟踪的原子写队列,失败保留待重试操作及告警,不静默丢弃。状态更新只广播存储键,不广播配置内容;桌面精灵的权限未放宽。
探活使用 15 秒所有权租约,占用时不等待也不重复请求;过期可抢占,活跃探活每 5 秒续期,结束仅释放自己的租约。只在显式测试或恢复请求时工作,没有后台周期性模型探活。CAS 保证范围是同一原生宿主,不是跨独立宿主进程事务;Node CLI 状态仍限本次调用。
验证边界:真实百炼定向请求、原生 EXE 配置/重启与原生 CAS 并发命令分别验收;目录异构元数据来自本机合成 HTTP 夹具,并发窗口状态用独立前端缓存测试。没有把这些证据说成双真实供应商、真实双 WebView、真实图片识别、200 轮长稳或跨机验收。D6 响应质量检测不在本任务范围。
v0.0.0.209 起 · 接入点健康总览与诊断统计
打开模型中心,展开“全部接入点健康总览”,可查看已配置/启用或仍有统计的供应商与模型:健康状态、P50、近 7 日失败率、请求及切入/切出次数、本地额度。额度不是实时账单;未观测接入点不表示已经连通,冷却到期显示“待探活”,不会在后台周期性试探。
计数单位是实际完成的上游请求:重试和连接探活分别计数,取消、无密钥、冷却或能力预检跳过不计。普通请求拒绝也计失败率,但不据此熔断供应商;模型级错误仍只影响对应模型。切换按实际请求目标变化计数,同模型重试不是切换,同站换模型也算一次,切入不等于最终成功。
日统计保存在本机,按本地自然日保留今天及前 13 天、最多 2048 桶;旧版本没有的数据不回填。P50 来自最近最多 20 次成功请求的完整耗时,不是首字延迟;降级记录的目标耗时包含所有重试与退避,历史最多 50 条。统计收尾最多等待 250 ms 落盘,慢存储继续后台保存并保留告警,不把磁盘问题当成供应商故障。
在“设置 → 诊断”运行检查后,可主动导出 schema 2 支持报告。统计只包含日期与计数/耗时,供应商和模型使用报告内编号,最多导出 500 桶并标明省略数量;不包含自定义名称、端点、凭据、目录路径、提示词、源码或模型回复。报告保存为你选择的本地 JSON 文件,不自动上传。
v209 发布时不提供多窗口原子统计合并、D4 阈值/能力编辑与热更新;这些能力由 v211 的完整任务 D 补齐,适用范围见上节。双真实供应商、真实图片、200 轮长期对话和跨机验收仍未完成。隔离测试、合成界面夹具与真实百炼定向请求分别留证,不相互替代。