Bundle
dsh-skill-status
查看当前主助手会话中技能完整正文的加载状态、历史版本与来源
- Source
- yuhhhong
- License
- MIT
- Updated
- Updated 18 days ago
Readme
# dsh-skill-status 中文 | [English](<./README.en.md>) DeepSeek Harness(DSH)的会话技能状态插件。在会话标题栏显示已确认加载的技能数量,点击「技能」打开右侧面板,查看完整正文是否仍在当前主助手上下文中,以及各次加载的正文版本与来源。 ## 功能 - 合并当前技能目录与历史正式加载记录,支持按名称或说明筛选。 - 已加载的技能排在列表前面,同组内按名称排序。 - 识别 `/技能名` 和 `skill` 工具的正式加载记录,核对主正文是否完整保留。 - 查看历史正文版本、加载次数和加载时的资源指引;同一技能的多个版本只计数一次。 - 分别展示加载时的来源与当前目录来源;源文件后续修改不会覆盖历史正文。 - 随会话事件更新状态,安静期间每五秒复查目录和文件状态。 插件只查询当前主助手的技能状态,不提供加载、重载、卸载技能或修改会话内容的操作。 ## 安装 在 DSH 的 Web profile 中直接从 GitHub 安装: ```sh dsh plugin --profile web add github:yuhhhong/dsh-skill-status ``` 安装完成后重启 DSH,并刷新 DSH 页面。打开已有会话,点击会话标题栏右侧的「技能」入口,即可查看当前会话的技能状态。 如需卸载: ```sh dsh plugin --profile web remove dsh-skill-status ``` 当前插件版本为 `0.1.3`,适配 DSH `0.1.7-rc.2`。 ## 状态含义 | 状态 | 含义 | | --- | --- | | 已加载 | 至少一个正式加载版本的完整主正文仍在当前上下文中 | | 未检测到加载 | 可核实历史中没有正式入口成功加载的记录 | | 完整正文不在上下文 | 已确认曾加载,但当前所有可核实版本的主正文都不完整或已移除 | | 无法确认 | 历史、正文或当前上下文的证据不足 | 标题中的 `…` 表示尚未收到结果,`?` 表示查询失败或仍有无法确认的范围。`2 · ?` 表示已确认加载两个技能,但并非全部状态都已核实。 普通文件读取不算正式加载证据。压缩摘要提到技能名字或曾经加载成功,都不能单独证明完整正文仍在上下文中。技能引用的资料是否被读取,不影响主正文的完整性判断。 加载记录中的资源指引不一定包含准确的源文件路径。只有当前技能目录提供明确路径时,插件才核查文件是否存在;该结果展示在「当前目录来源」下。 ## 本地开发 安装依赖后可运行语法检查和测试。 ```sh 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/`。[测试](<./test/lib-sync.test.mjs>)会比对 `lib/` 与当前源码的构建结果,产物过期时会失败。 项目关闭自动补装 peer 依赖,DSH 宿主由目标运行环境提供。兼容版本以[包清单](<./package.json>)中的 `peerDependencies` 为准。 ## 发布 推送 `v` 前缀标签即触发[发布工作流](<.github/workflows/release.yml>):核对标签与包版本、提取发布说明、检查已提交产物、运行语法检查与测试,全部通过后自动创建 GitHub Release。不附带压缩包。 发布前先在[更新日志](<./CHANGELOG.md>)写入该版本的段落,再提交 `lib/` 并推送标签。标签与 `package.json` 版本不一致,或更新日志缺少该版本段落时,工作流会在发布前失败。 ```sh git tag -a v0.1.3 -m "发布 v0.1.3" git push origin v0.1.3 ``` | 文件 | 用途 | | --- | --- | | [src/analyze.js](<./src/analyze.js>) | 正式加载识别、正文完整性核对、历史合并与计数 | | [src/monitor.js](<./src/monitor.js>) | 会话观察、来源核查与长轮询 | | [src/index.js](<./src/index.js>) | 宿主事件订阅与状态查询路由 | | [src/client.jsx](<./src/client.jsx>) | 标题入口、右侧面板与版本切换 | | [scripts/build.mjs](<./scripts/build.mjs>) | 构建宿主与 DSH 客户端模块 | | [scripts/release-notes.mjs](<./scripts/release-notes.mjs>) | 按包版本从更新日志提取 Release 正文 | | [lib/](<./lib>) | 随仓库提交的构建产物,使 git 安装无需构建授权 | ## 项目文档 - [术语表](<./CONTEXT.md>):项目术语与需求约定。 ## 许可证 本项目采用 [MIT 许可证](<./LICENSE>),Copyright (c) 2026 yuhong。
Install
dsh plugin --profile web add github:yuhhhong/dsh-skill-status
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-skill-status from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.