← 返回列表
需源码安装
一键安装全局记忆、会话导航与桌面宠物等插件
暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/15 · 已提供中文文档
DeepSeek Harness 自研插件全家桶(monorepo):dsh-memory 全局记忆等
综合分
30.7
GitHub 分
30.7
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add xujiping/dsh-plugins仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-plugins(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
仓库缺少 package.json,无法用 dsh 插件安装命令安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 10:26:20
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-plugins
我(xujiping)的 DeepSeek Harness(DSH)自研插件全家桶。每个子目录 packages/
是一个独立可安装的 DSH 插件(monorepo),均可通过 dsh plugin add 安装。
收录的插件
| 包 | 功能 | 安装 |
|---|---|---|
| packages/dsh-global-memory | 全局记忆:侧边栏「全局记忆」页,直接查看/编辑 ~/.dsh/AGENTS.md 与 ~/.dsh/memory/.md | dsh plugin --profile add dsh-global-memory |
| packages/dsh-chat-scroll-nav | 对话右侧快速导航条:聊天区右缘竖向迷你导航(类似手机通讯录索引),点/拖即跳转到对应消息,当前消息高亮 | dsh plugin --profile add dsh-chat-scroll-nav |
| packages/dsh-new-session-route | 新会话路由:侧边栏「新会话」按钮点开下拉,选择新会话后端 —— 默认 DeepSeek Harness 或 Claude Code(经 dst-gateway provider 路由) | dsh plugin --profile add dsh-new-session-route |
| packages/dsh-agent-driver | Claude Code 原生会话驱动(M0 架构验证中):同 UUID 绑定 DSH 与 Claude 会话,含严格 Remote、原子发布、只读工具与 MCP 隔离 | dsh plugin --profile add link:~/AiProjects/dsh-plugins/packages/dsh-agent-driver |
| packages/dsh-desktop-pet | 桌面宠物:Web GUI 里一只纯 CSS 小宠,状态机驱动 idle/walk/sleep/happy/eat/typing/work,点击/拖拽/双击喂食,联动会话状态(AI 输出中打字、工具执行中敲锤) | dsh plugin --profile add link:~/AiProjects/dsh-plugins/packages/dsh-desktop-pet |
已搁置(2026-08-21 起从 desktop profile 卸载):dsh-llm-agent-bridge 与
dsh-agent-terminal 两个插件对效果不满意,暂时不用,源码保留在
packages/ 下;以后有更好的想法时可能重新优化再装回。装回方式见下文
「安装方式」与包内 README。
packages/
dsh-global-memory/ 全局记忆插件(host 半边 lib/index.js + client 半边 lib/client.js)
dsh-chat-scroll-nav/ 对话右侧快速导航条(纯 client 半边 lib/client.js;host 半边空实现)
dsh-new-session-route/ 新会话路由下拉(纯 client 半边;cordis client 插件,DOM 钩住「新会话」按钮 + selectModel)
dsh-agent-driver/ Claude Code 原生会话驱动(M0:自定义 Agent/Session + Typert Remote + stream-json)
dsh-desktop-pet/ 桌面宠物(纯 client 半边;CSS 关键帧动作 + 状态机 + 节律/交互/会话三类触发器)
dsh-llm-agent-bridge/ LLM 适配器桥接(已搁置;host 半边,无 client;接入外部 agent CLI)
dsh-agent-terminal/ 智能体终端(已搁置;host 半边 PTY 注册表 + client 半边 xterm 面板;src/client.ts 构建产物为 lib/client.js)
安装方式(以 dsh-global-memory 为例)
从 npm(发布后可用)
dsh plugin --profile web add dsh-global-memory
或从本仓库
dsh plugin --profile web add github:xujiping/dsh-plugins
或本地 link 调试(不发布也能用)
dsh plugin --profile web add link:~/AiProjects/dsh-plugins/packages/dsh-global-memory
--profile 必填(dsh plugin 转发到 pnpm 按 profile 安装),web 换成你的实际
profile 名。装完重启 dsh web(或重载 profile)生效。
注意:GUI(Desktop)实际用的是 desktop profile。若 GUI 的 pnpm store 版本与
dsh plugin 内置 pnpm 不一致导致 ERR_PNPM_UNEXPECTED_STORE,可手动接线
(零依赖插件等价于 link:):在 ~/.dsh/profiles/desktop/package.json 的
dependencies 加 "": "link:~/AiProjects/dsh-plugins/packages/"、
dsh.profile.bundles 数组追加包名,并在 node_modules 下建软链。
插件包约定
- package.json:main 指向 host 半边(ESM,导出 name / inject / apply);
exports["./client"] 指向浏览器半边(window.__ModuleLoader__.load 包裹的经典脚本,
factory 返回 { apply, inject });dsh.bundle.patch 指向 cordis.patch.yml;
dsh.client 声明 { inject: [], platform: "web" }。
- Host 半边:inject: ['webServer'],用 ctx.webServer.register({ kind: 'exact', path, handler })
注册路由;所有路由必须做回环信任围栏;ctx.effect(() => disposer, 'label') 管理清理。
- Client 半边:纯 DOM 注入(侧边栏行 + 中心面板),自带 ,
MutationObserver 自愈;挂载失败只 console.warn,绝不让 GUI 启动失败。
- 主题:配色一律用 DSH 官方 --dsw-alias- / --dsw-specific-* token,
自动跟随 body[data-ds-dark-theme] 明暗切换,不用硬编码颜色。
- UI 只用纯色,不用渐变。
开发
每个包自带测试(如 packages/dsh-global-memory/test/smoke.mjs,node test/smoke.mjs 运行)。
改 client 半边后刷新 Web GUI 即可看到效果(纯 DOM,MutationObserver 自愈)。
License
MIT扫码进群