@morehao/dsh-skills-console 0.5.1 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +170 -0
- package/README.md +39 -15
- package/client.js +232 -336
- package/lib/core/intro-store.js +1 -1
- package/lib/core/intro.js +24 -18
- package/package.json +2 -1
package/README.en.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
<p align="center"><img src="icon.svg" width="64" height="64" alt="Skills Console icon" /></p>
|
|
2
|
+
|
|
3
|
+
# Skills Console · dsh-skills-console
|
|
4
|
+
|
|
5
|
+
[简体中文](README.md) · **English**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@morehao/dsh-skills-console) [](https://github.com/morehao/dsh-skills-console/actions/workflows/check.yml) [](LICENSE)
|
|
8
|
+
|
|
9
|
+
The skills console for DSH (DeepSeek Harness): **install, update, remove, toggle and share skills with other agents — plus a subscription list**.
|
|
10
|
+
|
|
11
|
+
It gathers the skills on your machine into one list: what you have, where it came from, who can use it, and whether it is up to date. Turn on what you use, turn off what you don't; when another agent needs one, link it over with a click — the skill itself always stays in one place.
|
|
12
|
+
|
|
13
|
+
## Why you need it
|
|
14
|
+
|
|
15
|
+
- **One place for every skill**: installed skills and skills already on the machine live in the same list — source, version, shared agents and update time at a glance, no digging through directories.
|
|
16
|
+
- **Toggle on demand, save context**: disable a skill you don't need for now and DSH's model invocations and `/` manual invocations stop seeing it; turn it back on and it is back. Skills on disk, sharing, and other agents are untouched.
|
|
17
|
+
- **One skill, many agents**: most agents (OpenCode, Cursor, Gemini CLI, …) read the shared skills directory directly and work as soon as a skill is installed; ones that only read their own directory (such as Claude Code) can be linked with a single checkbox in the panel.
|
|
18
|
+
- **Installing is not the end**: upstream repos keep moving. The console checks for new commits, first tells you which skills are affected, and then you decide whether to update.
|
|
19
|
+
- **A wrong delete is recoverable**: removals go to the trash for 7 days; a failed update rolls back to the previous version.
|
|
20
|
+
|
|
21
|
+
## Features
|
|
22
|
+
|
|
23
|
+
| Capability | Description |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| Inventory | Collects the skills on this machine — source, version, visibility and shared agents in one view; skills already in the shared directory are adopted automatically the first time you open it |
|
|
26
|
+
| Install | Enter `owner/repo` or a GitHub URL; first detects which skills the repo has and what each does; install everything or pick a few |
|
|
27
|
+
| Update | Checks upstream commits, lists the commit range and affected skills, updates in one click after you confirm; locally modified skills ask for confirmation first |
|
|
28
|
+
| Remove | Pre-flight check (never touches what others created), then a snapshot into the trash (kept 7 days) |
|
|
29
|
+
| Toggle | One-click on/off; once disabled, neither DSH's model invocations nor `/` manual invocations see it; other agents and files on disk are unaffected |
|
|
30
|
+
| Share | Links only agents that read their own directory; nothing is shared by default; agents that read the shared directory directly are not listed |
|
|
31
|
+
| View | Open a skill's body and files read-only: rendered / raw toggle, directory tree, single-file preview, plus source, hash and sharing info |
|
|
32
|
+
| AI intro | A ✨ per row opens a model-written summary of what the skill does and when to use it; only `SKILL.md` and the file-name list are sent, results are cached locally, and unchanged content is not regenerated |
|
|
33
|
+
| Subscriptions | Follow upstream changes of an `owner/repo`; snapshots only, no skill download. Expand an entry to see the author's own description, or let the model write an AI intro before deciding. ref / subdirectory optional; an empty ref follows the default branch |
|
|
34
|
+
| Scope | Manages user-level shared skills; per-project toggling is not supported yet. When a same-named copy exists in a project or user directory, that copy still wins visibility |
|
|
35
|
+
|
|
36
|
+
## Screenshots
|
|
37
|
+
|
|
38
|
+
Screenshots are from a real DSH Web session on v0.5.2 (dark theme). All assets live in [`assets/`](https://github.com/morehao/dsh-skills-console/tree/main/assets) (bitmap icons and UI screenshots) and are not published to npm, so they are referenced by absolute URL and render on both GitHub and the npm page.
|
|
39
|
+
|
|
40
|
+
**Installed list**: source, invocation policy, shared agents and update status in one screen; the top switches between "Installed" and "Subscriptions".
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
**Read-only viewer**: the list stays put while the right-hand drawer renders `SKILL.md`; switch to raw, browse the file tree and info, or open a full page.
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
**AI intro**: click the ✨ in a row for a model summary of what the skill can do and when to use it; it opens as a centered dialog like the other modals, and once generated it reads from the local cache.
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
**Subscriptions**: only upstream snapshots of `owner/repo`; expand an entry to see how many skills the repo has, which are installed and their status.
|
|
53
|
+
|
|
54
|
+

|
|
55
|
+
|
|
56
|
+
**Add subscription**: enter `owner/repo` or a GitHub URL; ref and subdirectory are optional; follow only, no skill download.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
|
|
60
|
+
## Interface
|
|
61
|
+
|
|
62
|
+
- **Two entry points**: by default it lives in the "Skills Console" section of DSH settings; turn on "Sidebar entry" in the header ⚙ and a standalone panel appears in the left sidebar, effective immediately.
|
|
63
|
+
- **One page, two tabs**: Installed / Subscriptions. The header holds "Auto-share on install" and "Add skill / Add subscription" on the right.
|
|
64
|
+
- **Five actions per row**: toggle, view, update, share settings, delete; the ✨ next to a skill name opens the AI intro; "View" is hidden on narrow panels, and the skill name itself remains the entry point. Status labels cover up to date / update available / locally modified / removed upstream / broken link / no upstream.
|
|
65
|
+
- **No layout jumps on narrow panels**: the action group wraps naturally with panel width and the plugin name always stays whole; the list switches to two columns by width; scrolling happens only in the list area, so switching tabs or resizing never flips the whole page.
|
|
66
|
+
- **Many agents don't crowd**: at most 3 are shown per row and the rest fold into `+n`; hover or focus reveals all.
|
|
67
|
+
- **Findable**: search by name / source / agent, filter by "updates / not checked / disabled", view flat or grouped by agent.
|
|
68
|
+
- **Not checked vs. no upstream**: "Not checked" only means no upstream verdict was obtained this time (rate limit, network, repo 404, etc.) and will be retried next time; skills without a usable source are marked "No upstream" and skipped in update checks.
|
|
69
|
+
|
|
70
|
+
## Viewing skill content
|
|
71
|
+
|
|
72
|
+
While managing skills you may want to know "what does this skill say, and is it worth keeping" — click the skill name or "View" on the row:
|
|
73
|
+
|
|
74
|
+
- **Drawer quick look**: the list stays put and a read-only drawer slides in from the right; close it with Esc / the overlay / ×, and you return to the previous filter and scroll position.
|
|
75
|
+
- **Full page for a deep read**: "Open as page" at the bottom of the drawer switches to a full page (body + contents on the left), with a top bar to go back to the list.
|
|
76
|
+
- **Three tabs**: Content (rendered / raw toggle; raw keeps the frontmatter), Files (directory tree + single-file preview; `.md` renders by default and can switch to raw, other text shows its source directly), Info (source, ref, commit, skillPath, content hash, install / update time, shared agents, enabled state, local changes).
|
|
77
|
+
- **Read-only**: no inputs and no save button. Update / share settings are enabled depending on writability; when the state file is corrupt you can still view, but management actions are disabled.
|
|
78
|
+
- **What can be previewed**: text files that decode as UTF-8 (`.md` / `.html` / `.jsx` / `.css` / `.sh` / extension-less scripts…) show their source directly; the per-file cap is 256 KB (longer content is truncated with a notice); images, audio/video, archives and other binaries show "Preview not supported" with the file name / size.
|
|
79
|
+
|
|
80
|
+
## AI intros (model-generated)
|
|
81
|
+
|
|
82
|
+
Some skills only have an English description, and some titles alone don't tell you what they do. Every installed row has a `✨ Intro` next to the skill name:
|
|
83
|
+
|
|
84
|
+
- **Open and read**: generated intros load from the local cache and open instantly; only when there is none does a "Generate intro" button appear, and only clicking it calls the model.
|
|
85
|
+
- **What it writes**: a 2–3 sentence capability summary — what it does, when to use it, and **how to trigger it**: trigger words / example requests copied from the `SKILL.md` when present, otherwise 2–4 keywords (or one example request) users can literally say, or the invocation itself (skill name / slash command); key limitations when needed; in the model's own words, not a word-for-word translation.
|
|
86
|
+
- **What it sends**: the `SKILL.md` body (truncated beyond `maxInputBytes`) and the list of file names in the skill directory (up to 30); **no other file contents are read**; the language follows the UI (Chinese / English).
|
|
87
|
+
- **Cached locally**: `$DSH_HOME/skills-console/intros.json`, keyed by skill name + language; when the `SKILL.md` content hash changes it warns "may be out of date" and only regenerating overwrites it. Failures are not cached.
|
|
88
|
+
- **Default model**: `config.intro.provider/model` when configured, otherwise DSH's current default model; only one generation runs at a time, and repeated clicks return "already generating".
|
|
89
|
+
- **Subscription candidates too**: expanded subscriptions have `✨ Intro` on each entry; it fetches the remote `SKILL.md` at the snapshot `commit` and generates from that, with the commit in the cache key, and it never blocks "Install". Expanding also shows the author's own frontmatter description for free.
|
|
90
|
+
- **How to turn it off**: `config.intro.enabled = false` (hides the ✨ entry). Other knobs are under "Data and configuration".
|
|
91
|
+
|
|
92
|
+
## Installation
|
|
93
|
+
|
|
94
|
+
The plugin ships its own download and extraction code: **no Node / npm / npx / git required beforehand**; the first install needs network access to fetch dependencies.
|
|
95
|
+
|
|
96
|
+
Install a local link inside Harness:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
plugin_manager install_bundle(target = <absolute path to this repo>)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Or add it to the profile's `cordis.patch.yml`:
|
|
103
|
+
|
|
104
|
+
```yaml
|
|
105
|
+
- insert:
|
|
106
|
+
- id: dsh-skills-console
|
|
107
|
+
name: '@morehao/dsh-skills-console'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The panel shows up in DSH Web's settings page / sidebar.
|
|
111
|
+
|
|
112
|
+
## Quick start
|
|
113
|
+
|
|
114
|
+
1. **Add skill**: click "Add skill" in the top right, enter `owner/repo` or a GitHub URL, then click "Detect"; when the repo has several skills, tick the ones to install (multi-select, all selected by default, each with its description), and a single skill is selected automatically. If nothing is detected you can type skill names by hand; leaving them empty installs everything in the repo.
|
|
115
|
+
2. **Share with other agents**: only needed for agents that read their own directory (for example Claude Code). Click "Share settings" on a row and tick the target agents; agents that already read the shared directory are not listed. To choose which agents new installs are shared with by default, use "Auto-share on install" in the header (nothing is ticked by default).
|
|
116
|
+
3. **Check for updates**: click the refresh icon in the list header; rows with updates light up "Update", or update everything at once with "Update all". Locally modified skills ask for confirmation first.
|
|
117
|
+
4. **Invocation policy**: click the "Auto / Manual only / Fully disabled" status button on a row and switch in the centered invocation-policy dialog. Auto = both the model and `/` can invoke it; Manual only = only the `disable-model-invocation` frontmatter key in `SKILL.md` changes and `/` still works; Fully disabled = `SKILL.md` is renamed to `SKILL.md.disabled` with a marker left behind, and restoring returns to the mode from before. When the author already declared manual-only in `SKILL.md`, the chip is read-only and is never overridden. While parked, install and update are rejected so the file cannot be silently written back.
|
|
118
|
+
|
|
119
|
+
## Safety and reliability
|
|
120
|
+
|
|
121
|
+
- **Only touch what is ours**: the plugin maintains only the links it created; it runs a pre-flight check before deleting and aborts if a link to remove has become a real directory or a foreign link; same-named links created by others are never touched or removed.
|
|
122
|
+
- **Where file changes stop**: Auto only writes plugin state; Manual only changes one frontmatter line, with a backup first; Fully disabled only renames + writes a marker, leaving the content byte-for-byte identical. The v3 lock, shared links and the body are never touched; updates replay the invocation policy and still ask for confirmation for other local changes.
|
|
123
|
+
- **Rollback included**: removals go to the trash (7 days); every update is backed up first, restores the previous version on failure, and can be rolled back manually when needed.
|
|
124
|
+
- **Read-only when state is bad**: if the state file is corrupt or its version is unknown, the plugin degrades to read-only, management actions are disabled, and it neither guesses the structure nor auto-repairs.
|
|
125
|
+
- **No arbitrary paths**: targets in requests are always resolved through the registry; shared links only ever point to the same-named skill under the shared directory.
|
|
126
|
+
- **Big repos still update**: large repos with design assets (50 MB+ archives) are not blocked by the size cap.
|
|
127
|
+
- **"Manual only" has a real entry point**: it can be switched in the console, or declared by the skill author in `SKILL.md`; an author declaration is shown read-only, never overridden, and never treated as an error.
|
|
128
|
+
- **Same-named copies are called out**: when a project or user directory holds another copy of a skill, the UI says outright that "the model sees a different copy" instead of pretending the visible one is the shared-directory copy.
|
|
129
|
+
- **Rate limits have a fallback**: public repos work anonymously; when the GitHub quota runs out it switches channels automatically to keep checking, and you can set `GITHUB_TOKEN` to raise the quota from 60 to 5000 requests per hour — private repo installs rely on it too.
|
|
130
|
+
|
|
131
|
+
## Data and configuration
|
|
132
|
+
|
|
133
|
+
| Item | Location |
|
|
134
|
+
| --- | --- |
|
|
135
|
+
| Skill itself | `~/.agents/skills` (the skills directory shared by DSH and most agents) |
|
|
136
|
+
| Plugin state | `$DSH_HOME/skills-console/state.json` (`DSH_SKILLS_CONSOLE_HOME` changes the root) |
|
|
137
|
+
| Backups / trash | `$DSH_HOME/skills-console/{backups,trash}`; originals rewritten by Manual only are kept separately in `backups/invocation/` |
|
|
138
|
+
| AI intro cache | `$DSH_HOME/skills-console/intros.json` (installed skills by name, subscription candidates by `source@commit:path`; only the generated text and metadata, never the `SKILL.md` body) |
|
|
139
|
+
| Event log | `$DSH_HOME/skills-console/dsh-skills-console.log` (JSONL, rotates at 1 MB) |
|
|
140
|
+
|
|
141
|
+
The skill itself stays in the shared directory; sharing only creates links and never moves files.
|
|
142
|
+
|
|
143
|
+
AI intro settings (in the plugin `config` of the profile / `cordis.patch.yml`):
|
|
144
|
+
|
|
145
|
+
| Key | Default | Description |
|
|
146
|
+
| --- | --- | --- |
|
|
147
|
+
| `intro.enabled` | `true` | `false` hides the ✨ entry and the API returns 501 |
|
|
148
|
+
| `intro.provider` / `intro.model` | empty | empty uses DSH's current default model; both must be set together |
|
|
149
|
+
| `intro.maxInputBytes` | `24576` | cap on the `SKILL.md` sent to the model (8–48 KB); longer input is truncated and marked in the prompt |
|
|
150
|
+
| `intro.maxOutputTokens` | `300` | output cap (96–1024) |
|
|
151
|
+
| `intro.timeoutMs` | `30000` | per-generation timeout (5–60 s); timeouts return 504 |
|
|
152
|
+
|
|
153
|
+
## Development and publishing
|
|
154
|
+
|
|
155
|
+
Source layout, test strategy and local `link:` verification are in [docs/development.md](docs/development.md); visibility, data placement and implementation boundaries in [docs/internals.md](docs/internals.md); the release process and troubleshooting checklist in [docs/publishing.md](docs/publishing.md). AI agents working in this repo should read [AGENTS.md](AGENTS.md) first.
|
|
156
|
+
|
|
157
|
+
## Boundaries (explicitly out of scope)
|
|
158
|
+
|
|
159
|
+
- No skill marketplace / search, and no taking over or rewriting other tools' own agent distribution.
|
|
160
|
+
- No editing skill bodies: the viewer is read-only; only "Manual only" touches the `disable-model-invocation` frontmatter key, and "Fully disabled" only renames files — nothing else.
|
|
161
|
+
- No file-level diff preview: only commit ranges and affected skills; to inspect individual lines, run `git diff <from>..<to> -- <skillDir>` in a terminal.
|
|
162
|
+
- No image / binary preview.
|
|
163
|
+
- No cross-machine sync, and no token is ever written to disk.
|
|
164
|
+
- No process-level hiding: toggling in Auto only affects DSH; Fully disabled renames `SKILL.md`, so other agents that read that directory can't see it either, but it does not prevent external writes from putting the file back.
|
|
165
|
+
- No project-level toggling: same-named skills in projects stay visible per DSH's precedence.
|
|
166
|
+
- No taking over the host preset layer or skill sources bundled with other plugins; diagnostics mark them as blind spots rather than pretending to support them.
|
|
167
|
+
|
|
168
|
+
## License
|
|
169
|
+
|
|
170
|
+
MIT
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
<img src="icon.svg" width="64" height="64" alt="技能控制台图标"
|
|
1
|
+
<p align="center"><img src="icon.svg" width="64" height="64" alt="技能控制台图标" /></p>
|
|
2
2
|
|
|
3
3
|
# 技能控制台 · dsh-skills-console
|
|
4
4
|
|
|
5
|
-
[
|
|
6
|
-
|
|
7
|
-
[](LICENSE)
|
|
5
|
+
**简体中文** · [English](README.en.md)
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/@morehao/dsh-skills-console) [](https://github.com/morehao/dsh-skills-console/actions/workflows/check.yml) [](LICENSE)
|
|
8
8
|
|
|
9
9
|
DSH(DeepSeek Harness)的技能控制台:**装、更新、删除、启停、共享至其他 Agent,外加一份订阅清单**。
|
|
10
10
|
|
|
@@ -29,15 +29,39 @@ DSH(DeepSeek Harness)的技能控制台:**装、更新、删除、启停
|
|
|
29
29
|
| 启停 | 一键开关;停用后 DSH 的模型调用与 `/` 手动调用都看不到它,其他 Agent 与磁盘文件不受影响 |
|
|
30
30
|
| 共享 | 只给「只读自己目录」的 Agent 建链,默认不共享;直接读共享目录的 Agent 不出现在列表里 |
|
|
31
31
|
| 查看 | 只读打开技能正文与文件:渲染 / 原文切换、目录树、单文件预览,外加来源、哈希与共享信息 |
|
|
32
|
-
|
|
|
33
|
-
| 订阅 | 关注 `owner/repo` 的上游变化,只记快照、不下载技能;展开条目能看到作者原描述,也可以让模型写一段 AI
|
|
32
|
+
| 技能简介 | 列表每行一个 ✨,点开就能看到模型写的「这个技能能做什么、什么时候用」;只发 `SKILL.md` 与文件名清单,结果缓存在本地,内容没变不重复调用 |
|
|
33
|
+
| 订阅 | 关注 `owner/repo` 的上游变化,只记快照、不下载技能;展开条目能看到作者原描述,也可以让模型写一段 AI 简介再决定装不装;ref / 子目录可选,不填 ref 时跟随默认分支 |
|
|
34
34
|
| 作用范围 | 管 user 级共享技能;暂不支持按项目启停。项目或用户目录里有同名副本时,副本仍优先可见 |
|
|
35
35
|
|
|
36
|
+
## 截图
|
|
37
|
+
|
|
38
|
+
截图取自 v0.5.2 的 DSH Web 实机(深色主题)。素材都放在 [`assets/`](https://github.com/morehao/dsh-skills-console/tree/main/assets)(位图图标与界面截图),不随 npm 包发布,所以这里用绝对地址引用,GitHub 与 npm 页面都能看到。
|
|
39
|
+
|
|
40
|
+
**已安装清单**:来源、调用策略、共享的 Agent、更新状态一屏看全;顶部切「已安装 / 订阅」。
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
|
|
44
|
+
**只读查看器**:列表不动,右侧抽屉渲染 `SKILL.md`;可切原文、看文件树与信息,也能进整页阅读。
|
|
45
|
+
|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
**AI 简介**:点行内 ✨,看模型概括的「能做什么、什么时候用」;和调用策略等弹窗一样居中打开,生成过就直接读本地缓存。
|
|
49
|
+
|
|
50
|
+

|
|
51
|
+
|
|
52
|
+
**订阅清单**:只记 `owner/repo` 的上游快照;展开看仓库里有几个技能、哪些已装、各自状态。
|
|
53
|
+
|
|
54
|
+

|
|
55
|
+
|
|
56
|
+
**添加订阅**:填 `owner/repo` 或 GitHub URL,ref 与子目录可空;只关注,不下载技能。
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
|
|
36
60
|
## 界面
|
|
37
61
|
|
|
38
62
|
- **两个入口**:默认在 DSH 设置页的「技能控制台」分区;页头 ⚙ 里打开「侧边栏入口」,左侧栏就会出现独立面板,切换立即生效。
|
|
39
63
|
- **一页两 tab**:已安装 / 订阅。页头右侧是「新安装时自动共享」与「添加技能 / 添加订阅」。
|
|
40
|
-
- **每行五个动作**:开关(启停)、查看、更新、共享设置、删除;技能名旁的 ✨ 打开 AI
|
|
64
|
+
- **每行五个动作**:开关(启停)、查看、更新、共享设置、删除;技能名旁的 ✨ 打开 AI 简介;窄面板下隐藏「查看」,技能名本身仍是入口。状态标签覆盖最新 / 可更新 / 本地已改 / 上游已移除 / 软链断裂 / 无上游等。
|
|
41
65
|
- **窄面板不跳版**:动作组按面板宽度自然换行,插件名始终完整;列表按宽度切两列;滚动只发生在列表区,切 tab、调整窗口都不会让整页翻面。
|
|
42
66
|
- **Agent 多了不挤**:每行最多展示 3 个,其余折成 `+n`,悬浮或聚焦即可看全。
|
|
43
67
|
- **找得到**:支持按名称 / 来源 / Agent 搜索,按「可更新 / 待检查 / 已停用」筛选,平铺或按 Agent 分组。
|
|
@@ -53,16 +77,16 @@ DSH(DeepSeek Harness)的技能控制台:**装、更新、删除、启停
|
|
|
53
77
|
- **只读**:没有输入框和保存按钮。更新 / 共享设置按可写状态决定是否可用;状态文件损坏时仍可查看,管理动作禁用。
|
|
54
78
|
- **能预览什么**:能按 UTF-8 解码的文本文件(`.md` / `.html` / `.jsx` / `.css` / `.sh` / 无扩展名脚本…)直接显示源码;单文件上限 256 KB(超出截断并提示);图片、音视频、压缩包等二进制显示「暂不支持预览」和文件名 / 大小。
|
|
55
79
|
|
|
56
|
-
##
|
|
80
|
+
## 技能简介(AI 生成)
|
|
57
81
|
|
|
58
|
-
有些技能只有英文说明,也有的光看标题不知道能干什么。已安装列表里每行技能名旁都有一个 `✨
|
|
82
|
+
有些技能只有英文说明,也有的光看标题不知道能干什么。已安装列表里每行技能名旁都有一个 `✨ 简介`:
|
|
59
83
|
|
|
60
|
-
-
|
|
61
|
-
- **写什么**:2–3
|
|
84
|
+
- **点开即看**:生成过的直接显示本地缓存,秒开;没生成过才出现「生成简介」按钮,点它才调模型。
|
|
85
|
+
- **写什么**:2–3 句能力简介——能做什么、什么时候用,并写清**怎么触发**:优先照抄 `SKILL.md` 里的触发词 / 示例请求,原文没写就按作者描述归纳成可以直接说的话(关键词或一句示例),也可以写技能名 / 斜杠命令;必要时点出关键限制;用模型自己的话概括,不是逐字翻译。
|
|
62
86
|
- **发什么**:`SKILL.md` 正文(超出 `maxInputBytes` 截断)与技能目录的文件名清单(最多 30 个),**不读其他文件内容**;语言跟随界面(中文 / English)。
|
|
63
87
|
- **缓存在本地**:`$DSH_HOME/skills-console/intros.json`,按技能名 + 语言分开存;`SKILL.md` 内容哈希变了会提示「可能过期」,重新生成才覆盖。失败不缓存。
|
|
64
88
|
- **默认模型**:优先用 `config.intro.provider/model`,没配就用 DSH 当前默认模型;同一时间只跑一个生成,重复点击返回「正在生成」。
|
|
65
|
-
- **订阅候选也能看**:展开订阅后,条目行同样有 `✨
|
|
89
|
+
- **订阅候选也能看**:展开订阅后,条目行同样有 `✨ 简介`;按快照 `commit` 拉远端 `SKILL.md` 再生成,缓存 key 带 commit,不挡「安装」。展开时还会显示作者自己的 frontmatter 描述,不花额度。
|
|
66
90
|
- **关闭方式**:`config.intro.enabled = false`(界面隐藏 ✨ 入口)。其他可调项见「数据与配置」。
|
|
67
91
|
|
|
68
92
|
## 安装
|
|
@@ -90,7 +114,7 @@ plugin_manager install_bundle(target = <本仓库绝对路径>)
|
|
|
90
114
|
1. **添加技能**:点右上角「添加技能」,填 `owner/repo` 或 GitHub URL,点「检测技能」;仓库里有多个技能时勾选要装的(支持多选,默认全选,列表带每个技能的说明),只有一个会默认勾上。检测不到时可以手填技能名,留空则装仓库内全部。
|
|
91
115
|
2. **共享至其他 Agent**:只有「只读自己目录」的 Agent 才需要这一步(例如 Claude Code)。点行内「共享设置」勾选目标 Agent;本来就读共享目录的 Agent 不在列表里。之后新装技能默认共享至哪些 Agent,用页头「新安装时自动共享」设定(默认一个都不勾)。
|
|
92
116
|
3. **检查更新**:点列表头上的刷新图标;有更新的行会亮起「更新」,也可以一次「全部更新」。本地改过的技能会先要求确认。
|
|
93
|
-
4. **调用策略**:点行内「自动 / 仅手动 /
|
|
117
|
+
4. **调用策略**:点行内「自动 / 仅手动 / 完全停用」状态按钮,在居中的调用策略弹窗里切换。自动=模型与 `/` 都能调用;仅手动=只改 `SKILL.md` 的 `disable-model-invocation`,`/` 仍可用;完全停用=把 `SKILL.md` 改名为 `SKILL.md.disabled` 并留 marker,恢复时回到停用前的模式。作者已在 `SKILL.md` 里声明仅手动时,chip 只读展示,不会被覆盖。停用期间更新 / 安装会被拒绝,避免文件被悄悄写回。
|
|
94
118
|
|
|
95
119
|
## 安全与可靠性
|
|
96
120
|
|
|
@@ -111,12 +135,12 @@ plugin_manager install_bundle(target = <本仓库绝对路径>)
|
|
|
111
135
|
| 技能本体 | `~/.agents/skills`(DSH 与多数 Agent 共用的技能目录) |
|
|
112
136
|
| 插件状态 | `$DSH_HOME/skills-console/state.json`(`DSH_SKILLS_CONSOLE_HOME` 可换根目录) |
|
|
113
137
|
| 备份 / 回收站 | `$DSH_HOME/skills-console/{backups,trash}`;仅手动改写的原文另存 `backups/invocation/` |
|
|
114
|
-
|
|
|
138
|
+
| 技能简介缓存 | `$DSH_HOME/skills-console/intros.json`(已安装技能按名字、订阅候选按 `source@commit:path`;只存生成的文本与元数据,不存 `SKILL.md` 原文) |
|
|
115
139
|
| 事件日志 | `$DSH_HOME/skills-console/dsh-skills-console.log`(JSONL,1MB 滚动) |
|
|
116
140
|
|
|
117
141
|
技能本体留在共享目录,共享只是建链,不搬文件。
|
|
118
142
|
|
|
119
|
-
|
|
143
|
+
技能简介的可调项(写在 profile / `cordis.patch.yml` 的插件 `config` 里):
|
|
120
144
|
|
|
121
145
|
| 键 | 默认 | 说明 |
|
|
122
146
|
| --- | --- | --- |
|