Repository navigation
Releases: Nicholas023/dsh-code-review
Releases · Nicholas023/dsh-code-review
Release list
dsh-code-review v0.1.3
dsh-code-review v0.1.3
[0.1.3] - 2026-10-21
Fixed(issue #9–#24 汇集,含 4 路方案整合 #29)
- 评审超时口径(#9):
--timeout透传引擎、工具描述改准确;timeoutMinutes亚分钟值按 1 分钟计、非有限值不加--timeout - commit 模式 SHA 校验 fail-closed(#10):缺 SHA / 纯空白 SHA 均明确报错,杜绝静默降级 fail-open
- 敏感文件正则误报(#11):key.js / cert.js / pem.js 不再被误判——凭据扩展名必须独立成段(路径段内嵌不命中)
- README unit 自检数量修正(#12):28 → 60
.dsh硬编码迁移(#13):homedir()/.dsh 优先读取 DSH_HOME 环境变量(resolveDshRoot 统一)- js-yaml 加载静默失败(#21):评审模型解析失败输出真实错误原因(含依赖损坏提示),
return null契约不变、降级链零影响 - e2e 无 key 环境误报(#22):key 缺失短路跳过引擎调用(skipped 独立计数,不计失败,末尾文案区分);敏感断言提出嵌套 防假绿——报告缺失时逐条显式 FAIL 归因
- 权限声明与实现逐字一致(#23):report_dir 写入前校验(绝对路径 + 必须位于用户 home 下 + realpath 防符号链接逃逸)、engine_bin 校验(绝对路径 + 文件存在 + 非符号链接 + 非 setuid/setgid 位);被拒字段字段级剔除、拒绝原因回显,声明承诺(dsh-plugin.json)与码级校验同步实现——修复 sol-a/sol-b 历史「声明了未实现」假承诺
- 敏感名单收窄(#24):token/secret 独立词段词边界(
tokenizer.js等业务命名不再误点名)、凭据扩展名锚定、markdown 清洗补~#&、正则重叠归一
Changed
- 四路方案取舍整合:issue #21–#24 由 4 路独立分治(PR #25–#28)分别修复,lead 实测比对(diff + worktree 源码核验)取各路精华整合为 PR #29 合并;4 路方案 PR 关闭存档可回溯
Notes
dsh-code-review v0.1.2
dsh-code-review v0.1.2
[0.1.2] - 2026-10-18
引擎 fork 治理(#2–#7 合并)
- 死重清理(#3 PR-A):删除上游发布/社区死重设施(
examples/*_ci/、install.*、scripts/publish/*、scripts/github-actions/*、npm/*/package.json、internal/llm/gen/**、scripts/{install,update,version,platform}.js等 70 文件,净删约 2.9 万行)与指向已删目录的失效引用;engine/AGENTS.md收敛为一句「沿用上游开发约定」 - 固定规则数据化(#2 PR-D):三条固定评审规则正文自 Go 常量迁至
engine/internal/config/rules/rule_docs/fork_mandatory.md(数据驱动,与同目录 54 个规则文档同构,//go:embed读入);项目规则.opencodereview/rule.json上移仓库根 - fork 身份与版本可辨识(#4 PR-C):
codecheck --version输出<插件版本>+fork.<N> (g<sha>);构建单一真源engine/scripts/build-fork.sh;新增engine/NOTICE(Apache-2.0 §4 上游归属)与engine/FORK_NOTES.md;--version归属行保留 - 命令名收敛(#5 PR-B):用户可见文案
ocr→codecheck(135 处分类处置:改 101 / 契约保留 13 / 注释 19);命令名唯一真源(internal/buildinfo.CommandName)+ 防漂移护栏测试 - SPDX 双持有人合规(#6 PR-E):插件根 32 个 js/mjs 文件补 SPDX 头;
verify-license.sh/add-license.sh按路径分发持有人(engine/ → 上游 alibaba,插件根 → dsh-code-review contributors) - 集成收尾(#7 PR-F):
engine/Makefile对齐build-fork.sh(二进制名codecheck、版本真源直读根package.json、去/extensions/过期过滤器);root.go帮助文案 fork 身份化(保留 Apache-2.0 归属);verify-english-only.go豁免表清 4 条死条目;.gitignore死条目清理;engine/imgs/**孤儿图片(12 个,约 2.6 MB)整目录删除;CI 新增引擎go test -short+go build门禁;根README.md增加engine/FORK_NOTES.md指针
dsh-code-review v0.1.1
dsh-code-review v0.1.1
面向 DeepSeek Harness 0.2.1 的适配版(原基线 0.2.0)。插件 API 面在 0.2.1 保持稳定,本次逐条对齐数据语义与命令服务,并修掉两个「从未生效」的历史接点。
修复
- 斜杠命令真正可用:
/review、/review-status改走复数commands服务(ctx.commands.register({ name, description, input, handler }))。此前用单数command服务 + 链式.command().option().argument().action()——该服务在 0.2.x 任一版本都不存在 → 注入永不就绪、命令从未注册成功。命令名之后的原文改由命令自解析,发起会话与工作目录取自invocation.agent.session。 - 设置面板恢复可写:客户端快照
ConfigFormSnapshot在 0.2.1 移除了mode字段(0.2.0 为'host' | 'memory')——旧形状校验把快照误判为坏形状 → 设置卡片永久只读,并连带使面板内的并发开关失效。现已改为不依赖mode。 - 默认沿用会话模型恢复:会话当前模型改经
ctx.get('agentDefaultModel')读取(静态inject之外的可选服务直接属性访问会落空/抛错)。 - 模型目录读法对齐:deepseek-account 路由 0.2.1 起不再接受
models目录字段(模型改由账号端点列出、单模型调整迁modelOverrides)——候选解析改为「数组models优先,缺失时回退modelOverrides键集」,避免读到空目录。
变更
- 兼容声明:
package.json增补engines.dsh: ">=0.2.0-rc.2 <0.3.0"—— 0.2.1 起插件版本兼容性以engines.dsh优先判定,显式声明支持的宿主区间(含 0.2.0-rc.2 ~ 0.2.1 各 prerelease)。 - 凭据优先级对齐:评审 key 解析改为存储凭据优先于导出环境变量,对齐 DSH 0.2.1 的 stored-credentials-precedence;文件里存在非空值即采用,否则回退同名环境变量(覆盖 headless profile 无凭据存储、只用启动环境 /
.env的情形)。 - 自检增强:Cordis 入口冒烟新增「
/review与/review-status已注册」断言;客户端冒烟的快照垫片去掉mode,与 0.2.1 快照形状对齐。
兼容性
- 适配目标 DeepSeek Harness 0.2.1(npm
next线,如0.2.1-rc.2);同时兼容本插件原基线 0.2.0(如桌面端0.2.0-rc.2)。 - 兼容区间由
package.json的engines.dsh(>=0.2.0-rc.2 <0.3.0)声明。 - 依赖 Node ≥ 20。
安装 / 升级
- 同 v0.1.0:把本包目录 junction 进 profile 的
node_modules(或npm install正式依赖),再经 DSH 插件管理页把本包加入 profile(读取cordis.patch.yml注入组合树)。 - 引擎二进制本次未变更:
engine/自 v0.1.0 起未改动,附件codecheck.exe与 v0.1.0 为同一构建产物(sha256687e0d55f3ede52ae2c22b5229b65fbea91d2d543aaa74c1a85588b93ccc786c),已在使用的无需替换。
红线(不变)
- 无官方付费兜底:任何路径(默认 / 兜底 / 回退 / 显式)都不会隐式调用官方付费 API;解析失败明确报错并提示配置。
- 零敏感:代码库不含任何平台 / 内网标识与密钥字面量(敏感扫描三组 0 命中)。
质量门禁
- GitHub Actions CI:JS
node --check+ 引擎gofmt/go vet、冒烟矩阵、敏感扫描三组(ubuntu / windows 双平台矩阵)。
附件
codecheck.exe(Windows x64 引擎二进制;其他平台可自行构建engine/或使用对应产物)。
上游归属
评审引擎 codecheck 是 open-code-review 的 fork 改造(Apache License 2.0):
- 上游版权:Copyright 2026 alibaba/open-code-review Contributors
- 修改声明:本仓库对引擎源码(
engine/)做了 fork 改造(全局改名ocr→codecheck、内置三条固定评审规则、Windows 子进程隐藏窗口、跨平台进程树终止、敏感内容排除、R1–R8 评审整改等);引擎源文件头保留上游SPDX-License-Identifier: Apache-2.0与版权声明。 - 完整第三方归属声明见仓库根目录
NOTICE;上游许可全文见engine/LICENSE。
完整变更:v0.1.0...v0.1.1
dsh-code-review v0.1.0
dsh-code-review v0.1.0
首个公开版本:Cordis 原生代码审查插件,把评审引擎 codecheck(open-code-review 的 fork)接入 DeepSeek Harness(DSH),对仓库 diff / 全量扫描执行安全脱敏、找 bug、冗余与无关代码三个固定视角的评审,会话内返回问题清单并落一份报告文件留档。
功能
- 两种评审命令:
review(未提交 / 分支对比 / 指定提交)与scan(整仓全量扫描); - 安全脱敏、bug、冗余与无关代码三个固定视角;
- 敏感文件点名:敏感/凭据类路径内容不送审,逐条点名提示人工确认是否该提交;
- 后台评审任务 + 完成推送 + GUI 可见的数据路由(
/api/code-review/tasks、/api/code-review/events); - 设置面板与
code_review_set_config工具读写运行配置(评审模型、报告目录、引擎路径); - 并发评审开关(默认单线,成本控制权交回用户)。
安装
- 依赖 Node ≥ 20;
- 评审引擎
codecheck见本 Release 附件,置于插件包bin/内或 PATH 中,或用engine_bin指定路径; - 配置评审模型:默认沿用会话模型;后台无会话上下文时回退用户配置的首条路由。
红线
- 无官方付费兜底:任何路径(默认/兜底/回退/显式)都不会隐式调用官方付费 API;解析失败明确报错并提示配置。
- 零敏感:代码库不含任何平台/内网标识与密钥字面量(敏感扫描三组 0 命中)。
质量门禁
- GitHub Actions CI:JS
node --check+ 引擎gofmt/go vet、冒烟矩阵、敏感扫描三组(双平台矩阵 ubuntu/windows)。
附件
codecheck.exe(Windows x64 引擎二进制;其他平台可自行构建engine/或使用对应产物)。
上游归属
评审引擎 codecheck 是 open-code-review
的 fork 改造(Apache License 2.0):
- 上游版权:Copyright 2026 alibaba/open-code-review Contributors
- 修改声明:本仓库对引擎源码(
engine/)做了 fork 改造(Windows 子进程隐藏窗口、
跨平台进程树终止、敏感内容排除、R1–R8 评审整改等);引擎源文件头保留上游
SPDX-License-Identifier: Apache-2.0与版权声明。 - 完整第三方归属声明见仓库根目录
NOTICE;上游许可全文见engine/LICENSE。