DeepSeek Harness 插件:dsh-pi-review

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在构建智能体工作流时,对代码改动进行审查是常见需求。如果直接在 Harness 中运行 LLM 进行代码审查,存在两个主要风险:一是 LLM 可能修改本地文件,二是敏感代码可能被未经授权的外部 Provider 获取。

dsh-pi-review 插件通过注册一个根 Agent 工具,在 Harness 的只读沙箱中启动独立的 Pi SDK Worker 来解决这些问题。它冻结确定性的 Git 快照,仅允许 Pi 以只读方式审查变更,并返回结构化的代码审查结果。

插件定位

这是一个 DeepSeek Harness 的只读 Pi Agent 代码审查插件。插件由 win4r 维护,开源协议为 MIT。它的主要作用是提供隔离、只读的 Git 改动审查能力,确保审查过程不会破坏本地仓库状态,也不会泄露敏感代码。

核心功能

插件提供以下核心能力:

  1. 冻结确定性 Git 快照:在审查前锁定 Git 状态,确保审查内容不变。
  2. 注册根 Agent 工具:在 Harness 中注册 pi_review_diff 工具,供 Agent 调用。
  3. 独立 Worker 运行:在 Harness 的只读沙箱中启动独立的 Pi SDK Worker,避免宿主进程受到干扰。
  4. 结构化结果返回:返回包含分类、严重度策略和 Pi 用量统计的可验证结构化 finding。
  5. 严格权限限制:Pi 没有开放 bash、write、edit、扩展、Skill、Prompt 模板、上下文文件或持久化 Session。Pi 只能读取快照中的当前变更文件。
  6. 多范围支持:支持 unstaged、staged、working-tree、base、branch 等多种 Git diff 范围。

安装与启用

安装插件前,建议固定已审计的 commit SHA,以确保环境一致性。

dsh plugin --profile web add -w github:win4r/dsh-pi-review#<commit-sha>

安装完成后,需要重启对应的 Profile 以使插件生效。重启后,可以在顶层对话中要求 Agent 调用 pi_review_diff 工具。

配置与模型

插件默认读取 Pi 的 ~/.pi/agent/auth.json 和 ~/.pi/agent/models.json 进行认证。建议在 cordis.patch.yml 中显式配置模型 ID,以避免依赖默认行为。

- insert:
    - id: pi-review
      name: '@charlesqin/dsh-pi-review'
      config:
        authority: direct-human
        model: kimi-coding/k3
        modelProfiles:
          fast: kimi-coding/k3
          deep: openai/gpt-5.3-codex
        thinkingLevel: high
        timeoutMs: 300000
        maxDiffBytes: 524288
        maxFiles: 200
        maxOutputBytes: 524288
        maxDiagnosticBytes: 65536
        disposeGraceMs: 3000
        requireFullSandbox: true

在配置中,Worker 固定设置 PI_OFFLINE=1,关闭 Pi 的启动更新和遥测操作,但模型请求仍需访问配置的 Provider。

使用方法

安装并重启 Profile 后,在对话中直接调用 pi_review_diff。以下是一些典型用法:

  • 审查未提交改动:
    请调用 pi_review_diff,以 working-tree 范围审查当前仓库全部未提交改动,重点检查并发与错误处理。
  • 审查已暂存改动:
    请调用 pi_review_diff,以 staged 范围审查 index 相对 HEAD 的已暂存改动。

工具参数如下:

参数 说明
scope 审查范围:unstaged、staged、working-tree、base、branch。
paths 可选的仓库相对路径过滤列表。
focus 本次审查的重点(最多 2048 字节)。
severity_floor 返回 finding 的最低严重度:critical、high、medium、low,默认 low。
model_profile 可选的部署级模型别名,必须在 modelProfiles 中预先映射。

安全边界与限制

在使用插件时,需注意以下安全和限制事项:

  1. 只读沙箱的性质:只读沙箱保护的是本地文件不被 Worker 修改,不是数据保密边界。被选中的 diff 与变更文件内容会发送给配置的模型 Provider。
  2. Provider 安全:不要用未经授权的外部 Provider 审查私有、敏感或受监管代码。
  3. Enforcement 要求:默认要求 Harness 报告 full 的 read-only enforcement。
  4. Worktree 限制:v0.2 版本只支持带物理 .git/ 目录的独立普通 worktree。linked worktree、.git indirection file 等会被拒绝。
  5. 文件访问限制:二进制路径不开放额外文件读取。staged、branch 和 commit 审查不会打开 live worktree 文件。
  6. 命令执行限制:Worker 不执行 Pi 配置中的 !command。
  7. 依赖条件:需要至少一个有效 HEAD commit。全新且尚未提交的仓库会失败。

结语

dsh-pi-review 为 DeepSeek Harness 提供了一个安全、可控的代码审查方案。它通过冻结快照和严格限制权限,让 Agent 能够在不破坏环境的前提下完成代码审查。如需了解更多详情,请访问 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜