- Accueil
- Plugins
- Sessions et messages
- dsh-plugin-kit (search)
dsh-plugin-kit (search)
hyzyn/dsh-plugin-kit/packages/search
Recherche globale en texte intégral pour l'interface web DSH : une zone de recherche dans la barre latérale qui parcourt les sessions de l'historique (via l'index sessionQuery, avec une analyse par session en repli) et les panneaux de paramètres, met en surbrillance les correspondances et saute vers la session ou la carte de paramètres correspondante.
Installer
dsh plugin --profile web add github:hyzyn/dsh-plugin-kitCe plugin se trouve dans le sous-répertoire packages/search du dépôt.
README
dsh-plugin-kit · DSH 插件全家桶
中文 | English
DeepSeek Harness(DSH)Web GUI 的插件全家桶
环境变量 · MCP 服务器 · Prompt · Profile · RSS · 全局搜索 · Codegraph 集成 · 终端面板 · 容器面板 · 插件脚手架
dsh plugin --profile web add @hyzyn/dsh-all
一次装齐,重启 dsh web 生效 · 只想要其中几个 → 按需安装
是什么 · 包索引 · 快速开始 · 开发新插件 · 文档地图 · 参与贡献
是什么
dsh-plugin-kit 是给 DeepSeek Harness(DSH)Web GUI 用的通用插件集合。所有插件都走官方 profile
机制挂载到 dsh web,不改 DSH 源码;可以逐个安装,也可以用聚合包一次装齐。
![]() |
![]() |
![]() |
![]() |
按「配置类」→「面板类」→「开发类」排:
| 能力 | 原生 dsh web | dsh-plugin-kit |
|---|---|---|
| MCP 服务器 | 手改 patch / 命令行 | 可视化卡片 + 连接测试 + 保存后热加载 |
| 环境变量 | 手改 env.yml / 命令行 | Web GUI 卡片,保存即写入 process.env |
| Prompt 管理 | 手改配置 | 可视化编辑 + 版本管理 / A/B 测试 / 导出分享 |
| Profile 管理 | 命令行 | 可视化创建 / 复制 / 重命名 / 删除 |
| RSS 聚合 | 无 | 多源订阅 + 每日「今日值得读」+ 可选 AI 摘要(跟随宿主默认模型,零配置) |
| 全局搜索 | 仅会话标题 / 内容 | 侧边栏一处全文检索历史会话、Prompt、MCP 工具与设置面板 |
| 终端面板 | 无 | xterm.js 多标签真实 PTY + SSH 直连(连接簿 / 指纹钉扎 / 断线重连)+ SFTP 双栏直传;注册 tty_* / sftp_* 工具 |
| Docker 容器面板 | 无 | 容器 / 镜像 / Compose / 实时日志与统计 / 多目标总览;默认只读,变更与 exec 需显式开关;注册 docker_* 工具 |
| Codegraph 集成 | 无 | 代码图谱卡片:索引状态 / 符号搜索 / 调用链 / 影响面 / 一键 sync-index |
| 插件开发 | 手写样板 | pnpm create-plugin 脚手架 + @hyzyn/dsh-kit 共享工具库 |
每个插件的完整功能、截图与注意事项在它自己的 README 里(见下表)。本文件只讲「是什么 + 装哪个」。
包索引
1 个共享库 + 10 个功能插件 + 1 个聚合包;包之间的关系、依赖方向与跨插件协作见 docs/architecture.md。
| 包 | 干什么 | 文档 |
|---|---|---|
@hyzyn/dsh-kit | 库(非插件):宿主半体共享工具——HTTP 回环围栏、托管区块、!!js 表达式、服务读取 | README · DEFECTS |
@hyzyn/dsh-env | 环境变量 / 密钥管理 | README |
@hyzyn/dsh-mcp | MCP 服务器配置卡片,保存后热加载 | README |
@hyzyn/dsh-prompt | systemPrompt 编辑 / 版本 / A/B | README |
@hyzyn/dsh-profile | ~/.dsh/profiles 图形化管理 | README |
@hyzyn/dsh-kit-settings | 在官方「设置」里补一行「插件配置」入口 | README |
@hyzyn/dsh-rss | RSS 聚合 → 每日「今日值得读」 | README |
@hyzyn/dsh-search | 侧边栏全局搜索(⌘ / Ctrl + K) | README |
@hyzyn/dsh-codegraph | 代码图谱卡片 + MCP 托管 + 采纳率测量 | README · DEFECTS · ROADMAP |
@hyzyn/dsh-tty | 终端面板:PTY / SSH / SFTP / 隧道 | README · DEFECTS · ROADMAP |
@hyzyn/dsh-docker | Docker 容器面板(本机 / SSH),默认只读 | README · DEFECTS · ROADMAP |
@hyzyn/dsh-all | 聚合安装包:一条 bundle patch 挂载上面 10 个插件 | README |
快速开始
系统要求
- 已安装 DeepSeek Harness,
dsh web可正常启动。当前适配三档基线:DSH0.1.7-rc.2、0.2.0-rc.1与0.2.0-rc.2;0.1.6-alpha.2及更早不再支持。 - 兼容性由每个可安装插件在
peerDependencies里声明的@deepseek-ai/dsh范围保证,DSH 在安装前 与启动时各校验一次。被拦下长什么样、怎么临时放行 → docs/troubleshooting.md § 兼容性校验。 - npm 安装无额外要求;从仓库源码安装需要 Node.js >= 22.19 与 pnpm 10。
从 npm 安装
推荐按需装——下面一行一个包,只装你要的。从「配置三件」起步最省(env / mcp / prompt,
都不向模型注册工具):
dsh plugin --profile web add @hyzyn/dsh-env # 环境变量 / 密钥
dsh plugin --profile web add @hyzyn/dsh-mcp # MCP 服务器
dsh plugin --profile web add @hyzyn/dsh-prompt # systemPrompt
dsh plugin --profile web add @hyzyn/dsh-profile # Profile 管理
dsh plugin --profile web add @hyzyn/dsh-kit-settings # 设置里的「插件配置」入口
dsh plugin --profile web add @hyzyn/dsh-rss # RSS「今日值得读」
dsh plugin --profile web add @hyzyn/dsh-search # ⌘/Ctrl+K 全局搜索
dsh plugin --profile web add @hyzyn/dsh-codegraph # 代码图谱卡片
dsh plugin --profile web add @hyzyn/dsh-tty # 终端面板(PTY / SSH / SFTP)
dsh plugin --profile web add @hyzyn/dsh-docker # Docker 容器面板
包名、一句话说明与各自的文档见上方 包索引。
装之前知道一件事:各包动到的面不一样(细节在各包 README;机制见 docs/architecture.md § 7):
| 装了它 | 意味着 |
|---|---|
| 给模型注册工具,真正改变 agent 能力 | tty(tty_* / sftp_*——真实的 shell / SFTP 通道)· docker(docker_*)· codegraph(替宿主托管 codegraph MCP 行,于是 mcp__codegraph__* 进模型工具箱) |
| 只往 systemPrompt 添一段 | rss(「今日值得读」那段)· search(插件能力公告);prompt 卡片做的本身就是编辑 systemPrompt |
| 只动你自己的配置与界面 | env(保存即写进宿主的 process.env,环境变量仍是你自己的配置)· profile · kit-settings · mcp(它是配置入口——自己不加工具,你填进去的服务器会) |
一次装齐就是聚合包,权限敞口是各包的并集——不知道要哪个就先别装它:
dsh plugin --profile web add @hyzyn/dsh-all # 聚合安装包
dsh plugin --profile web add @hyzyn/dsh-plugin-kit # 仓库根 bundle(同样挂载全家桶)
装完重启 dsh web,插件配置页里出现全部条目即生效;条目没出现多半就是没重启,
也可以用 dsh --profile web --dump-config 确认插件配置层已挂载。
卸载:dsh plugin --profile web remove @hyzyn/dsh-all(或对应子包名),再重启。
配置入口在哪一版:DSH ≥
0.1.6-alpha.2有两个入口,指向同一份配置——侧边栏 「插件」→ 选插件 → 该行的「配置」(官方新版两视图页面),以及设置 →「插件配置」 (与「通用设置」平级的一行,由@hyzyn/dsh-kit-settings提供)。 DSH ≤0.1.5是设置 → 插件 →「插件配置」标签页里的卡片。 客户端半体同时注册三代插槽(plugins.row.config、settings.kit.item、settings.plugin.item), 一份产物在各代上都能用。 这份配置本身落在当前 profile 的插件 entry(cordis.patch.yml用户层),不再是全局settings.yamlsection,见 术语表。
装不上 / 卡片不出现 / 插件整体消失 / 接口报 401、403 → docs/troubleshooting.md。
从 GitHub 仓库安装(开发调试)
仓库根目录本身也是一个 DSH bundle(package.json#dsh.bundle.patch,由 pnpm aggregate 生成):
git clone https://github.com/hyzyn/dsh-plugin-kit.git
cd dsh-plugin-kit
pnpm install
pnpm build
dsh plugin --profile web add link:$(pwd) # 根包即 bundle,等价于安装 @hyzyn/dsh-all
dsh web
⚠️ 如果 web profile 里已经装过
@hyzyn/dsh-all或任一@hyzyn/dsh-<包名>, 不要再 add 根包(或packages/all),否则插件行重复挂载会在启动时报duplicate loader entry id。
只想用某个子包:最后一步改为
dsh plugin --profile web add link:$(pwd)/packages/<name>。
根包声明了
dsh字段后,GitHub 的 DSH 插件市场会把本仓库识别为 DSH 插件(cordis-plugin)。
开发新插件
pnpm create-plugin <name> [id]
# 例:pnpm create-plugin timer → packages/timer(@hyzyn/dsh-timer,插件 id: timer)
# 例:pnpm create-plugin pet-tracker pt → packages/pet-tracker(插件 id: pt)
脚本会复制 templates/hello 模板、替换包名与插件 id,并自动更新聚合包。然后编辑
packages/<name>/src/index.ts,构建后本地调试:
pnpm --filter @hyzyn/dsh-<name> build
dsh plugin --profile web add link:$(pwd)/packages/<name>
新包要建哪些文档、多长、编号怎么起,插件包的解剖(dsh.bundle.patch / cordis.patch.yml /
src/index.ts / dsh.client),以及两条容易踩的硬规矩(客户端半体的地址来源、纯逻辑抽模块)
→ docs/conventions.md。
文档地图
| 想知道 | 看 |
|---|---|
| 项目是什么、装哪个 | 本文件 |
| 刚上手,想先建立全局(按顺序读) | docs/architecture.md → docs/conventions.md → docs/agent-real-test.md |
| 12 个包怎么协作、依赖方向、谁写哪个配置文件 | docs/architecture.md |
| 命名 / 提交 / 文档分层 / 编号规范 / 插件解剖 | docs/conventions.md |
| 术语(宿主半体、托管区块、TOFU、三代插槽…) | docs/glossary.md |
| 装不上、卡片不出现、插件整体消失、接口 401/403、已知限制 | docs/troubleshooting.md |
| 真机测试怎么跑、什么算通过 | docs/agent-real-test.md |
| 某个跨包方案的完整设计与验收(跳板机 / 就地提权 / i18n…) | docs/ 下的 *-plan.md 与 i18n.md,由 conventions.md 的知识归属表 路由 |
| Windows 11 真机环境搭建 | scripts/windows/README.md |
| 开发环境里插件与宿主的 runtime 链接 | docs/link-dsh-runtime.md |
| 跨包待办 | ROADMAP.md |
| 发版流程(含 cohort 变更清单) | RELEASING.md |
| 某个包怎么用 | packages/<pkg>/README.md |
| 某个编号是什么意思 | packages/<pkg>/DEFECTS.md |
参与贡献
- 新插件用脚手架生成:
pnpm create-plugin <name> [id],避免手写样板。 - 提 issue 走模板(Bug 报告 / 功能请求,空白 issue 已关闭):必填的环境 / 版本 / 复现步骤 / 自查结果对应 docs/troubleshooting.md 的 通用顺序,填全了才有人能在第一轮定位。格式约束见 docs/conventions.md § Issue。
- 提交信息遵循 Conventional Commits(如
fix(mcp): 修复连接测试超时), 用户可见变更请附截图或验证证据。 - 提交前过门禁:
pnpm typecheck && pnpm build && pnpm test && pnpm aggregate; 增删插件后必须跑pnpm aggregate重新生成packages/all聚合清单。 - 命名 / 编号 / 文档分层等完整规范见 docs/conventions.md。
许可证
本仓库以 Apache License 2.0 授权。
贡献者
喜欢这个项目?点个 Star。
报告 Bug · 请求功能 · 查看 Releases
Plugins associés
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
dsh-synapse
liangmianya/dsh-synapse
billion-context
ranxianglei/billion-context
dsh-chat-import
nwflower/dsh-chat-import



