Skip to content

Releases: yeshengjun1990/codedock

CodeDock 1.6.8

Choose a tag to compare

@yeshengjun1990 yeshengjun1990 released this 14 Oct 07:39

CodeDock 1.6.8

新增与优化

  • 全量工具免确认注入 (annotations): 在 ools/list 响应与工具描述符中统一注入 annotations(readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false),支持全部 39 个内置工具、工作区自定义工具及外部聚合工具。
  • AI 客户端无感调用: 彻底解决接入 Gemini 等 AI 客户端时执行命令、补丁、文件读写频繁提示需要人工确认的问题。
  • 仓库资源补全: 补全 media/bridge.svg 与 LICENSE,通过全部 109 项回归测试。

安装:下载下方 codedock-1.6.8.vsix 执行 code --install-extension codedock-1.6.8.vsix(安装包内置 cloudflared / ngrok 二进制)。

CodeDock 1.6.7

Choose a tag to compare

@yeshengjun1990 yeshengjun1990 released this 01 Oct 05:54

审计修复(16 项)· guard 成对样例回归测试

误报修复

  • search_files 惰性量词误杀:.*? / +? / ?? 是合法惯用写法,不再被灾难回溯启发式误拒;a** 与 (a+)+ 类灾难形状仍被拒绝。
  • rm 误报:标志扫描限定在 rm 自己的命令段内,rm note.txt && ls -r src、rm tmp.txt; grep -r foo src 不再触发确认框;引号内的括号与分隔符按数据处理(rm "a (1).txt" -rf 仍正确命中)。

漏报修复

  • git push 强推检测:补上 +refspec 形态(git push origin +main:main 与无目标列的 +main);--force-with-lease 与同行裸 --force 改为逐个判定,不再整体豁免。

行为修正

  • 重放窗口:未完成的调用永久保持去重槽位——慢命令(同步等待顶到 85s 传输上限的 build/test)恰是隧道重试的高发区,此前 90 秒后到达的重试会绕过去重;现在 TTL 自完成时刻起算,容量驱逐也不丢弃进行中的槽位。

加固

  • read_files 单次最多 20 个路径;返回磁盘内容且编辑器有未保存修改时注明。
  • 后台运行进程数上限 24;stdin 写入挂 error 监听(防 EPIPE 未捕获异常)。
  • 坏 MCP provider 5 分钟冷却,不再每次 tools/list 都重试。
  • 隧道 URL 按行缓冲匹配(修复公网地址被管道分块截断导致的启动超时误报)。
  • 主动停止隧道不再把面板写成"正在自动重连"。
  • 路由令牌常数时间比较;弱令牌(<16 字符)启动时警告。
  • run_command 活动摘要截断到 200 字符;findExecutable 补查 PATH(where/which)。

测试

  • test-166 新增 16 条 guard 成对样例(危险命中 / 安全放行),全仓 97 项检查通过。

安装:下载下方 vsix → code --install-extension codedock-1.6.7.vsix → 重启编辑器。包内已内置 cloudflared / ngrok。

CodeDock 1.6.6

Choose a tag to compare

@yeshengjun1990 yeshengjun1990 released this 01 Oct 04:51

凭据防线 · 防重放 · 客户端识别

凭据文件出闸保护

.env(含变体,.env.example 除外)、私钥(*.pem / *.key / *.pfx / *.p12 / id_rsa 等)、.npmrc / .netrc / .pypirc / .htpasswd、.aws/credentials 默认禁止远程读取:read_files 命中即拒绝并弹窗(按单个文件、「本次会话允许」),search_files 扫描默认排除这些文件(不提示,避免向模型泄露它们的存在)。总开关 codedock.allowSecretFiles(默认关);initialize 的使用说明同步告知模型这条边界。

变更类工具防重放

Bridge 是无状态 HTTP,走公网隧道 + 平台连接器两条会丢包的链路——响应丢失后的重试对 apply_patch / run_command 就是重复执行。现在 90 秒内同参数的重复调用:并发重复单飞合并,重试直接重放上次结果并注明 [replayed],面板活动流标「重放」徽章。read 级工具不缓存(改完文件必须能读到新内容)、权限拒绝不缓存(开关即时生效)、send_command_input 豁免(连续确认是正常用法)。

面板「最近接入」

利用 MCP initialize 自报的 clientInfo,面板顶部显示最近 30 分钟完成过握手的客户端(名称 + 版本 + 最后接入时间),新客户端首次握手写入运行日志。

任务日志落盘掩码

后台命令输出写入 %TEMP%/codedock/jobs 前掩码令牌形状的字符串(/mcp/<token>、token=、Authorization: Bearer …),防止有效地址明文留在磁盘日志;内存缓冲与返回给 AI 的输出不掩码。

测试

新增 test-166.js(30 项检查);全仓 80 项测试通过。


安装:下载下方 vsix → code --install-extension codedock-1.6.6.vsix → 重启编辑器。包内已内置 cloudflared / ngrok(约 30 MB 压缩后)。

CodeDock 1.6.5

Choose a tag to compare

@yeshengjun1990 yeshengjun1990 released this 27 Sep 16:53
v1.6.5

fix: README 统一为大写单文件(完整版)