Skip to content
dsh.fish
Bundle

dsh-lenovo-toolkit

Lenovo professional tools for DeepSeek Harness: battery health plus Windows device, performance, storage, Wi-Fi, app and safe-action tools.

Source
1Ecc
License
MIT
Updated
Updated 6 days ago

Readme

# dsh-lenovo-toolkit

面向 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的**联想专业工具集**。
把联想服务体系里的专业判断能力——硬件诊断、备件、保修、服务网点——做成通用 agent 平台上可安装的插件。

当前状态:**试点阶段**。电池工具组保留原实现;另已迁入 Windows 设备、性能、存储、Wi-Fi、应用查询、报告和受控操作能力,等待真实 DSH 运行时验证。

> **归属说明(待确认)**
> 本仓库由联想服务团队成员维护,属于**试点性质的探索项目**,不代表联想官方发布,
> 亦未经联想品牌方审阅。仓库中引用的联想服务入口与商品链接均为公开页面。
> 如需正式化,应迁至 Lenovo 组织下并补充官方声明。

---

## 目录

- [这是什么](#这是什么)
- [工具组](#工具组)
- [安装与使用](#安装与使用)
- [仓库结构](#仓库结构)
- [文档](#文档)
- [已知待办](#已知待办)

---

## 这是什么

正面抢占通用 agent 平台在现阶段极为困难,但平台之上的**公共技能/插件生态**准入门槛很低,
且与联想的存量专业能力天然契合。这个仓库是这条路径的第一个验证载体。

完整的判断、要验证的假设与指标见 **[docs/vision.md](docs/vision.md)**。

仓库定位是**一个容器**,不是单个工具。每类专业能力是一个工具组,
加新工具组 = 加两个目录 + 在插件入口的 `GROUPS` 里加一行。

同一套能力有两种交付形态,**互补而非二选一**:

| | Skill | Plugin |
|---|---|---|
| 管什么 | 怎么判读、怎么写报告、什么时候推荐 | 确定性地跑脚本、返回结构化结果 |
| 形态 | `SKILL.md` + references + scripts | ESM 模块,导出 `apply(ctx)` |
| 安装 | 放进 skills 目录即被发现 | `dsh plugin add` |
| 作用域 | 支持项目级 | profile 级 |

---

## 工具组

### 🔋 电池健康检测

跨平台电池体检:容量、循环次数、双口径健康度、SVG 衰减趋势图、系统官方电池报告,
以及基于结论触发的服务推荐。

| 工具 | 作用 |
|---|---|
| `battery_health_collect` | 采集并解析出结构化 metrics,生成官方报告与历史快照 |
| `battery_health_trend` | 渲染容量衰减趋势 SVG |
| `battery_health_rules` | 取判读规则文档,避免模型凭印象下结论 |

第三个工具的存在是为了让**只装了 Plugin 没装 Skill 的用户也能拿到判读标准**,
否则模型会拿着一堆数字自由发挥,而判读规则正是这个项目最不该被绕过的部分。

详见 **[docs/tools/battery-health.md](docs/tools/battery-health.md)**。

### Windows 设备助手

从想帮帮 Device MCP 迁入 14 个非电池工具,保持原来的结构化状态、隐私最小化和操作确认边界:

- 设备、性能、进程、存储和应用查询;
- Wi-Fi 状态、基础诊断和 5~60 秒网络波动监测;
- 脱敏的 Wi-Fi SVG 与自包含 HTML 报告;
- 打开受控设置、应用、官方 URL 和复制诊断摘要,均要求用户逐次明确确认。

这些能力当前仅支持 Windows;详细契约见 **[docs/tools/windows-device.md](docs/tools/windows-device.md)**。

### 计划中

- 更深层硬件诊断(SMART、散热、电源适配器等)
- 知识检索路径(服务知识库、保修政策、备件价格)

---

## 安装与使用

### 作为 DSH 插件

```bash
dsh plugin --profile web add github:1Ecc/dsh-lenovo-toolkit
```

装完重启 `dsh web` 并刷新页面。插件包内自带 skill 资源,不额外装 skill 也能工作。

### 作为 DSH 项目级 skill

克隆本仓库后,`.dsh/skills/` 下的目录就是 DSH 的项目级 skill(优先级 100,
扫描 `.dsh/skills/` 且**只扫顶层不递归**)。在该项目目录下启动 dsh 即可,
或用 `/battery-health-check` 手动触发。

### 作为 Claude Code skill

`.claude/skills/` 下是同一份内容的副本。想全局可用就软链到用户级目录:

```bash
ln -s "$(pwd)/.claude/skills/battery-health-check" ~/.claude/skills/battery-health-check
```

触发方式:直接说「帮我看下电池健康度」「电脑越来越不耐用了」「电池还能用多久」即可。

### 开发

```bash
npm test              # 单元 + 真实采集的集成测试
npm run sync-skill    # .dsh/skills → .claude/skills
```

---

## 仓库结构

```
├── package.json                    dsh.bundle 声明(可被 dsh plugin add 安装的凭证)
├── cordis.patch.yml                DSH 安装时应用的 cordis 配置补丁
│
├── src/
│   ├── index.js                    插件入口:聚合注册各工具组
│   ├── shared/                     跨工具组复用:错误类型、包内资源定位
│   └── tools/
│       ├── battery/                电池采集、趋势与规则工具
│       ├── device/                 设备、性能、进程、存储与应用查询
│       ├── wifi/                   Wi-Fi 诊断、监测与报告
│       └── actions/                需逐次确认的低风险操作
│
├── test/tools/                     按工具组分目录
│
├── .dsh/skills/                    ← DSH skill 加载路径(唯一事实来源)
│   └── battery-health-check/
│       ├── SKILL.md                流程编排与报告模板
│       ├── scripts/                平台采集脚本(零依赖)+ 趋势图渲染
│       └── references/             判读规则、推荐策略、平台笔记
│   ├── device-overview/
│   ├── performance-diagnosis/
│   ├── storage-diagnosis/
│   ├── wifi-diagnosis/
│   ├── wifi-health-report/
│   ├── app-diagnosis/
│   ├── service-recommendation/
│   └── xiangbangbang-device-assistant/
│
├── .claude/skills/                 ← Claude Code 加载路径(由 sync-skill.sh 生成)
│
├── docs/                           见下
└── scripts/sync-skill.sh           两份 skill 副本的同步,防漂移
```

两份 skill 副本是因为 DSH 扫 `.dsh/skills/`、Claude Code 扫 `.claude/skills/`,
互不认对方的路径。软链在 Windows 上不可靠(本插件要跨平台),所以用真实副本 +
`scripts/sync-skill.sh` 保持一致。**改动请改 `.dsh/` 那份再同步。**

### 加一个新工具组

1. `src/tools/<组名>/{collector.js,register.js}` —— 纯逻辑与注册分离
2. `.dsh/skills/<skill 名>/` —— SKILL.md + scripts + references,然后 `npm run sync-skill`
3. `src/index.js` 的 `GROUPS` 加一行
4. `test/tools/<组名>.test.js`
5. `docs/tools/<组名>.md`

---

## 文档

| 文档 | 内容 |
|---|---|
| [docs/vision.md](docs/vision.md) | **为什么做**:判断、要验证的假设、指标、工具规划、设计原则、风险边界 |
| [docs/progress.md](docs/progress.md) | **做到哪了**:当前状态、已完成、核心结论、踩过的坑、未来计划、未验证缺口 |
| [docs/marketplace-listing.md](docs/marketplace-listing.md) | **怎么进生态**:收录机制、三个核心站点的逐项要求、已知坑、提交清单 |
| [docs/tools/battery-health.md](docs/tools/battery-health.md) | 电池工具组的能力矩阵、数据口径、趋势图设计原则、推荐策略 |
| [docs/tools/windows-device.md](docs/tools/windows-device.md) | Windows 非电池工具、隐私与确认边界、迁移状态 |
| [AGENTS.md](AGENTS.md) | **给 AI agent 的说明**:硬性约束、单一事实来源、代码约定、高频陷阱 |
| [handoff.md](handoff.md) | **交接文档**:冷启动接手所需的一切 |

---

## 已知待办

**未验证的部分,不要在对外材料里跳过:**

- Windows 采集脚本已实现但**从未在真实 Windows 上运行过**
- `dsh plugin add` 的实际安装**未实测**(目录站 CI 只校验 manifest 形状,不安装不执行)
- Cordis 工具注册按官方文档写就,**未在真实 DSH 运行时验证过**
- 无埋点,转化数据完全空白
- 品牌归属未定论
- 拯救者电池商品 ID 待核对(需求方给的链接显示文本与 href 不一致)

完整清单与优先级见 [docs/progress.md](docs/progress.md)。

---

## License

[MIT](LICENSE)

Install

dsh plugin --profile web add github:1Ecc/dsh-lenovo-toolkit#a66d386cbfe06766fa27e7034aa03e3519792afb

Profile: web

Source