dsh-skill-status
中文 | English
DeepSeek Harness(DSH)的会话技能状态插件。在会话标题栏显示已确认加载的技能数量,点击「技能」打开右侧面板,查看完整正文是否仍在当前主助手上下文中,以及各次加载的正文版本与来源。
功能
- 合并当前技能目录与历史正式加载记录,支持按名称或说明筛选。
- 已加载的技能排在列表前面,同组内按名称排序。
- 识别
/技能名和skill工具的正式加载记录,核对主正文是否完整保留。 - 查看历史正文版本、加载次数和加载时的资源指引;同一技能的多个版本只计数一次。
- 分别展示加载时的来源与当前目录来源;源文件后续修改不会覆盖历史正文。
- 随会话事件更新状态,安静期间每五秒复查目录和文件状态。
插件只查询当前主助手的技能状态,不提供加载、重载、卸载技能或修改会话内容的操作。
安装
在 DSH 的 Web profile 中直接从 GitHub 安装:
dsh plugin --profile web add github:yuhhhong/dsh-skill-status
安装完成后重启 DSH,并刷新 DSH 页面。打开已有会话,点击会话标题栏右侧的「技能」入口,即可查看当前会话的技能状态。
如需卸载:
dsh plugin --profile web remove dsh-skill-status
当前插件版本为 0.1.3,适配 DSH 0.1.7-rc.2。
状态含义
| 状态 | 含义 |
|---|---|
| 已加载 | 至少一个正式加载版本的完整主正文仍在当前上下文中 |
| 未检测到加载 | 可核实历史中没有正式入口成功加载的记录 |
| 完整正文不在上下文 | 已确认曾加载,但当前所有可核实版本的主正文都不完整或已移除 |
| 无法确认 | 历史、正文或当前上下文的证据不足 |
标题中的 … 表示尚未收到结果,? 表示查询失败或仍有无法确认的范围。2 · ? 表示已确认加载两个技能,但并非全部状态都已核实。
普通文件读取不算正式加载证据。压缩摘要提到技能名字或曾经加载成功,都不能单独证明完整正文仍在上下文中。技能引用的资料是否被读取,不影响主正文的完整性判断。
加载记录中的资源指引不一定包含准确的源文件路径。只有当前技能目录提供明确路径时,插件才核查文件是否存在;该结果展示在「当前目录来源」下。
本地开发
安装依赖后可运行语法检查和测试。
pnpm run check
pnpm test
pnpm test 会先构建,再运行测试。pnpm pack 也会通过 prepack 自动构建。构建本项目不会自行更新正在运行的 DSH 页面。
lib/ 的构建产物随仓库提交,请勿删除或忽略。pnpm 安装 git 来源的依赖时,会检查 main 指向的 lib/index.js 是否存在:不存在就判定该包需要执行构建脚本,从而要求 allowBuilds 授权;存在则直接跳过构建阶段。因此保留 lib/ 是从 GitHub 安装无需构建授权的前提,prepack 仍然保留,用于发布 npm 包时重新构建。
改动 src/ 后请运行 pnpm run build 并提交更新后的 lib/。测试会比对 lib/ 与当前源码的构建结果,产物过期时会失败。
项目关闭自动补装 peer 依赖,DSH 宿主由目标运行环境提供。兼容版本以包清单中的 peerDependencies 为准。
发布
推送 v 前缀标签即触发发布工作流:核对标签与包版本、提取发布说明、检查已提交产物、运行语法检查与测试,全部通过后自动创建 GitHub Release。不附带压缩包。
发布前先在更新日志写入该版本的段落,再提交 lib/ 并推送标签。标签与 package.json 版本不一致,或更新日志缺少该版本段落时,工作流会在发布前失败。
git tag -a v0.1.3 -m "发布 v0.1.3"
git push origin v0.1.3
| 文件 | 用途 |
|---|---|
| src/analyze.js | 正式加载识别、正文完整性核对、历史合并与计数 |
| src/monitor.js | 会话观察、来源核查与长轮询 |
| src/index.js | 宿主事件订阅与状态查询路由 |
| src/client.jsx | 标题入口、右侧面板与版本切换 |
| scripts/build.mjs | 构建宿主与 DSH 客户端模块 |
| scripts/release-notes.mjs | 按包版本从更新日志提取 Release 正文 |
| lib/ | 随仓库提交的构建产物,使 git 安装无需构建授权 |
项目文档
- 术语表:项目术语与需求约定。
许可证
本项目采用 MIT 许可证,Copyright (c) 2026 yuhong。
No comments yet. Be the first to write one.