deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
⚠️ 前置条件(必读):本插件的侧边栏 UI 依赖 dsh-better-sidebar。请先安装并启用它:
dsh plugin --profile web add dsh-better-sidebar并确认 profile
package.json的dsh.profile.bundles包含dsh-better-sidebar(列在dsh-svn-tools之前)。 未安装时:本插件的 preinstall 检查会中止安装(需放行构建脚本,见「安装」);即使绕过检查强行安装,侧边栏「SVN」分页也不会注册(浏览器控制台会输出同样的指引,不会崩溃)。 *33 个 `svn_` agent 工具不依赖它**,可独立使用。
SVN (Subversion) 工具 + 侧边栏 UI 插件,为 DeepSeek Harness 提供:
| 分类 | 工具 |
|---|---|
| 状态/信息 | svn_status(含 changelist 分组)svn_info |
| 差异/历史 | svn_diff svn_log svn_blame(逐行追溯) |
| 仓库浏览 | svn_list svn_cat(不带工作副本直接看仓库) |
| 变更操作 | svn_add svn_delete svn_mkdir svn_copy(分支/标签)svn_move svn_revert |
| 提交 | svn_commit(中文 UTF-8 日志) |
| 更新/检出 | svn_update svn_checkout svn_switch svn_relocate svn_upgrade |
| 冲突/清理 | svn_resolve(mine/theirs/base/working)svn_cleanup |
| 属性 | svn_propget svn_propset svn_proplist svn_propdel(svn:ignore 等) |
| 分支/合并 | svn_merge svn_mergeinfo |
| 锁定 | svn_lock svn_unlock(UE 二进制资产友好) |
| 分组 | svn_changelist(set/remove/list) |
| 其他 | svn_import svn_export svn_patch |
所有写操作使用 --non-interactive;中文消息/属性值统一走 UTF-8 临时文件 + --encoding utf-8。
svn 分页)当前位置/总数 计数;导航条吸顶固定,滚动时不会被顶出视野;差异块操作:悬停任意差异块可选择「采用左侧 / 采用右侧 / 都保留·左先 / 都保留·右先」直接修改工作副本文件;行内操作(中文按钮):比对:查看该文件差异(悬停行出现;双击行亦可)添加(未版本化)、删除、还原(确认弹窗)追溯:逐行追溯视图解决(冲突 C 状态):弹窗选择 我的版本 / 仓库版本 / 基准版本 / 保留当前忽略(未版本化):快捷写入 svn:ignore✨ AI 生成日志 用当前模型自动生成)、提交后显示新 revision;提交范围上下联动:下方「提交全部变更」勾上→上方所有可见文件全部勾选、取消→全部取消勾选;在列表勾选任一文件自动转「按所选提交」,取消最后一个勾选后停在「未勾选任何文件」(提交禁用,不再自动跳回提交全部);AI 生成日志只分析提交范围内的文件(提交全部=全部可见变更;只勾部分=仅这些文件;未勾选文件不进分析),范围内为空时按钮禁用;新增「显示无版本控制的文件」选项(默认勾选):取消勾选后 ? 状态文件从列表隐藏,并排除出「提交全部变更」与 AI 分析(不会自动 add/提交),! 缺失文件不受影响、仍自动删除;自动处理构建产物替换(未版本化 ? 文件自动 svn add、缺失 ! 文件自动 svn delete,提交全部时对所选目录一并生效,结果在提示栏显示);变更列表工具栏批量操作:列表顶部工具栏右侧按勾选情况显示「删除 / 回退」两个按钮(与行内按钮同语义、作用于全部勾选文件,未版本化 ? 与冲突 C 文件不计入;无勾选时不显示;单次确认 + 执行后清空勾选,避免残留勾选泄漏进提交范围)svn merge -r rN:rN-1 反向合入工作副本该文件——典型场景(工作副本即 rN 或该文件 rN 后未再改动)下文件即恢复为它被修改前的内容;rN 之后的改动保留;文本可能产生冲突标记、二进制可能报冲突(可走「提交」页「解决」);新增类文件正确调度为计划删除、删除类文件计划恢复svn cat 流式写入临时文件,任意大小的二进制均支持)精确覆盖工作副本文件——rN 之后对该文件的改动与本地未提交修改会被丢弃;rN 新增的文件改为删除该文件、rN 删除的文件恢复并计划添加;当工作副本该文件的 BASE 恰好就是「修改前版本」时直接用本地 pristine 还原(svn revert),无需联网下载svn revert 还原,无需联网;r1 版本行仅显示此按钮分支(列出 branches 并切换)、清理(svn cleanup)、更新所有操作经服务端 /svn/api/* 路由执行(同源 fence 鉴权,session 工作副本解析),与 agent 工具共用同一套执行核心。
先安装前置插件(如未安装):
dsh plugin --profile web add dsh-better-sidebar
再安装本插件:
dsh plugin --profile web add file:./plugins/dsh-svn-tools
并确保 package.json 的 dsh.profile.bundles 中包含 dsh-svn-tools。重启 dsh web 后生效。
pnpm 10 默认阻止依赖包的生命周期脚本。要让「未安装 dsh-better-sidebar 时中止安装」的 preinstall 检查真正生效,需在 profile 目录放行一次构建脚本(任选其一):
交互式:在 profile 目录执行 pnpm approve-builds,批准 dsh-svn-tools;
或直接在 profile 的 pnpm-workspace.yaml 中加:
onlyBuiltDependencies:
- dsh-svn-tools
未放行时安装仍会成功,但 pnpm 会打印 Issues with peer dependencies found(peerDependencies 声明)警告,且侧边栏分页不会注册(运行时守卫兜底,不崩溃)。有意跳过检查可设置环境变量 DSH_SVN_TOOLS_SKIP_SIDEBAR_CHECK=1。
svn 命令行客户端在 PATH 中(Windows 上为 svn.exe)。dsh.profile.bundles)。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。