@klarkxy/dsh-dev-index 0.1.0 → 0.1.2

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.md CHANGED
@@ -2,28 +2,19 @@
2
2
 
3
3
  [Chinese documentation](README.zh-CN.md)
4
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.
5
+ A lightweight DeepSeek Harness skill. It points an agent at official DSH material and does not ship or maintain a copy of the docs.
6
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.
7
+ Inside a running DSH, prefer the official `cordis-plugin-development` skill and the read-only inspect tools `cordis_inspect_list` and `cordis_inspect_query`. Every `plugin_manager` action needs `danger-full-access` or a one-off approval. The environment's own tool policy still applies.
8
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:
9
+ Readable docs are the official site [https://deepseek-harness.github.io/deepseek-harness/](https://deepseek-harness.github.io/deepseek-harness/) (Chinese at the site root, English under `/en/`) and [llms.txt](https://deepseek-harness.github.io/deepseek-harness/llms.txt). That site is the latest published release. Source and type declarations default to [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) `master`. When the target version differs, use the matching `dsh-v*` tag and do not mix versions.
14
10
 
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`
11
+ [https://klarkxy.github.io/dsh-plugins/](https://klarkxy.github.io/dsh-plugins/) only redirects there. Old paths on that host redirect as well.
19
12
 
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`:
13
+ ## Why a skill
23
14
 
24
- `https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/`
15
+ 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 pointer existed. A host-level skill is listed beside the agent's other skills and stays available in every base-backed profile.
25
16
 
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.
17
+ On `apply`, this plugin registers the skill `dsh-dev-index`. The body is static. It does not embed a commit, a tag, or a URL on this repository.
27
18
 
28
19
  `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
20
 
@@ -50,9 +41,9 @@ allowBuilds:
50
41
  '@klarkxy/dsh-dev-index': true
51
42
  ```
52
43
 
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.
44
+ Run the add again. That allowance executes this package's build on the machine. Pin a commit when the plugin source must not move.
54
45
 
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.
46
+ 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.
56
47
 
57
48
  ## Install from this checkout
58
49
 
@@ -70,21 +61,7 @@ dsh --profile web --dump-config
70
61
 
71
62
  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
63
 
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
- ```
64
+ There is no configuration. The patch inserts the plugin and does not set keys.
88
65
 
89
66
  ## License
90
67
 
package/README.zh-CN.md CHANGED
@@ -2,28 +2,19 @@
2
2
 
3
3
  [English documentation](README.md)
4
4
 
5
- 这是一个 DeepSeek Harness bundle。Agent 在编写插件、Preset、补丁、Profile、Provider,或做其他 DSH 二次开发时,用它找到 DSH 功能与扩展点的索引。
5
+ 这是一个很轻的 DeepSeek Harness skill。它把 agent 指到官方材料,不携带、也不维护一份文档副本。
6
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。
7
+ 在正在运行的 DSH 里,优先用官方技能 `cordis-plugin-development`,以及只读的 `cordis_inspect_list` 和 `cordis_inspect_query`。`plugin_manager` 的每个动作都需要 `danger-full-access` 或一次性审批。环境自己的工具策略仍然适用。
8
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 去哪里读取当前索引:
9
+ 给人读的文档在官方站点 [https://deepseek-harness.github.io/deepseek-harness/](https://deepseek-harness.github.io/deepseek-harness/)(简体中文在根路径,英文在 `/en/`)和 [llms.txt](https://deepseek-harness.github.io/deepseek-harness/llms.txt)。该站点是最近发布的版本。源码和类型声明默认看 [deepseek-ai/deepseek-harness](https://github.com/deepseek-ai/deepseek-harness) 的 `master`。目标版本不同时,改用对应的 `dsh-v*` 标签,不要混用版本。
14
10
 
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`
11
+ [https://klarkxy.github.io/dsh-plugins/](https://klarkxy.github.io/dsh-plugins/) 只做跳转。该主机上的旧路径也会跳走。
19
12
 
20
- 英文是默认语言。给人读的页面在 `zh/` 下另有简体中文版(例如 `zh/llms.txt` 和 `zh/areas/<id>.md`)。`index.json` 和 `meta.json` 保持英文。Agent 默认仍读取上面的英文文件。
21
-
22
- Pages 没有响应时,同样的路径在 GitHub 的 `main` 上:
13
+ ## 为什么用 skill
23
14
 
24
- `https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/`
15
+ 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 都能用。
25
16
 
26
- 正文还列出 area id,方便 agent 知道有哪些 `areas/<id>.md`。它不复制页面正文,也不写入被索引的 commit,因此每天刷新 `docs/` 不需要发布新的插件包。
17
+ `apply` 时本插件登记 skill `dsh-dev-index`。正文是静态的。它不写入提交、标签,也不写入本仓库的 URL。
27
18
 
28
19
  `sdk-minimal` 没有挂载 `@deepseek-ai/dsh-skill`。本插件 `inject` 了 `skills`,在那里会一直等待。`web`、`headless`、`sdk` 和 `acp` 建立在 `@deepseek-ai/dsh-base` 上,base 会挂载这个注册表。
29
20
 
@@ -50,9 +41,9 @@ allowBuilds:
50
41
  '@klarkxy/dsh-dev-index': true
51
42
  ```
52
43
 
53
- 然后再执行一次 add。该许可会在本机执行这个包的构建。需要固定插件来源时请钉住 commit。skill 读取的索引仍然跟随 `main` 和 Pages 站点。
44
+ 然后再执行一次 add。该许可会在本机执行这个包的构建。需要固定插件来源时请钉住 commit。
54
45
 
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 范围表示。
46
+ `@deepseek-ai/dsh-skill` 上的 peer 范围会对照正在运行的 `dsh` 版本检查。本包要求 DSH `>=0.1.7-rc.2 <0.2.0`,因为 `ctx.skills.register` 来自该版本。加载器不强制 `engines.dsh`;生效的是 peer 范围。
56
47
 
57
48
  ## 从本仓库安装
58
49
 
@@ -70,21 +61,7 @@ dsh --profile web --dump-config
70
61
 
71
62
  组合结果里应有 `dsh-dev-index` 这一行。新会话在修改 DSH 插件或 Preset 之前,先加载 `dsh-dev-index` 这个 skill。
72
63
 
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
- ```
64
+ 没有配置项。补丁只插入插件,不设置键。
88
65
 
89
66
  ## 许可证
90
67
 
package/cordis.patch.yml CHANGED
@@ -1,5 +1,3 @@
1
1
  - insert:
2
2
  - id: dsh-dev-index
3
3
  name: '@klarkxy/dsh-dev-index'
4
- config:
5
- pagesBaseUrl: https://klarkxy.github.io/dsh-plugins/
package/dsh.plugin.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "@klarkxy/dsh-dev-index",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "main": "lib/index.js",
5
- "description": "DeepSeek Harness feature index for agents doing DSH secondary development.",
5
+ "description": "Lightweight skill that points an agent at official DeepSeek Harness docs and runtime inspection.",
6
6
  "engines": {
7
7
  "dsh": ">=0.1.7-rc.2 <0.2.0"
8
8
  },
package/lib/index.d.ts CHANGED
@@ -2,14 +2,9 @@ import type { Context } from "@deepseek-ai/cordis";
2
2
  import z from "@deepseek-ai/schemastery";
3
3
  export declare const name = "@klarkxy/dsh-dev-index";
4
4
  export declare const inject: string[];
5
- export declare const DEFAULT_PAGES_BASE_URL = "https://klarkxy.github.io/dsh-plugins/";
6
5
  export interface Config {
7
- pagesBaseUrl: string;
8
6
  }
9
7
  export declare const Config: z<Config>;
10
- export interface ResolvedConfig {
11
- readonly pagesBaseUrl: string;
12
- }
13
8
  export interface IndexedSkill {
14
9
  readonly name: string;
15
10
  readonly description: string;
@@ -26,8 +21,7 @@ export interface SkillHost {
26
21
  register(skill: IndexedSkill): () => void;
27
22
  };
28
23
  }
29
- export declare function normalizePagesBaseUrl(value: string): string;
30
- export declare function resolveConfig(config: Config): ResolvedConfig;
31
- export declare function createSkill(pagesBaseUrl: string): IndexedSkill;
24
+ export declare function resolveConfig(config: Config | undefined): Config;
25
+ export declare function createSkill(): IndexedSkill;
32
26
  export declare function apply(ctx: Context & SkillHost, config: Config): void;
33
27
  //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -2,48 +2,29 @@ import z from "@deepseek-ai/schemastery";
2
2
  import { renderSkillBody, SKILL_DESCRIPTION, SKILL_NAME, SKILL_WHEN_TO_USE } from "./skill-body.js";
3
3
  export const name = "@klarkxy/dsh-dev-index";
4
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
- }
5
+ export const Config = z.object({});
23
6
  export function resolveConfig(config) {
24
- if (config === null || typeof config !== "object") {
25
- throw new Error("dsh-dev-index: configuration is required");
7
+ const value = config ?? {};
8
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
9
+ throw new Error("dsh-dev-index: configuration must be an object");
26
10
  }
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}"`);
11
+ for (const key of Object.keys(value)) {
12
+ throw new Error(`dsh-dev-index: unknown config key "${key}"`);
30
13
  }
31
- return Object.freeze({
32
- pagesBaseUrl: normalizePagesBaseUrl(config.pagesBaseUrl),
33
- });
14
+ return Object.freeze({});
34
15
  }
35
- export function createSkill(pagesBaseUrl) {
16
+ export function createSkill() {
36
17
  return {
37
18
  name: SKILL_NAME,
38
19
  description: SKILL_DESCRIPTION,
39
20
  whenToUse: SKILL_WHEN_TO_USE,
40
21
  source: "bundled",
41
22
  invocation: { modelInvocable: true, userInvocable: true },
42
- content: renderSkillBody(pagesBaseUrl),
23
+ content: renderSkillBody(),
43
24
  };
44
25
  }
45
26
  export function apply(ctx, config) {
46
- const resolved = resolveConfig(config);
47
- ctx.skills.register(createSkill(resolved.pagesBaseUrl));
27
+ resolveConfig(config);
28
+ ctx.skills.register(createSkill());
48
29
  }
49
30
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,9 @@
1
- export declare const RAW_DOCS_BASE = "https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/";
2
1
  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;
2
+ export declare const SKILL_DESCRIPTION = "Point at official DeepSeek Harness docs, the plugin-development skill, and runtime inspection. Do not invent APIs.";
3
+ export declare const SKILL_WHEN_TO_USE = "Use for DSH secondary development: tools, execution policy, settings UI, panels, session-derived state, or providers.";
4
+ export declare const OFFICIAL_DOCS_SITE = "https://deepseek-harness.github.io/deepseek-harness/";
5
+ export declare const OFFICIAL_LLMS_TXT = "https://deepseek-harness.github.io/deepseek-harness/llms.txt";
6
+ export declare const OFFICIAL_REPOSITORY = "https://github.com/deepseek-ai/deepseek-harness";
7
+ export declare const OFFICIAL_RAW_DOCS = "https://raw.githubusercontent.com/deepseek-ai/deepseek-harness/master/docs/";
8
+ export declare function renderSkillBody(): string;
8
9
  //# sourceMappingURL=skill-body.d.ts.map
package/lib/skill-body.js CHANGED
@@ -1,49 +1,29 @@
1
1
  const BODY_LIMIT = 7500;
2
- export const RAW_DOCS_BASE = "https://raw.githubusercontent.com/klarkxy/dsh-plugins/main/docs/";
3
2
  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) {
3
+ export const SKILL_DESCRIPTION = "Point at official DeepSeek Harness docs, the plugin-development skill, and runtime inspection. Do not invent APIs.";
4
+ export const SKILL_WHEN_TO_USE = "Use for DSH secondary development: tools, execution policy, settings UI, panels, session-derived state, or providers.";
5
+ export const OFFICIAL_DOCS_SITE = "https://deepseek-harness.github.io/deepseek-harness/";
6
+ export const OFFICIAL_LLMS_TXT = "https://deepseek-harness.github.io/deepseek-harness/llms.txt";
7
+ export const OFFICIAL_REPOSITORY = "https://github.com/deepseek-ai/deepseek-harness";
8
+ export const OFFICIAL_RAW_DOCS = "https://raw.githubusercontent.com/deepseek-ai/deepseek-harness/master/docs/";
9
+ export function renderSkillBody() {
26
10
  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.",
11
+ "Deliver a verified DeepSeek Harness plugin. Do not invent APIs. This skill does not copy official material.",
29
12
  "",
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}`),
13
+ "1. Confirm the development goal and the target DSH version: the tag or commit the process is actually running.",
14
+ "2. Inside a running DSH, prefer the official cordis-plugin-development skill when it is installed. Prefer cordis_inspect_list and cordis_inspect_query for what is actually mounted. Both are read-only and do not request danger-full-access. Every plugin_manager action needs danger-full-access or a one-off approval. The environment's own tool policy still applies. Outside DSH, do not assume that skill or those tools exist.",
15
+ `3. Read the official documentation site: ${OFFICIAL_DOCS_SITE} (Chinese at the site root, English under /en/). Its llms.txt is ${OFFICIAL_LLMS_TXT}. The site is the latest published release. Compare it with the target version.`,
16
+ `4. For docs, type declarations, and source, start at ${OFFICIAL_REPOSITORY} on master. Raw docs: ${OFFICIAL_RAW_DOCS}... If the target version differs from master, list tags on that repository, choose the matching dsh-v* tag, and replace master with that tag. Read docs, type declarations, and source from that one tag. Never silently mix versions.`,
17
+ "5. Official entry points on that same ref:",
18
+ "- docs/cookbook/extension-cookbook.md",
19
+ "- docs/cookbook/",
20
+ "- docs/subsystems/",
21
+ "- docs/tool-catalog.md",
22
+ "- docs/config-catalog.md",
23
+ "- packages/preset/agent-preset/skills/cordis-plugin-development/SKILL.md",
24
+ "- packages/preset/agent-preset/skills/cordis-plugin-development/references/practices.md",
25
+ "6. Verify the exact APIs you will call against runtime inspection when it is available, otherwise against the chosen ref.",
26
+ "7. Report which items were verified and which remain unverified.",
47
27
  ];
48
28
  const body = lines.join("\n");
49
29
  if (body.length > BODY_LIMIT) {
package/locale/en.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "DSH development index",
4
- "description": "Help agents find DSH features, extension points, and development documentation."
4
+ "description": "Point at official DSH docs, the plugin-development skill, and runtime inspection."
5
5
  }
6
6
  }
package/locale/zh.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "meta": {
3
3
  "title": "DSH 开发索引",
4
- "description": "帮助智能体查找 DSH 功能、扩展点和开发文档。"
4
+ "description": "指向官方 DSH 文档、插件开发技能和运行时检查。"
5
5
  }
6
6
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@klarkxy/dsh-dev-index",
3
- "version": "0.1.0",
4
- "description": "DeepSeek Harness feature index for agents doing DSH secondary development.",
3
+ "version": "0.1.2",
4
+ "description": "Lightweight skill that points an agent at official DeepSeek Harness docs and runtime inspection.",
5
5
  "icon": "./icon.svg",
6
6
  "keywords": [
7
7
  "dsh-plugin",
@@ -15,7 +15,7 @@
15
15
  "url": "git+https://github.com/klarkxy/dsh-plugins.git",
16
16
  "directory": "plugins/dsh-dev-index"
17
17
  },
18
- "homepage": "https://klarkxy.github.io/dsh-plugins/",
18
+ "homepage": "https://deepseek-harness.github.io/deepseek-harness/",
19
19
  "bugs": {
20
20
  "url": "https://github.com/klarkxy/dsh-plugins/issues"
21
21
  },
@@ -50,10 +50,7 @@
50
50
  "prepare": "pnpm build",
51
51
  "prepack": "pnpm build",
52
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"
53
+ "test": "vitest run"
57
54
  },
58
55
  "engines": {
59
56
  "node": "^22.19.0 || >=24.0.0",
@@ -84,6 +81,6 @@
84
81
  "registry": "https://registry.npmjs.org/"
85
82
  },
86
83
  "dshRelease": {
87
- "contentHash": "600dea2ae0a93ba3eedb1bb6e1a30299139f9b96fe30a2accb28165973efef99"
84
+ "contentHash": "78283c526c5c409111d736bf2afa6dd6d592483019a8520e52697e3da7ad6ad2"
88
85
  }
89
86
  }