DeepSeek Harness 插件

dsh-client-ui-settings-skills

Out-of-tree dsh plugin: a Skill management page in Web Settings (read-only catalog over harness / user / workspace dimensions).(英文原文)

跳到安装方式

来源信息

GitHub 仓库
dsh-mixxed/dsh-client-ui-settings-skills
最近更新
2026年8月16日
分类
插件市场与管理
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/dsh-mixxed/dsh-client-ui-settings-skills
插件名:dsh-client-ui-settings-skills
作者:dsh-mixxed

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

ui-settings-skills

A dsh plugin that adds a Skill management page to Web Settings, organized by workspace.

Built as a fully out-of-tree plugin — the deepseek-harness source stays untouched. It registers a settings.section slot (the page appears in Settings → 技能 / Skills) and serves its skill catalog over its own HTTP route (ctx.webServer).

Install

1. Install the plugin from npm (published as @dsh-mixxed/dsh-client-ui-settings-skills):

``sh dsh plugin --profile web add @dsh-mixxed/dsh-client-ui-settings-skills ``

The package declares dsh.bundle (its bundled cordis.patch.yml), so dsh plugin add automatically appends it to the profile's dsh.profile.bundles layer stack and the plugin mounts on the next boot — no manual cordis.patch.yml editing.

Upgrading an install that predates the bundle declaration: remove the legacy ui-settings-skills row from $DSH_HOME/profiles/<name>/cordis.patch.yml — the bundle layer now supplies it, and leaving both would mount the id twice.

2. Restart the profile (new plugins are discovered at boot), then open Settings → 技能 / Skills.

Building from source (development / offline)

pnpm install
pnpm run typecheck
pnpm test
pnpm run build
npm pack          # produces dsh-mixxed-dsh-client-ui-settings-skills-<version>.tgz
dsh plugin --profile web add ./dsh-mixxed-dsh-client-ui-settings-skills-<version>.tgz

Features

  • One tab per workspace, with global and user-level skills folded into every workspace view
  • Manages only user-level skills (~/.agents/skills) and project skills — preset-loaded (custom) and built-in skills are never shown or toggled
  • Search box that filters skills by name or description
  • Localized scope badges on every row (用户 / User, 工作区 / Workspace)
  • Skill descriptions clamp to two lines, with the full text shown on hover
  • Enable/disable toggles on every managed row — see [Skill toggles](#skill-toggles)

Skill toggles

Every managed skill row carries a switch. Turning a skill off:

  • removes it from the model catalog (tool-skill) and the /name injection boundary,
  • removes it from the / command menu in the conversation composer,
  • takes effect immediately — the next / open reflects the change.

Scope semantics:

  • User-level skills (~/.agents/skills) toggle globally across every workspace.
  • Project skills toggle per workspace: the same skill can stay enabled in one workspace and disabled in another.

State persists in the settings document (ui-settings-skills.policy namespace), so it survives profile restarts, and turning a skill back on restores it everywhere.

> Preset-loaded (custom) and built-in skills are never managed and never shown on the page.

Verify

dsh --profile <name> --dump-config | Select-String ui-settings-skills

The composed config shows the ui-settings-skills row, and $DSH_HOME/profiles/<name>/package.json lists @dsh-mixxed/dsh-client-ui-settings-skills under dsh.profile.bundles (auto-appended by dsh plugin add).

After the restart, the Skills page shows one tab per workspace, a search box, and localized skill rows.

Config (optional)

The plugin runs in the host role by default (routes + settings namespace + shadowing provider). A policy role registers only the shadowing provider — no namespace, no routes. Override it from your profile's own cordis.patch.yml — the user layer is applied after the bundle layer, so an id-targeted patch overrides the bundled mount row:

- id: ui-settings-skills
  name: "@dsh-mixxed/dsh-client-ui-settings-skills"
  config:
    role: policy      # default 'host'

License

[MIT](LICENSE)