Bundle
dsh-plugin-key-info
DSH 关键信息分析面板:环境与 profile 组成、插件状态、会话与模型、错误与警告汇总。Key-info analysis panel for DeepSeek Harness.
- Source
- Sean-Gao
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# dsh-plugin-key-info
DSH(DeepSeek Harness)关键信息分析插件:在 Web GUI 的设置页展示一个中文“关键信息”面板,汇总当前运行环境、profile 组成、插件状态、会话与模型,以及错误与警告。
## 功能
- **环境**:DSH 主目录、profile 目录与名称、平台/架构、Node 版本、dsh 版本、采集时间
- **Profile 组成**:bundle 层列表、依赖清单
- **插件状态**:所有 loader 条目的名称、版本、运行状态(运行中/挂起/失败/禁用)与汇总计数
- **会话与模型**:当前活动会话数量与 ID、已注册的模型适配器
- **错误与警告**:失败/挂起/禁用条目清单(聊天记录等用户数据不受影响)
## 工作原理
- **Node 半区**(`lib/index.js`):挂载时注册 HTTP 端点 `/dsh-key-info`,返回关键信息的 JSON(中文键结构)。
- **浏览器半区**(`lib/client.js`):声明 `dsh.client` 平台 `web`,由 DSH 的 `ClientModuleRegistry` 运行时发现并服务;在 Web GUI 设置页的 `settings.section` 插槽注册“关键信息”分区,拉取端点并渲染中文面板。
- 通过 `dsh.bundle` 声明作为 profile 补丁层自动挂载。
## 安装
```bash
# 从 Git 仓库安装
dsh plugin --profile web add git+https://github.com/Sean-Gao/DSH.git
# 或本地路径安装(开发时)
dsh plugin --profile web add /path/to/dsh-plugin-key-info
```
安装后**重启 web 应用**(`dsh web`),打开 Web GUI 的「设置 → 关键信息」即可看到面板。
## 手动挂载
在 profile 的 `cordis.patch.yml` 中:
```yaml
- insert:
- id: key-info
name: dsh-plugin-key-info
```
## 数据端点
启动后 `GET /dsh-key-info` 返回结构化 JSON,可直接用于脚本或排查:
```json
{
"environment": { "dshHome": "...", "profileName": "web", "node": "v22.x" },
"composition": { "bundles": ["@deepseek-ai/dsh-base", "..."], "dependencies": [] },
"plugins": [{ "name": "...", "version": "...", "state": 2, "disabled": false }],
"summary": { "total": 0, "active": 0, "failed": 0, "pending": 0, "disabled": 0 },
"sessions": { "count": 0, "ids": [] },
"models": { "count": 0, "ids": [] },
"warnings": { "failed": [], "pending": [], "disabled": [] }
}
```
## 许可
MIT
Install
dsh plugin --profile web add github:Sean-Gao/DSH
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-key-info from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.