为 DSH-better-sidebar 添加 SVNSubversion源代码管理面板的插件。
32.2/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ztyhehe/dsh-better-sidebar-svn该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-better-sidebar-svn(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 20:37:51
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
- 发起网络请求lib/client/index.js:171
response = await fetch(`/sidebar/api/${method}`, { - 执行外部命令固定命令lib/svn.js:93
const child = spawn('svn', full, { - 执行外部命令固定命令lib/svn.js:150
const child = spawn('svn', ['--version', '--quiet'], { - 读取本地文件lib/svn.js:180
return await realpath(cwd); - 写入本地文件lib/svn.js:415
await writeFile(tempFile, `${normalized.join('\n')}\n`, 'utf8'); - 删除本地文件递归lib/svn.js:419
await rm(tempDir, { recursive: true, force: true }).catch(() => { }); - 发起网络请求src/client/api.ts:37
response = await fetch(`/sidebar/api/${method}`, { - 执行外部命令固定命令src/svn.ts:117
const child = spawn('svn', full, { - 执行外部命令固定命令src/svn.ts:177
const child = spawn('svn', ['--version', '--quiet'], { - 读取本地文件src/svn.ts:206
return await realpath(cwd) - 写入本地文件src/svn.ts:472
await writeFile(tempFile, `${normalized.join('\n')}\n`, 'utf8') - 删除本地文件递归src/svn.ts:475
await rm(tempDir, { recursive: true, force: true }).catch(() => { })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-session@deepseek-ai/dsh-settings给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 添加SVN管理面板
- 查看状态与差异
- 提交更新与回滚
展开完整介绍(132 字)↓
DSH 插件:为 dsh-better-sidebar 添加 SVN 源代码管理 Tab——status/diff/log/commit/update/revert/冲突解决,与内置 Git 面板对称,纯 svn CLI(--xml 输出)驱动,git 直装免构建
README
由 DeepSeek 最新模型翻译生成dsh-better-sidebar-svn
为 DSH-better-sidebar 添加 SVN(Subversion)源代码管理面板的插件。
✨ 功能
- 📊 状态面板:变更分「已暂存 / 未暂存」两段显示(修改/添加/删除/冲突/未版本控制等)
- 🔍 文件 Diff:点击文件查看差异对比;diff 页签与内置 diff 页签对齐(标题「文件变动」、同款 changes 图标),标题栏支持关键词搜索(命中行高亮、n/m 计数、Enter / Shift+Enter 上下跳转、可选折叠无命中 hunk)与路径过滤(按文件路径子串过滤,纯前端、不新增网络请求)
- ✅ 暂存式提交:与内置 Git 面板逻辑一致——行尾 +/− 按钮把文件加入/移出「待提交」列表(SVN changelist dsh-commit,纯本地元数据),提交只提交已暂存的文件;支持全部暂存/全部取消、Ctrl+Enter 提交;未版本控制文件暂存时自动先 svn add
- 🔄 更新:一键 svn update 同步远端
- ↩️ 还原:还原单个文件修改
- ➕ 添加:将未版本控制文件添加到版本控制
展开完整文档(README 剩余 1 节)
dsh-better-sidebar-svn
为 DSH-better-sidebar 添加 SVN(Subversion)源代码管理面板的插件。
✨ 功能
- 📊 状态面板:变更分「已暂存 / 未暂存」两段显示(修改/添加/删除/冲突/未版本控制等)
- 🔍 文件 Diff:点击文件查看差异对比;diff 页签与内置 diff 页签对齐(标题「文件变动」、同款 changes 图标),标题栏支持关键词搜索(命中行高亮、n/m 计数、Enter / Shift+Enter 上下跳转、可选折叠无命中 hunk)与路径过滤(按文件路径子串过滤,纯前端、不新增网络请求)
- ✅ 暂存式提交:与内置 Git 面板逻辑一致——行尾 +/− 按钮把文件加入/移出「待提交」列表(SVN changelist dsh-commit,纯本地元数据),提交只提交已暂存的文件;支持全部暂存/全部取消、Ctrl+Enter 提交;未版本控制文件暂存时自动先 svn add
- 🔄 更新:一键 svn update 同步远端
- ↩️ 还原:还原单个文件修改
- ➕ 添加:将未版本控制文件添加到版本控制
- 🙈 忽略规则:标题栏「忽略规则」弹窗读写当前目录 svn:ignore(换行分隔模式),非空规则经临时文件 propset -F 写入、清空走 propdel;规则仅作用于当前目录、不递归,保存后自动刷新状态区
- 📜 历史:查看提交历史(分页加载),含变更文件列表
- 🔧 冲突解决:对冲突文件提供快速解决按钮
- 🛡️ 降级与容错:系统缺失 svn 时面板显示友好提示(svn-missing)而非空白报错;SvnView / SvnDiffTab 均有 React ErrorBoundary,渲染异常显示可读占位而非整面板白屏
📦 安装
前置:已安装 DSH-better-sidebar(≥ 0.21.1,对应 DSH 0.1.7-rc.1 ~ 0.2.x;本插件的必需 peer)。
cd ~/.dsh && dsh plugin --profile web add dsh-better-sidebar && dsh plugin --profile web add git+https://github.com/ztyhehe/dsh-better-sidebar-svn.git
构建产物(lib/)已随仓库提交,git 直装无需本地构建工具链。安装后硬刷新浏览器(Cmd/Ctrl+Shift+R)即可看到侧边栏中出现「SVN」标签页。
卸载
cd ~/.dsh && dsh plugin --profile web remove dsh-better-sidebar-svn
⚙️ 前置条件
- 已安装 DSH-better-sidebar (≥ 0.21.1,DSH 0.1.7-rc.1 ~ 0.2.x)
- 系统已安装 svn 命令行工具(1.7+)
🏗️ 架构
dsh-better-sidebar-svn/
├── src/
│ ├── index.ts # Host 半:注册 /sidebar/api/svn.* 路由 │ ├── svn.ts # SVN CLI 操作(svn status/diff/log/commit...) │ ├── wire.ts # HTTP 辅助函数(JSON 响应格式) │ ├── types.ts # 共享类型定义 │ └── client/ │ ├── index.tsx # Client 半:注册 SVN Tab 到 better-sidebar │ ├── SvnView.tsx # SVN 面板 React 组件(v0.2.0 增 ignore 弹窗) │ ├── SvnDiffTab.tsx # diff 标签页(v0.2.0 增搜索 / 过滤) │ ├── ErrorBoundary.tsx # 渲染错误边界 │ ├── diff.ts # 统一 diff 解析纯函数(可测) │ ├── api.ts # 类型化 API 封装 │ └── svn.css # 面板样式 ├── tests/ # Node 内置 test runner 单测 ├── package.json └── tsconfig.json
设计原则
- 与 Git 面板对称:API 路由、状态格式、UI 交互均与 better-sidebar 内置的 Git 面板保持对称;SVN 无本地暂存区,用 changelist dsh-commit 模拟 Git 的 staged/unstaged(提交后 SVN 自动把已提交文件移出列表)
- 纯 CLI 驱动:所有操作通过系统 svn 二进制完成,无额外库依赖
- XML 输出解析:SVN 命令统一使用 --xml 格式输出,保证机器解析稳定性
- 非交互式:所有命令带 --non-interactive --no-auth-cache 参数
- 性能(svn status 纯本地读 wc.db,几十毫秒即回;svn log 是唯一必须访问仓库服务器的命令,网络往返可能数百毫秒):
- 状态区与历史区独立加载,首屏只等本地的 svn status,不被 svn log 的网络往返拖住
- svn log 服务端缓存(TTL 1 小时):窗口内命中即返回(切换会话零网络);过期后下一次访问自动重取最新;刷新按钮传 force 立即强制重取;commit / update / 撤销提交后自动失效;同 cwd 并发请求合并为一次往返,分页复用已拉取前缀
- 客户端历史快照(模块级缓存,切换会话 / 面板重挂载不丢失):切回会话时历史区直接上屏,无加载占位闪烁
- svn info 与 svn status 并行执行(原先 info 先串行判一次仓库再跑一遍,少一个进程往返)
- svn log 显式 -r HEAD:1:混合版本工作副本(部分提交后未 update)下,默认范围 BASE:1 可能算出空集导致历史无声变空
API 路由
| 方法 | 描述 |
| svn.status | 工作副本状态快照(含 changelist 归属) |
| svn.diff | 文件差异文本 |
| svn.add | 添加文件到版本控制 |
| svn.revert | 还原文件修改 |
| svn.stage | 暂存到待提交列表(未版本控制文件自动先 add) |
| svn.unstage | 取消暂存(不传 paths = 全部取消) |
| svn.commit | 提交待提交列表中的变更(--changelist,只提交已暂存) |
| svn.update | 更新工作副本 |
| svn.log | 提交历史(分页;force: true 绕过缓存强制重取) |
| svn.cat | 获取某版本文件内容 |
| svn.info | 仓库信息 |
| svn.resolve | 解决冲突 |
| svn.revertRevision | 撤销某次提交(svn merge -c -REV) |
| svn.ignoreGet | 读取当前目录 svn:ignore(按行拆分) |
| svn.ignoreSet | 写入 / 清空当前目录 svn:ignore(非空 propset -F 临时文件,空规则 propdel;写操作锁定 cwd realpath) |
所有路由均走 trust-fence 与统一 JSON 响应({ ok, value } / { ok:false, error:{code,message} })约定;系统无 svn 时统一返回 svn-missing 错误码。
🛠️ 开发
pnpm install
pnpm typecheck
pnpm test
pnpm build
📄 许可
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ztyhehe/dsh-better-sidebar-svn
为 DSH-better-sidebar 添加 SVNSubversion源代码管理面板的插件。
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目