Skip to content
dsh.fish
Bundle

@dsh-external/dsh-skill-manager

dsh web GUI skill manager: browse, preview, import, add, and delete user skills from a settings page

Source
jackmis0724
License
MIT
Updated
Updated 21 days ago

Readme

# dsh-skill-manager

dsh Web GUI 的技能管理页:浏览当前会话技能目录、预览技能内容、从 GitHub/链接/本地文件导入、新建技能、单个与批量删除用户技能。

- 入口:设置面板 →「技能管理」
- Host 半区:`/api/dsh-skill-manager/*`(loopback-only,与 dsh-ssh 同模式),通过 harness `skills` 注册表与用户技能目录读写
- 只读保护:仅 `$DSH_HOME/skills` 与 `$DSH_AGENTS_HOME/skills` 内的条目可删除;符号链接条目只移除链接,源文件保留
- 沙箱:所有文件操作按当前会话沙箱策略执行

## 安装

```sh
dsh plugin --profile web add https://github.com/jackmis0724/dsh-skill-manager
```

或手动:在 `~/.dsh/profiles/web/package.json` 的 `dependencies` 加入

```json
"@dsh-external/dsh-skill-manager": "link:/home/Jack/project/dsh-skill-manager"
```

并把 `@dsh-external/dsh-skill-manager` 加进 `dsh.profile.bundles`,然后 `pnpm install` 并重启 `dsh web`。

## 构建

```sh
pnpm install
pnpm run build   # 产出 lib/index.js(Host)与 lib/client.js(Client)
pnpm run test
```

## Known Limitations

- 链接类技能(`~/.dsh/skills` 中的符号链接)删除时仅移除链接本身,不触碰链接目标(如 `~/.hermes/skills`)。
- 会话 cwd 无 git 根时,上游 `skill-filesystem` 会把 cwd 当项目根,导致用户技能被标成 `project-dsh`;本插件按物理路径判定归属,不受影响。

Install

dsh plugin --profile web add github:jackmis0724/dsh-skill-manager

Profile: web

  • 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.
Source