@michengai/dsh-agency-agents 0.1.21 → 0.1.23

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/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@
4
4
 
5
5
  The five most recent published versions are listed below.
6
6
 
7
+ ## 0.1.23 — 2026-08-31
8
+
9
+ - Added a compatibility adapter for the DSH settings API so the plugin works with both the legacy RC runtime and `@deepseek-ai/dsh@0.1.2-alpha.2`.
10
+ - Added regression coverage for both settings API shapes and rebuilt the published bundles.
11
+
12
+ Published package: [`@michengai/dsh-agency-agents@0.1.23`](https://www.npmjs.com/package/@michengai/dsh-agency-agents/v/0.1.23).
13
+
14
+ ## 0.1.22 — 2026-08-28
15
+
16
+ - Added the Changelog link to the standard README header navigation, between the language switch and the Apache-2.0 license link.
17
+
18
+ Published package: [`@michengai/dsh-agency-agents@0.1.22`](https://www.npmjs.com/package/@michengai/dsh-agency-agents/v/0.1.22).
19
+
7
20
  ## 0.1.21 — 2026-08-23
8
21
 
9
22
  - Added bilingual changelogs covering the five most recent releases.
@@ -25,17 +38,3 @@ Release tag: [`v0.1.20`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.
25
38
  - Added validation for expert names before dispatch.
26
39
 
27
40
  Release tag: [`v0.1.19`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.19).
28
-
29
- ## 0.1.18 — 2026-08-17
30
-
31
- - Tightened plugin dependency declarations and tracked the final README assets.
32
- - Added one-line agent installation prompts for npm and source installs.
33
- - Refined the repository banner for stable GitHub rendering.
34
-
35
- Release tag: [`v0.1.18`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.18).
36
-
37
- ## 0.1.17 — 2026-08-17
38
-
39
- - Injected settings into expert tools so they follow the host locale.
40
-
41
- Release tag: [`v0.1.17`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.17).
@@ -4,6 +4,19 @@
4
4
 
5
5
  以下记录最近发布的五个版本。
6
6
 
7
+ ## 0.1.23 — 2026-08-31
8
+
9
+ - 新增 DSH 设置 API 兼容适配层,同时兼容旧 RC 运行时与 `@deepseek-ai/dsh@0.1.2-alpha.2`。
10
+ - 新增两种设置 API 形态的回归测试,并重新构建发布产物。
11
+
12
+ 发布包:[`@michengai/dsh-agency-agents@0.1.23`](https://www.npmjs.com/package/@michengai/dsh-agency-agents/v/0.1.23)。
13
+
14
+ ## 0.1.22 — 2026-08-28
15
+
16
+ - 在 README 标准头部导航中加入更新日志入口,位置位于语言切换与 Apache-2.0 许可证链接之间。
17
+
18
+ 发布包:[`@michengai/dsh-agency-agents@0.1.22`](https://www.npmjs.com/package/@michengai/dsh-agency-agents/v/0.1.22)。
19
+
7
20
  ## 0.1.21 — 2026-08-23
8
21
 
9
22
  - 新增中英文更新日志,展示最近五个发布版本。
@@ -25,17 +38,3 @@
25
38
  - 调度前增加专家名称校验。
26
39
 
27
40
  发布标签:[`v0.1.19`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.19)。
28
-
29
- ## 0.1.18 — 2026-08-17
30
-
31
- - 收紧插件依赖声明并纳入最终 README 素材。
32
- - 增加 npm 与源码安装的一句话 Agent 提示词。
33
- - 优化仓库横幅,保证 GitHub 稳定渲染。
34
-
35
- 发布标签:[`v0.1.18`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.18)。
36
-
37
- ## 0.1.17 — 2026-08-17
38
-
39
- - 向专家工具注入设置,使其跟随宿主语言。
40
-
41
- 发布标签:[`v0.1.17`](https://github.com/MichengAI/dsh-agency-agents/tree/v0.1.17)。
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  **271 summonable specialist agents for DeepSeek Harness**
10
10
 
11
- [简体中文](README.zh-CN.md) · [Apache-2.0](LICENSE)
11
+ [简体中文](README.zh-CN.md) · [Changelog](CHANGELOG.md) · [Apache-2.0](LICENSE)
12
12
 
13
13
  [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)
14
14
  [![Bundled agents](https://img.shields.io/badge/Bundled%20agents-271-0f766e.svg)](#features)
@@ -52,7 +52,6 @@ This product can be installed independently or used through the desktop app or W
52
52
  | --- | --- |
53
53
  | [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) | The host runtime that provides models, sessions, tools, and the plugin system |
54
54
  | [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop) | A ready-to-install desktop product with this product and the other five feature products built in |
55
- | [DSH Codex Suite](https://github.com/MichengAI/dsh-codex-ui/tree/main/packages/dsh-codex-suite) | A one-click suite for existing DSH Web environments that installs this product and the other five feature products |
56
55
  | Six feature products | [Codex UI](https://github.com/MichengAI/dsh-codex-ui) · [IM Connect](https://github.com/MichengAI/dsh-im-connect) · [Automation](https://github.com/MichengAI/dsh-automation) · [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) · [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) · [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) |
57
56
 
58
57
  ## Prerequisites
package/README.zh-CN.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  **为 DeepSeek Harness 提供 271 名可召唤的专业智能体**
10
10
 
11
- [English](README.md) · [Apache-2.0](LICENSE)
11
+ [English](README.md) · [更新日志](CHANGELOG.zh-CN.md) · [Apache-2.0](LICENSE)
12
12
 
13
13
  [![许可证:Apache-2.0](https://img.shields.io/badge/许可证-Apache--2.0-blue.svg)](LICENSE)
14
14
  [![内置智能体](https://img.shields.io/badge/内置智能体-271-0f766e.svg)](#功能概览)
@@ -52,7 +52,6 @@
52
52
  | --- | --- |
53
53
  | [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) | 本产品的运行宿主,提供模型、会话、工具和插件系统 |
54
54
  | [DSH Codex Desktop](https://github.com/MichengAI/dsh-codex-desktop) | 下载安装即用的桌面产品,已内置本产品和其他 5 个功能产品 |
55
- | [DSH Codex Suite](https://github.com/MichengAI/dsh-codex-ui/tree/main/packages/dsh-codex-suite) | 面向已有 DSH Web 环境的一键套件,会安装本产品和其他 5 个功能产品 |
56
55
  | 6 个功能产品 | [Codex UI](https://github.com/MichengAI/dsh-codex-ui) · [IM Connect](https://github.com/MichengAI/dsh-im-connect) · [Automation](https://github.com/MichengAI/dsh-automation) · [Skills Manager](https://github.com/MichengAI/dsh-skills-manager) · [Archive Manager](https://github.com/MichengAI/dsh-archive-manager) · [Agency Agents](https://github.com/MichengAI/dsh-agency-agents) |
57
56
 
58
57
  ## 前置条件
@@ -1,4 +1,4 @@
1
- import { settingsNamespace } from "@deepseek-ai/dsh-settings";
1
+ import * as dshSettings from "@deepseek-ai/dsh-settings";
2
2
  //#region src/names.ts
3
3
  /** 分区目录名 → 中文分区名。 */
4
4
  const ZH_DIVISION = {
@@ -315,11 +315,36 @@ const ZH_NAME = {
315
315
  "backend-architect-with-memory": "资深后端架构师"
316
316
  };
317
317
  //#endregion
318
- //#region src/i18n.ts
318
+ //#region src/settings-compat.ts
319
+ function moduleExport(module, name) {
320
+ return module[name];
321
+ }
322
+ /**
323
+ * DSH 0.1.2-alpha.2 accepts validated plain namespace strings and removed the
324
+ * legacy settingsNamespace export. Keep one runtime bridge so the same package
325
+ * can still run on the current RC line.
326
+ */
327
+ function settingsNamespaceCompat(value, module = dshSettings) {
328
+ const legacy = moduleExport(module, "settingsNamespace");
329
+ return typeof legacy === "function" ? legacy(value) : value;
330
+ }
319
331
  /**
320
- * 宿主侧用户可见文案。zh 为 key 集真相源;en 用 satisfies 校验完整性。
321
- * 模板占位符使用 {word},与客户端 locale 服务约定一致。
332
+ * RC releases expose installSettingsSection as a module helper. Alpha.2 moved
333
+ * the same owner-scoped lifecycle wiring onto ctx.settings.installSection.
322
334
  */
335
+ function installSettingsSectionCompat(ctx, namespace, schema, entry, hooks, module = dshSettings) {
336
+ const legacy = moduleExport(module, "installSettingsSection");
337
+ if (typeof legacy === "function") {
338
+ legacy(ctx, namespace, schema, entry, hooks);
339
+ return;
340
+ }
341
+ const settings = ctx.settings;
342
+ if (settings === void 0 || typeof settings.installSection !== "function") throw new Error("当前 DSH settings 服务不支持 installSection。");
343
+ settings.installSection(ctx, namespace, schema, entry, hooks);
344
+ }
345
+ //#endregion
346
+ //#region src/i18n.ts
347
+ const LOCALE_SETTINGS_NAMESPACE = settingsNamespaceCompat("locale");
323
348
  /** 简体中文宿主文案(key 集真相源)。 */
324
349
  const zhHost = {
325
350
  "error.rootMissing": "智能体目录 root 不存在或无法访问:\"{root}\"。请设置环境变量 {env} 或提供正确路径。",
@@ -399,7 +424,7 @@ function formatHost(locale, key, params) {
399
424
  /** 从宿主 settings 的 locale.preference 读取语言,缺失或异常时回退 zh。 */
400
425
  function readHostLocale(ctx) {
401
426
  try {
402
- const section = ctx.settings?.get?.(settingsNamespace("locale"));
427
+ const section = ctx.settings?.get?.(LOCALE_SETTINGS_NAMESPACE);
403
428
  return resolveHostLocale(section?.preference);
404
429
  } catch {
405
430
  return "zh";
@@ -460,4 +485,4 @@ function renderSummonResults(locale, results) {
460
485
  }).join("\n\n");
461
486
  }
462
487
  //#endregion
463
- export { readHostLocale as a, ZH_DIVISION as c, matchDivision as i, ZH_NAME as l, localizedExpertDescription as n, renderExpertList as o, localizedExpertName as r, renderSummonResults as s, formatHost as t };
488
+ export { readHostLocale as a, installSettingsSectionCompat as c, ZH_NAME as d, matchDivision as i, settingsNamespaceCompat as l, localizedExpertDescription as n, renderExpertList as o, localizedExpertName as r, renderSummonResults as s, formatHost as t, ZH_DIVISION as u };
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
1
- import { a as readHostLocale, c as ZH_DIVISION, i as matchDivision, l as ZH_NAME, n as localizedExpertDescription, o as renderExpertList, r as localizedExpertName, s as renderSummonResults, t as formatHost } from "./i18n-BL3miiHZ.js";
1
+ import { a as readHostLocale, c as installSettingsSectionCompat, d as ZH_NAME, i as matchDivision, l as settingsNamespaceCompat, n as localizedExpertDescription, o as renderExpertList, r as localizedExpertName, s as renderSummonResults, t as formatHost, u as ZH_DIVISION } from "./i18n-AnXsnJel.js";
2
2
  import z from "@deepseek-ai/schemastery";
3
3
  import { defineTool } from "@deepseek-ai/dsh-tools";
4
- import { installSettingsSection, settingsNamespace } from "@deepseek-ai/dsh-settings";
5
4
  import { readFile, readdir, stat } from "node:fs/promises";
6
5
  import { join } from "node:path";
7
6
  import { fileURLToPath } from "node:url";
@@ -255,7 +254,7 @@ function resolveExpert(experts, query, locale = "zh") {
255
254
  function apply(ctx, config) {
256
255
  const maxDepth = normalizeMaxDepth(config.maxDepth);
257
256
  let enabledSource = () => [];
258
- installSettingsSection(ctx, settingsNamespace("agency-agents"), z.object({ enabled: z.array(z.string()) }), { enabled: [] }, {
257
+ installSettingsSectionCompat(ctx, settingsNamespaceCompat("agency-agents"), z.object({ enabled: z.array(z.string()) }), { enabled: [] }, {
259
258
  setSource: (current) => {
260
259
  enabledSource = () => current().enabled;
261
260
  },
package/lib/remote.js CHANGED
@@ -1,5 +1,4 @@
1
- import { t as formatHost } from "./i18n-BL3miiHZ.js";
2
- import { settingsNamespace } from "@deepseek-ai/dsh-settings";
1
+ import { l as settingsNamespaceCompat, t as formatHost } from "./i18n-AnXsnJel.js";
3
2
  import { Remote, TypertRemoteService } from "@deepseek-ai/dsh-typert-protocol";
4
3
  import { z } from "zod";
5
4
  //#region src/remote-contract.ts
@@ -94,6 +93,7 @@ var __esDecorate = function(ctor, descriptorIn, decorators, contextIn, initializ
94
93
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
95
94
  done = true;
96
95
  };
96
+ const AGENCY_SETTINGS_NAMESPACE = settingsNamespaceCompat("agency-agents");
97
97
  /**
98
98
  * Host 严格描述符。Gateway 优先读取它,避免启动期间的 SRC 扫描缓存遗漏
99
99
  * 后加载的外部插件服务。
@@ -156,8 +156,8 @@ let AgencyAgentsRemote = (() => {
156
156
  }
157
157
  /** 读取当前启用的专家 slug 列表。 */
158
158
  getEnabled() {
159
- const enabled = this.ctx.settings.get(settingsNamespace("agency-agents"))?.enabled;
160
- const descriptor = this.ctx.settings.describe().find((candidate) => candidate.ns === settingsNamespace("agency-agents"));
159
+ const enabled = this.ctx.settings.get(AGENCY_SETTINGS_NAMESPACE)?.enabled;
160
+ const descriptor = this.ctx.settings.describe().find((candidate) => candidate.ns === AGENCY_SETTINGS_NAMESPACE);
161
161
  if (descriptor === void 0) throw new Error(formatHost("zh", "error.settingsMissing"));
162
162
  return {
163
163
  enabled: Array.isArray(enabled) ? enabled.filter((slug) => typeof slug === "string") : [],
@@ -166,7 +166,7 @@ let AgencyAgentsRemote = (() => {
166
166
  }
167
167
  /** 整体替换启用的专家 slug 列表。 */
168
168
  async setEnabled(enabled, expectedRevision) {
169
- await this.ctx.settings.mutate(settingsNamespace("agency-agents"), [{
169
+ await this.ctx.settings.mutate(AGENCY_SETTINGS_NAMESPACE, [{
170
170
  op: "set",
171
171
  path: ["enabled"],
172
172
  value: enabled
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@michengai/dsh-agency-agents",
3
3
  "description": "Agency Experts — a summonable domain-expert roster for DSH (expert mode)",
4
- "version": "0.1.21",
4
+ "version": "0.1.23",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",