对 as1350/dsh-manager(DeepSeek Harness 的 Web 管理面板插件:Skills 管理 + 部署补丁管理器 + 本地仓库面板 + 本地服务面板)的插件级深度分析。所有结论附 lib/xxx.js:行号 源码引用,逐条可溯源;宿主侧依赖全部对齐知识库 deepseek-harness-plugin-dag 的真实节点。
23
DAG 节点(5 core + 18 stub)
23
依赖边(E1/E2/E3/RPC)
9
设计问题(高2 中4 低3)
61
RPC 方法(单路由分发)
~10.7k
被分析源码行数
入口导航
交互式依赖 DAG
cytoscape 动态图:点击节点查看 desc/provides/证据引用,E1/E2/E3/RPC 分色,离线可用
深度分析报告
五段完整版(HTML),AI 友好镜像见 report.md
结构化数据 dag-data.json
5 core + 18 stub + 23 边 + 4 功能 + 6 需求 + 9 设计问题,机器可读
源码快照 v0.35.6
被分析的完整源码(commit ebbe995,已去内层 .git)
方法论:三硬依据框架
E1 编译依赖
package.json peerDependencies / dependencies / import 语句——如 react 经平台模块表 require、pinyin-pro 宿主端生成拼音索引
E2 运行时依赖
ctx 服务注入 / ctx.get / 事件订阅——如 inject:['webServer'] 挂路由、ctx.get('llm') 做 AI 讲解、ctx.get('locale') 注册字典
E3 组合依赖
cordis.patch.yml 装配位置——insert id:dsh-manager 插入 profile 组合;__DSH_BOOT__ 客户端模块注入机制
高危设计问题速览(完整九项见交互页)
| 严重度 | 问题 | 建议方向 |
|---|---|---|
| 高 | 鉴权弱于宿主信任栅栏:自制 sameOrigin 校验 vs 宿主 isTrustedApiRequest(DNS-rebinding 防护) | 复用宿主信任栅栏或迁移 api-gateway 受信通道;mutating 方法钉 loopback 开关 |
| 高 | script 类补丁 node:vm 沙箱官方自认非硬边界;serviceStart 可执行任意命令(RCE 面) | 导入补丁强制哈希签名校验;命令白名单模板;落地 BACKLOG#15 |
| 中 | 双单体文件(client.js 4626 行 + index.js 4514 行),字典占 20%、内联 CSS 约 300 行 | 拆分 locale JSON / 独立 css / 四面板子模块,引入 tsc 恢复声明合并类型面 |
| 低 | 死代码 prefetchRepo、三处重复两击确认、约 30 处错误处理样板 | 抽公共 useConfirmTwoStep() 与 rpc() helper |