@klarkxy/dsh-dev-index 0.1.0

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/LICENSE ADDED
@@ -0,0 +1,40 @@
1
+ The Star And Thank Author License (SATA)
2
+ Version 2.1, September 2026
3
+
4
+ Copyright © 2026 klarkxy
5
+
6
+ Project Url: https://github.com/klarkxy/dsh-plugins
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in
16
+ all copies or substantial portions of the Software.
17
+
18
+ And wait, one more thing — an invitation, not a condition: it would be best if
19
+ you star/+1/like the project(s) in the project url section above, and thank the
20
+ author(s) in the Copyright section. You may, and arguably you should — but the
21
+ permissions above hold either way, star or no star.
22
+
23
+ Here are some suggested ways:
24
+
25
+ - Email the authors a thank-you letter, and make friends with him/her/them.
26
+ - Report bugs or issues.
27
+ - Tell friends what a wonderful project this is.
28
+ - And, sure, you can just express thanks in your mind without telling the world.
29
+
30
+ Contributors of this project by forking have the option to add his/her name and
31
+ forked project url at copyright and project url sections, but shall not delete
32
+ or modify anything else in these two sections.
33
+
34
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
37
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
39
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
40
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,97 @@
1
+ # dsh-dev-index
2
+
3
+ [Chinese documentation](README.zh-CN.md)
4
+
5
+ A DeepSeek Harness bundle that points an agent at one index of DSH features and extension points while it writes plugins, presets, patches, profiles, providers, or other DSH secondary development.
6
+
7
+ The index itself is not in this package. `docs/` in [klarkxy/dsh-plugins](https://github.com/klarkxy/dsh-plugins) is the only copy, and it is published at [https://klarkxy.github.io/dsh-plugins/](https://klarkxy.github.io/dsh-plugins/). `docs/meta.json` records `officialTag` and `officialCommit` for the [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) revision those pages describe. Every area names the official file it came from. The index does not invent APIs.
8
+
9
+ ## Why a skill
10
+
11
+ DSH's agent-facing knowledge contract is a skill on `ctx.skills`. `@deepseek-ai/dsh-skill` documents `ctx.skills.register` for an embedded instruction set, and `@deepseek-ai/dsh-tool-skill` puts model-invocable skills in the session catalog and loads them with the `skill` tool. A preset would replace the agent's composition. A tool would have to be called before the agent knew the index existed. A host-level skill is listed beside the agent's other skills and stays available in every base-backed profile.
12
+
13
+ On `apply`, this plugin registers the skill `dsh-dev-index`. The body only tells the agent where to fetch the current index:
14
+
15
+ - `https://klarkxy.github.io/dsh-plugins/llms.txt`
16
+ - `https://klarkxy.github.io/dsh-plugins/index.json`
17
+ - `https://klarkxy.github.io/dsh-plugins/meta.json`
18
+ - `https://klarkxy.github.io/dsh-plugins/areas/<id>.md`
19
+
20
+ English is the default. Human-readable pages also exist in Simplified Chinese under `zh/` (for example `zh/llms.txt` and `zh/areas/<id>.md`). `index.json` and `meta.json` stay in English.
21
+
22
+ If Pages does not respond, the same paths are on GitHub `main`:
23
+
24
+ `https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/`
25
+
26
+ The body also lists area ids so the agent knows which `areas/<id>.md` files exist. It does not copy page text or the indexed commit, so a daily docs refresh does not require a new package release.
27
+
28
+ `sdk-minimal` does not mount `@deepseek-ai/dsh-skill`. There the plugin stays pending because it injects `skills`. Web, headless, sdk, and acp build on `@deepseek-ai/dsh-base`, which mounts the registry.
29
+
30
+ Official DSH does not read `dsh.plugin.json`. This repository's other bundles ship that file for local discovery, so this package does too. The loader contract is `package.json` `dsh.bundle.patch`.
31
+
32
+ ## Install from npm
33
+
34
+ ```sh
35
+ dsh plugin --profile web add @klarkxy/dsh-dev-index
36
+ ```
37
+
38
+ The npm package includes the built `lib/` files.
39
+
40
+ ## Install from GitHub
41
+
42
+ ```sh
43
+ dsh plugin --profile web add "github:klarkxy/dsh-plugins#path:/plugins/dsh-dev-index"
44
+ ```
45
+
46
+ A Git install runs `prepare`, which builds `lib/`. pnpm blocks that script until the profile allowlists it. The DSH 0.1.7-rc.2 CLI tells you to add the exact key it prints under `allowBuilds` in `$DSH_HOME/profiles/web/pnpm-workspace.yaml`:
47
+
48
+ ```yaml
49
+ allowBuilds:
50
+ '@klarkxy/dsh-dev-index': true
51
+ ```
52
+
53
+ Run the add again. That allowance executes this package's build on the machine. Pin a commit when the plugin source must not move. The index the skill fetches still follows `main` and the Pages site.
54
+
55
+ Peer ranges on `@deepseek-ai/dsh-skill` are checked against the running `dsh` version. This package requires DSH `>=0.1.7-rc.2 <0.2.0` because it calls `ctx.skills.register` from that release. `engines.dsh` is not enforced by the loader; the peer range is. The indexed docs revision is `docs/meta.json`, not this peer range.
56
+
57
+ ## Install from this checkout
58
+
59
+ ```bash
60
+ pnpm install
61
+ pnpm --filter @klarkxy/dsh-dev-index build
62
+ dsh plugin --profile web add ./plugins/dsh-dev-index
63
+ ```
64
+
65
+ Restart the profile, or let HMR apply the new bundle. Then:
66
+
67
+ ```bash
68
+ dsh --profile web --dump-config
69
+ ```
70
+
71
+ The composition should contain a `dsh-dev-index` row. In a new session, load the `dsh-dev-index` skill before changing DSH plugins or presets.
72
+
73
+ ## Configuration
74
+
75
+ The patch sets the only key. A later layer that overrides the row must restate it, because a patch replaces `config` wholesale.
76
+
77
+ | Key | Default | Meaning |
78
+ | --- | --- | --- |
79
+ | `pagesBaseUrl` | `https://klarkxy.github.io/dsh-plugins/` | Absolute http(s) base URL written into the skill body. A missing trailing slash is added. The raw GitHub fallback stays on this repository's `main`. |
80
+
81
+ ## Refresh
82
+
83
+ The daily procedure is [docs/REFRESH.md](../../docs/REFRESH.md). Regenerate the rendered site from `docs/` with:
84
+
85
+ ```bash
86
+ node plugins/dsh-dev-index/scripts/build-site.mjs
87
+ ```
88
+
89
+ ## License
90
+
91
+ [SATA License 2.1](LICENSE)
92
+
93
+ ## Uninstall
94
+
95
+ ```bash
96
+ dsh plugin --profile web remove @klarkxy/dsh-dev-index
97
+ ```
@@ -0,0 +1,97 @@
1
+ # dsh-dev-index
2
+
3
+ [English documentation](README.md)
4
+
5
+ 这是一个 DeepSeek Harness bundle。Agent 在编写插件、Preset、补丁、Profile、Provider,或做其他 DSH 二次开发时,用它找到 DSH 功能与扩展点的索引。
6
+
7
+ 索引正文不在这个包里。[klarkxy/dsh-plugins](https://github.com/klarkxy/dsh-plugins) 仓库的 `docs/` 是唯一副本,并发布在 [https://klarkxy.github.io/dsh-plugins/](https://klarkxy.github.io/dsh-plugins/)。`docs/meta.json` 记录这些页面所描述的 [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) 修订:`officialTag` 与 `officialCommit`。每个章节都标明官方文件路径。索引不发明 API。
8
+
9
+ ## 为什么用 skill
10
+
11
+ DSH 面向 agent 的知识契约是 `ctx.skills` 上的 skill。`@deepseek-ai/dsh-skill` 用 `ctx.skills.register` 登记嵌入式说明,`@deepseek-ai/dsh-tool-skill` 把模型可调用的 skill 放进会话目录,并用 `skill` 工具加载。Preset 会换掉 agent 的组合。工具必须先被调用,agent 才知道索引存在。宿主层 skill 会和其他 skill 一起出现在目录里,base 上的 profile 都能用。
12
+
13
+ `apply` 时本插件登记 skill `dsh-dev-index`。正文只告诉 agent 去哪里读取当前索引:
14
+
15
+ - `https://klarkxy.github.io/dsh-plugins/llms.txt`
16
+ - `https://klarkxy.github.io/dsh-plugins/index.json`
17
+ - `https://klarkxy.github.io/dsh-plugins/meta.json`
18
+ - `https://klarkxy.github.io/dsh-plugins/areas/<id>.md`
19
+
20
+ 英文是默认语言。给人读的页面在 `zh/` 下另有简体中文版(例如 `zh/llms.txt` 和 `zh/areas/<id>.md`)。`index.json` 和 `meta.json` 保持英文。Agent 默认仍读取上面的英文文件。
21
+
22
+ Pages 没有响应时,同样的路径在 GitHub 的 `main` 上:
23
+
24
+ `https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/`
25
+
26
+ 正文还列出 area id,方便 agent 知道有哪些 `areas/<id>.md`。它不复制页面正文,也不写入被索引的 commit,因此每天刷新 `docs/` 不需要发布新的插件包。
27
+
28
+ `sdk-minimal` 没有挂载 `@deepseek-ai/dsh-skill`。本插件 `inject` 了 `skills`,在那里会一直等待。`web`、`headless`、`sdk` 和 `acp` 建立在 `@deepseek-ai/dsh-base` 上,base 会挂载这个注册表。
29
+
30
+ 官方 DSH 不读取 `dsh.plugin.json`。本仓库其他 bundle 用这个文件做本地发现,所以这里也保留。加载器认的是 `package.json` 里的 `dsh.bundle.patch`。
31
+
32
+ ## 从 npm 安装
33
+
34
+ ```sh
35
+ dsh plugin --profile web add @klarkxy/dsh-dev-index
36
+ ```
37
+
38
+ npm 包包含已构建的 `lib/`。
39
+
40
+ ## 从 GitHub 安装
41
+
42
+ ```sh
43
+ dsh plugin --profile web add "github:klarkxy/dsh-plugins#path:/plugins/dsh-dev-index"
44
+ ```
45
+
46
+ Git 安装会运行 `prepare` 来构建 `lib/`。pnpm 在允许之前会拦住这个脚本。DSH 0.1.7-rc.2 的 CLI 会要求把打印出的包名写进 `$DSH_HOME/profiles/web/pnpm-workspace.yaml` 的 `allowBuilds`:
47
+
48
+ ```yaml
49
+ allowBuilds:
50
+ '@klarkxy/dsh-dev-index': true
51
+ ```
52
+
53
+ 然后再执行一次 add。该许可会在本机执行这个包的构建。需要固定插件来源时请钉住 commit。skill 读取的索引仍然跟随 `main` 和 Pages 站点。
54
+
55
+ `@deepseek-ai/dsh-skill` 上的 peer 范围会对照正在运行的 `dsh` 版本检查。本包要求 DSH `>=0.1.7-rc.2 <0.2.0`,因为 `ctx.skills.register` 来自该版本。加载器不强制 `engines.dsh`;生效的是 peer 范围。索引描述的官方修订记在 `docs/meta.json`,不由这个 peer 范围表示。
56
+
57
+ ## 从本仓库安装
58
+
59
+ ```bash
60
+ pnpm install
61
+ pnpm --filter @klarkxy/dsh-dev-index build
62
+ dsh plugin --profile web add ./plugins/dsh-dev-index
63
+ ```
64
+
65
+ 安装后重启该 profile,或让 HMR 应用新 bundle。然后:
66
+
67
+ ```bash
68
+ dsh --profile web --dump-config
69
+ ```
70
+
71
+ 组合结果里应有 `dsh-dev-index` 这一行。新会话在修改 DSH 插件或 Preset 之前,先加载 `dsh-dev-index` 这个 skill。
72
+
73
+ ## 配置
74
+
75
+ 补丁写出了唯一的键。后一层如果覆盖这一行,必须整份重写 `config`,因为补丁替换的是整个 `config` 对象。
76
+
77
+ | 键 | 默认值 | 含义 |
78
+ | --- | --- | --- |
79
+ | `pagesBaseUrl` | `https://klarkxy.github.io/dsh-plugins/` | 写进 skill 正文的 http(s) 绝对基址。缺少末尾斜杠时会补上。GitHub 原始文件回退固定在本仓库的 `main`。 |
80
+
81
+ ## 更新索引
82
+
83
+ 每日步骤见 [docs/REFRESH.md](../../docs/REFRESH.md)。从 `docs/` 重新生成站点页面:
84
+
85
+ ```bash
86
+ node plugins/dsh-dev-index/scripts/build-site.mjs
87
+ ```
88
+
89
+ ## 许可证
90
+
91
+ [SATA License 2.1](LICENSE)
92
+
93
+ ## 卸载
94
+
95
+ ```bash
96
+ dsh plugin --profile web remove @klarkxy/dsh-dev-index
97
+ ```
@@ -0,0 +1,5 @@
1
+ - insert:
2
+ - id: dsh-dev-index
3
+ name: '@klarkxy/dsh-dev-index'
4
+ config:
5
+ pagesBaseUrl: https://klarkxy.github.io/dsh-plugins/
@@ -0,0 +1,15 @@
1
+ {
2
+ "id": "@klarkxy/dsh-dev-index",
3
+ "version": "0.1.0",
4
+ "main": "lib/index.js",
5
+ "description": "DeepSeek Harness feature index for agents doing DSH secondary development.",
6
+ "engines": {
7
+ "dsh": ">=0.1.7-rc.2 <0.2.0"
8
+ },
9
+ "contributes": {
10
+ "tools": [],
11
+ "skills": [
12
+ "dsh-dev-index"
13
+ ]
14
+ }
15
+ }
package/icon.svg ADDED
@@ -0,0 +1,15 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36" fill="none">
2
+ <defs>
3
+ <linearGradient id="pages" x1="8" y1="7" x2="27" y2="29" gradientUnits="userSpaceOnUse">
4
+ <stop stop-color="#79ABFF"/>
5
+ <stop offset="1" stop-color="#4868EF"/>
6
+ </linearGradient>
7
+ </defs>
8
+ <g transform="translate(3.6 3.6) scale(.8)">
9
+ <rect x="9" y="9" width="20" height="21" rx="3" fill="#286E99"/>
10
+ <rect x="6" y="6" width="20" height="22" rx="3" fill="url(#pages)"/>
11
+ <path d="M10 7V27" stroke="#B8D7FF" stroke-opacity=".5" stroke-width="1.5"/>
12
+ <path d="M19 6H23V16L21 14.5L19 16V6Z" fill="#65DED0"/>
13
+ <path d="M14 19H21M14 23H19" stroke="#E0EBFF" stroke-width="2" stroke-linecap="round"/>
14
+ </g>
15
+ </svg>
package/lib/index.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ import type { Context } from "@deepseek-ai/cordis";
2
+ import z from "@deepseek-ai/schemastery";
3
+ export declare const name = "@klarkxy/dsh-dev-index";
4
+ export declare const inject: string[];
5
+ export declare const DEFAULT_PAGES_BASE_URL = "https://klarkxy.github.io/dsh-plugins/";
6
+ export interface Config {
7
+ pagesBaseUrl: string;
8
+ }
9
+ export declare const Config: z<Config>;
10
+ export interface ResolvedConfig {
11
+ readonly pagesBaseUrl: string;
12
+ }
13
+ export interface IndexedSkill {
14
+ readonly name: string;
15
+ readonly description: string;
16
+ readonly whenToUse: string;
17
+ readonly source: "bundled";
18
+ readonly content: string;
19
+ readonly invocation: {
20
+ readonly modelInvocable: true;
21
+ readonly userInvocable: true;
22
+ };
23
+ }
24
+ export interface SkillHost {
25
+ skills: {
26
+ register(skill: IndexedSkill): () => void;
27
+ };
28
+ }
29
+ export declare function normalizePagesBaseUrl(value: string): string;
30
+ export declare function resolveConfig(config: Config): ResolvedConfig;
31
+ export declare function createSkill(pagesBaseUrl: string): IndexedSkill;
32
+ export declare function apply(ctx: Context & SkillHost, config: Config): void;
33
+ //# sourceMappingURL=index.d.ts.map
package/lib/index.js ADDED
@@ -0,0 +1,49 @@
1
+ import z from "@deepseek-ai/schemastery";
2
+ import { renderSkillBody, SKILL_DESCRIPTION, SKILL_NAME, SKILL_WHEN_TO_USE } from "./skill-body.js";
3
+ export const name = "@klarkxy/dsh-dev-index";
4
+ export const inject = ["skills"];
5
+ export const DEFAULT_PAGES_BASE_URL = "https://klarkxy.github.io/dsh-plugins/";
6
+ export const Config = z.object({
7
+ pagesBaseUrl: z.string().default(DEFAULT_PAGES_BASE_URL),
8
+ });
9
+ const CONFIG_KEYS = new Set(["pagesBaseUrl"]);
10
+ export function normalizePagesBaseUrl(value) {
11
+ let url;
12
+ try {
13
+ url = new URL(value);
14
+ }
15
+ catch {
16
+ throw new Error("dsh-dev-index: pagesBaseUrl must be an absolute http(s) URL");
17
+ }
18
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
19
+ throw new Error("dsh-dev-index: pagesBaseUrl must be an absolute http(s) URL");
20
+ }
21
+ return value.endsWith("/") ? value : `${value}/`;
22
+ }
23
+ export function resolveConfig(config) {
24
+ if (config === null || typeof config !== "object") {
25
+ throw new Error("dsh-dev-index: configuration is required");
26
+ }
27
+ for (const key of Object.keys(config)) {
28
+ if (!CONFIG_KEYS.has(key))
29
+ throw new Error(`dsh-dev-index: unknown config key "${key}"`);
30
+ }
31
+ return Object.freeze({
32
+ pagesBaseUrl: normalizePagesBaseUrl(config.pagesBaseUrl),
33
+ });
34
+ }
35
+ export function createSkill(pagesBaseUrl) {
36
+ return {
37
+ name: SKILL_NAME,
38
+ description: SKILL_DESCRIPTION,
39
+ whenToUse: SKILL_WHEN_TO_USE,
40
+ source: "bundled",
41
+ invocation: { modelInvocable: true, userInvocable: true },
42
+ content: renderSkillBody(pagesBaseUrl),
43
+ };
44
+ }
45
+ export function apply(ctx, config) {
46
+ const resolved = resolveConfig(config);
47
+ ctx.skills.register(createSkill(resolved.pagesBaseUrl));
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,8 @@
1
+ export declare const RAW_DOCS_BASE = "https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/";
2
+ export declare const SKILL_NAME = "dsh-dev-index";
3
+ export declare const SKILL_DESCRIPTION = "Look up DeepSeek Harness features and extension points before writing plugins, bundles, presets, patches, profiles, providers, tools, skills, hooks, or UI. Cites the official repository. Do not invent DSH APIs.";
4
+ export declare const SKILL_WHEN_TO_USE = "Use when the task is DSH secondary development: plugins, presets, patches, profiles, providers, tools, skills, hooks, MCP servers, UI slots, or config keys.";
5
+ /** Area ids the skill names so an agent knows what to fetch. Docs stay authoritative. */
6
+ export declare const AREA_IDS: readonly ["orientation", "plugin-module", "bundle-profile-patch", "cli", "tools", "skills", "presets-persona", "system-prompt", "sessions-titles", "llm-providers", "hooks", "mcp", "ui-slots", "settings-approval", "plugin-manager-inspect", "other-seams"];
7
+ export declare function renderSkillBody(pagesBaseUrl: string): string;
8
+ //# sourceMappingURL=skill-body.d.ts.map
@@ -0,0 +1,54 @@
1
+ const BODY_LIMIT = 7500;
2
+ export const RAW_DOCS_BASE = "https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/";
3
+ export const SKILL_NAME = "dsh-dev-index";
4
+ export const SKILL_DESCRIPTION = "Look up DeepSeek Harness features and extension points before writing plugins, bundles, presets, patches, profiles, providers, tools, skills, hooks, or UI. Cites the official repository. Do not invent DSH APIs.";
5
+ export const SKILL_WHEN_TO_USE = "Use when the task is DSH secondary development: plugins, presets, patches, profiles, providers, tools, skills, hooks, MCP servers, UI slots, or config keys.";
6
+ /** Area ids the skill names so an agent knows what to fetch. Docs stay authoritative. */
7
+ export const AREA_IDS = [
8
+ "orientation",
9
+ "plugin-module",
10
+ "bundle-profile-patch",
11
+ "cli",
12
+ "tools",
13
+ "skills",
14
+ "presets-persona",
15
+ "system-prompt",
16
+ "sessions-titles",
17
+ "llm-providers",
18
+ "hooks",
19
+ "mcp",
20
+ "ui-slots",
21
+ "settings-approval",
22
+ "plugin-manager-inspect",
23
+ "other-seams",
24
+ ];
25
+ export function renderSkillBody(pagesBaseUrl) {
26
+ const lines = [
27
+ "Look up DeepSeek Harness before writing a plugin, preset, patch, profile, provider, tool, skill, hook, MCP server, or UI slot.",
28
+ "Read the index before editing code. Do not invent APIs. This skill does not bundle a copy of the docs.",
29
+ "",
30
+ "Fetch the always-current English index from GitHub Pages:",
31
+ `- ${pagesBaseUrl}llms.txt`,
32
+ `- ${pagesBaseUrl}index.json`,
33
+ `- ${pagesBaseUrl}meta.json`,
34
+ `- ${pagesBaseUrl}areas/<id>.md`,
35
+ "",
36
+ "index.json is the catalog: area id, summary, and official source paths. meta.json records officialTag and officialCommit for the DeepSeek Harness revision those pages describe. Read index.json, then open the one area file the task needs. English is the default.",
37
+ "Simplified Chinese human-readable pages exist under zh/ on the same hosts (zh/llms.txt and zh/areas/<id>.md). index.json and meta.json stay in English.",
38
+ "",
39
+ "If the Pages site does not respond, fetch the same files from GitHub main:",
40
+ `- ${RAW_DOCS_BASE}llms.txt`,
41
+ `- ${RAW_DOCS_BASE}index.json`,
42
+ `- ${RAW_DOCS_BASE}meta.json`,
43
+ `- ${RAW_DOCS_BASE}areas/<id>.md`,
44
+ "",
45
+ "Area ids:",
46
+ ...AREA_IDS.map((id) => `- ${id}`),
47
+ ];
48
+ const body = lines.join("\n");
49
+ if (body.length > BODY_LIMIT) {
50
+ throw new Error(`dsh-dev-index: skill body is ${body.length} characters; limit is ${BODY_LIMIT}`);
51
+ }
52
+ return body;
53
+ }
54
+ //# sourceMappingURL=skill-body.js.map
package/locale/en.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "DSH development index",
4
+ "description": "Help agents find DSH features, extension points, and development documentation."
5
+ }
6
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "meta": {
3
+ "title": "DSH 开发索引",
4
+ "description": "帮助智能体查找 DSH 功能、扩展点和开发文档。"
5
+ }
6
+ }
package/package.json ADDED
@@ -0,0 +1,89 @@
1
+ {
2
+ "name": "@klarkxy/dsh-dev-index",
3
+ "version": "0.1.0",
4
+ "description": "DeepSeek Harness feature index for agents doing DSH secondary development.",
5
+ "icon": "./icon.svg",
6
+ "keywords": [
7
+ "dsh-plugin",
8
+ "deepseek-harness",
9
+ "dsh-plugins",
10
+ "dsh-dev-index",
11
+ "skills"
12
+ ],
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/klarkxy/dsh-plugins.git",
16
+ "directory": "plugins/dsh-dev-index"
17
+ },
18
+ "homepage": "https://klarkxy.github.io/dsh-plugins/",
19
+ "bugs": {
20
+ "url": "https://github.com/klarkxy/dsh-plugins/issues"
21
+ },
22
+ "author": {
23
+ "name": "klarkxy",
24
+ "url": "https://github.com/klarkxy"
25
+ },
26
+ "type": "module",
27
+ "packageManager": "pnpm@10.29.2",
28
+ "main": "lib/index.js",
29
+ "types": "lib/index.d.ts",
30
+ "exports": {
31
+ ".": {
32
+ "types": "./lib/index.d.ts",
33
+ "default": "./lib/index.js"
34
+ },
35
+ "./package.json": "./package.json",
36
+ "./locale/*.json": "./locale/*.json"
37
+ },
38
+ "files": [
39
+ "icon.svg",
40
+ "lib/**/*.js",
41
+ "lib/**/*.d.ts",
42
+ "cordis.patch.yml",
43
+ "dsh.plugin.json",
44
+ "locale/*.json",
45
+ "README*.md",
46
+ "LICENSE"
47
+ ],
48
+ "scripts": {
49
+ "build": "tsc -p tsconfig.build.json",
50
+ "prepare": "pnpm build",
51
+ "prepack": "pnpm build",
52
+ "typecheck": "tsc -p tsconfig.json",
53
+ "test": "vitest run",
54
+ "site": "node scripts/build-site.mjs",
55
+ "verify-citations": "node scripts/verify-citations.mjs",
56
+ "check-languages": "node scripts/check-languages.mjs"
57
+ },
58
+ "engines": {
59
+ "node": "^22.19.0 || >=24.0.0",
60
+ "dsh": ">=0.1.7-rc.2 <0.2.0"
61
+ },
62
+ "license": "SEE LICENSE IN LICENSE",
63
+ "dsh": {
64
+ "bundle": {
65
+ "patch": "./cordis.patch.yml"
66
+ }
67
+ },
68
+ "peerDependencies": {
69
+ "@deepseek-ai/cordis": "^4.0.2",
70
+ "@deepseek-ai/dsh-skill": ">=0.1.7-rc.2 <0.2.0",
71
+ "@deepseek-ai/schemastery": "^3.18.2"
72
+ },
73
+ "peerDependenciesMeta": {
74
+ "@deepseek-ai/dsh-skill": {
75
+ "optional": true
76
+ }
77
+ },
78
+ "devDependencies": {
79
+ "@deepseek-ai/cordis": "4.0.4",
80
+ "@deepseek-ai/schemastery": "3.18.4"
81
+ },
82
+ "publishConfig": {
83
+ "access": "public",
84
+ "registry": "https://registry.npmjs.org/"
85
+ },
86
+ "dshRelease": {
87
+ "contentHash": "600dea2ae0a93ba3eedb1bb6e1a30299139f9b96fe30a2accb28165973efef99"
88
+ }
89
+ }