@michengai/dsh-agency-agents 1.0.2 → 1.0.4
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 +25 -7
- package/CHANGELOG.zh-CN.md +26 -8
- package/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/RELEASE_NOTES.md +2 -20
- package/lib/{index-DGXIR5n9.d.ts → index-CDPEo6Ez.d.ts} +2 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/remote.d.ts +1 -1
- package/lib/remote.js +1 -1
- package/lib/{src-ConHV27p.js → src-D62nL1RE.js} +50 -18
- package/package.json +47 -47
package/CHANGELOG.md
CHANGED
|
@@ -4,20 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
This file records features and upgrade boundaries. npm and GitHub Releases remain the publication source of truth.
|
|
6
6
|
|
|
7
|
-
## 1.0.
|
|
7
|
+
## 1.0.4 - 2026-09-25
|
|
8
|
+
|
|
9
|
+
### Fixes
|
|
10
|
+
|
|
11
|
+
- Agency Agents now starts on DSH 0.1.7-rc.1 installed globally on Linux or in Docker, and still reads the current settings.
|
|
12
|
+
|
|
13
|
+
## 1.0.3 - 2026-09-24
|
|
14
|
+
|
|
15
|
+
### Improvements
|
|
16
|
+
|
|
17
|
+
- Support DeepSeek Harness 0.1.7-rc.1, and keep the previously supported release candidates.
|
|
18
|
+
- Alpha releases are no longer supported.
|
|
19
|
+
|
|
20
|
+
### Fixes
|
|
21
|
+
|
|
22
|
+
- Settings still load correctly on DSH 0.1.7-rc.1.
|
|
23
|
+
|
|
24
|
+
## 1.0.2 - 2026-09-23
|
|
8
25
|
|
|
9
26
|
### Improvements
|
|
10
27
|
|
|
11
|
-
- Support DSH 0.1.7
|
|
28
|
+
- Support DSH 0.1.7 while keeping previously supported versions.
|
|
12
29
|
- Expert and team pickers show avatars. Custom experts no longer ask for a summon emoji.
|
|
13
|
-
- Team lists stay
|
|
14
|
-
-
|
|
15
|
-
-
|
|
30
|
+
- Team lists stay in sync between the chat menu and settings.
|
|
31
|
+
- Expert and team counts sit on the tabs, including how many are enabled.
|
|
32
|
+
- Settings look more consistent and follow the system light or dark appearance.
|
|
33
|
+
- Team cards no longer offer “Copy prompt”. View the coordinator prompt in team details when needed.
|
|
16
34
|
|
|
17
35
|
### Fixes
|
|
18
36
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
37
|
+
- Expert menus no longer show text from behind the panel.
|
|
38
|
+
- Settings on newer DSH versions read the current configuration correctly.
|
|
21
39
|
|
|
22
40
|
## 1.0.1 - 2026-09-21
|
|
23
41
|
|
package/CHANGELOG.zh-CN.md
CHANGED
|
@@ -4,20 +4,38 @@
|
|
|
4
4
|
|
|
5
5
|
本文件记录版本功能与升级边界。正式发布状态以 npm 和 GitHub Releases 为准。
|
|
6
6
|
|
|
7
|
-
## 1.0.
|
|
7
|
+
## 1.0.4 - 2026-09-25
|
|
8
|
+
|
|
9
|
+
### 问题修复
|
|
10
|
+
|
|
11
|
+
- 在 Linux 全局安装或 Docker 中的 DSH 0.1.7-rc.1 上也能正常启动,并继续读取当前设置。
|
|
12
|
+
|
|
13
|
+
## 1.0.3 - 2026-09-24
|
|
14
|
+
|
|
15
|
+
### 体验优化
|
|
16
|
+
|
|
17
|
+
- 支持 DeepSeek Harness 0.1.7-rc.1,并继续兼容此前已支持的 RC 版本。
|
|
18
|
+
- 不再支持 Alpha 版本。
|
|
19
|
+
|
|
20
|
+
### 问题修复
|
|
21
|
+
|
|
22
|
+
- 在 DSH 0.1.7-rc.1 上仍能正确读取当前设置。
|
|
23
|
+
|
|
24
|
+
## 1.0.2 - 2026-09-23
|
|
8
25
|
|
|
9
26
|
### 体验优化
|
|
10
27
|
|
|
11
|
-
- 支持 DSH 0.1.7
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
28
|
+
- 支持 DSH 0.1.7,并继续兼容此前已支持的版本。
|
|
29
|
+
- 聊天里选择专家和专家团时会显示头像。新建自定义专家不必再填召唤图标。
|
|
30
|
+
- 聊天菜单和设置页的专家团列表会保持同步。
|
|
31
|
+
- 专家和专家团的数量写在页签上,方便查看总数和已启用数。
|
|
32
|
+
- 设置页界面更统一,并跟随系统亮暗。
|
|
33
|
+
- 专家团卡片不再提供「复制提示词」。需要时在详情里查看主理人提示词。
|
|
16
34
|
|
|
17
35
|
### 问题修复
|
|
18
36
|
|
|
19
|
-
-
|
|
20
|
-
-
|
|
37
|
+
- 专家菜单不再透出背后的文字。
|
|
38
|
+
- 在新版 DSH 上能正确读取当前设置。
|
|
21
39
|
|
|
22
40
|
## 1.0.1 - 2026-09-21
|
|
23
41
|
|
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://www.npmjs.com/package/@michengai/dsh-agency-agents)
|
|
16
16
|
[](https://www.npmjs.com/package/@michengai/dsh-agency-agents)
|
|
17
17
|
[](https://github.com/MichengAI/dsh-agency-agents)
|
|
18
|
-
[](#prerequisites)
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
21
|
> DSH Agency Agents is a community-maintained DeepSeek Harness (DSH) plugin, not an official DeepSeek AI product.
|
|
@@ -69,7 +69,7 @@ Retain `list_experts`, `summon_expert`, and `summon_experts`. Add `list_expert_t
|
|
|
69
69
|
- Team configuration lives in the host `agency-agents` settings namespace. Keep drafts on edit conflicts and review the latest configuration. Disabling or deleting teams does not disable experts or delete historical conversations.
|
|
70
70
|
- Experts cannot summon further experts or automatically add analysis rounds. Cancellation prevents queued starts; completed results and failures are reported separately.
|
|
71
71
|
|
|
72
|
-
> This README describes version 1.0.
|
|
72
|
+
> This README describes version 1.0.4; npm and GitHub Releases determine publication status. See the [changelog](CHANGELOG.md) for the full changes and [release notes](RELEASE_NOTES.md) for the bilingual release description. Upgrades retain expert settings. Back up settings before downgrading because older versions do not support teams.
|
|
73
73
|
## Screenshots
|
|
74
74
|
|
|
75
75
|
The screenshots below show the 1.0.0 interface in Chinese. Experts and expert teams share the same settings page.
|
|
@@ -120,7 +120,7 @@ DSH `dsh.client.inject` controls browser module loading order. Missing graph ent
|
|
|
120
120
|
|
|
121
121
|
## Installation
|
|
122
122
|
|
|
123
|
-
Supported DeepSeek Harness versions: `0.1.0-rc.8`, `0.1.1-rc.2`, `0.1.2-rc.1`, `0.1.5-rc.1`, `0.1.5-rc.2`,
|
|
123
|
+
Supported DeepSeek Harness versions: `0.1.0-rc.8`, `0.1.1-rc.2`, `0.1.2-rc.1`, `0.1.5-rc.1`, `0.1.5-rc.2`, and `0.1.7-rc.1`. Alpha releases are not supported. The host is supplied by your existing CLI or Desktop installation; the plugin does not install another copy. Future host versions require separate compatibility validation.
|
|
124
124
|
|
|
125
125
|
The installation commands below use the official npm registry.
|
|
126
126
|
|
package/README.zh-CN.md
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
[](https://www.npmjs.com/package/@michengai/dsh-agency-agents)
|
|
16
16
|
[](https://www.npmjs.com/package/@michengai/dsh-agency-agents)
|
|
17
17
|
[](https://github.com/MichengAI/dsh-agency-agents)
|
|
18
|
-
[](#前置条件)
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
21
|
> DSH Agency Agents 是社区维护的 DeepSeek Harness(DSH)插件,并非 DeepSeek AI 官方产品。
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
- 团队配置保存在宿主 `agency-agents` 命名空间。编辑冲突保留草稿并提示核对最新配置;停用或删除团队不会停用专家,也不会删除历史会话。
|
|
70
70
|
- 专家不得继续召唤专家或自动追加分析轮次。取消会停止未启动任务;已有结果和失败原因分别报告。
|
|
71
71
|
|
|
72
|
-
> 本 README 描述 1.0.
|
|
72
|
+
> 本 README 描述 1.0.4,正式发行以 npm 和 GitHub Releases 为准。完整改动见[更新日志](CHANGELOG.zh-CN.md),双语版本说明见[发行说明](RELEASE_NOTES.md)。升级保留已有专家配置;回退旧版前先备份设置,旧版不具备团队功能。
|
|
73
73
|
## 界面预览
|
|
74
74
|
|
|
75
75
|
以下为 1.0.0 中文界面截图,专家与专家团共用同一个设置页面。
|
|
@@ -120,7 +120,7 @@ DSH 的 `dsh.client.inject` 声明浏览器模块的加载顺序;宿主模块
|
|
|
120
120
|
|
|
121
121
|
## 安装
|
|
122
122
|
|
|
123
|
-
支持的 DeepSeek Harness 版本:`0.1.0-rc.8`、`0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.
|
|
123
|
+
支持的 DeepSeek Harness 版本:`0.1.0-rc.8`、`0.1.1-rc.2`、`0.1.2-rc.1`、`0.1.5-rc.1`、`0.1.5-rc.2`、`0.1.7-rc.1`。不再支持 Alpha 版本。主程序由现有 CLI 或 Desktop 提供,插件不会另行安装;后续宿主版本需另行验证兼容性。
|
|
124
124
|
|
|
125
125
|
以下安装命令使用官方 npm 源。
|
|
126
126
|
|
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,31 +1,13 @@
|
|
|
1
1
|
## 中文说明
|
|
2
2
|
|
|
3
|
-
### 体验优化
|
|
4
|
-
|
|
5
|
-
- 支持 DSH 0.1.7-alpha.1,并保留此前已支持的版本。专家和专家团设置跟随宿主的实时配置;若旧数据留在 `settings.yaml.imported`,会在配置仍为空时补写一次。
|
|
6
|
-
- 专家和专家团的选择菜单改为显示头像。新建自定义专家不再要求填写召唤图标。
|
|
7
|
-
- 专家团列表会缓存,并在聊天菜单和设置页之间保持同步。
|
|
8
|
-
- 设置页控件改为随插件打包的 Ant Design。亮暗跟随宿主,按钮主色保持 Ant Design 默认蓝。专家与专家团的数量写在页签上。聊天入口仍是原来的工具栏按钮。客户端因此超过 1 MB;发布包会压缩,校验上限为 1.5 MB。
|
|
9
|
-
- 专家团卡片不再提供「复制提示词」。团队提示词只在详情里查看,不能单独复制到剪贴板。
|
|
10
|
-
|
|
11
3
|
### 问题修复
|
|
12
4
|
|
|
13
|
-
-
|
|
14
|
-
- 是否仍使用旧设置接口,改为看当前宿主,而不是本包里可能更旧的依赖。
|
|
5
|
+
- 在 Linux 全局安装或 Docker 中的 DSH 0.1.7-rc.1 上也能正常启动,并继续读取当前设置。
|
|
15
6
|
|
|
16
7
|
---
|
|
17
8
|
|
|
18
9
|
## English
|
|
19
10
|
|
|
20
|
-
### Improvements
|
|
21
|
-
|
|
22
|
-
- Support DSH 0.1.7-alpha.1 while keeping previously supported versions. Expert and team settings follow the host's live configuration, and a one-time import recovers data left in `settings.yaml.imported`.
|
|
23
|
-
- Expert and team pickers show avatars. Custom experts no longer ask for a summon emoji.
|
|
24
|
-
- Team lists stay cached and update across the composer and settings when a team changes.
|
|
25
|
-
- Settings controls now use Ant Design bundled with the plugin. Light and dark follow the host. Buttons keep Ant Design's default blue. Expert and team counts sit on the tabs. The chat entry stays the original toolbar button. The client bundle is therefore larger than 1 MB; the published file is minified, and the check allows up to 1.5 MB.
|
|
26
|
-
- Team cards no longer offer “Copy prompt”. The coordinator prompt stays in team details and is not copied to the clipboard.
|
|
27
|
-
|
|
28
11
|
### Fixes
|
|
29
12
|
|
|
30
|
-
-
|
|
31
|
-
- Detect the legacy settings API from the running host, not from this package's own older dependency.
|
|
13
|
+
- Agency Agents now starts on DSH 0.1.7-rc.1 installed globally on Linux or in Docker, and still reads the current settings.
|
|
@@ -63,8 +63,8 @@ interface Config {
|
|
|
63
63
|
maxDepth?: number;
|
|
64
64
|
}
|
|
65
65
|
declare const AGENCY_PERSONA_SERVICE = "agencyAgentsPersona";
|
|
66
|
-
/** 仅当宿主 schemastery 提供 volatile()
|
|
67
|
-
declare function liveSchemaField<T>(field: schema<T>):
|
|
66
|
+
/** 仅当宿主 schemastery 提供 volatile() 时,把字段标成可实时更新。插件自己的新版本不能代替宿主判断。 */
|
|
67
|
+
declare function liveSchemaField<T>(field: schema<T>): unknown;
|
|
68
68
|
declare const Config: schema<Config>;
|
|
69
69
|
/** 解析智能体根目录:显式配置优先,其次读取环境变量,最后使用包内资产。 */
|
|
70
70
|
declare function resolveCatalogRoot(root: string): string;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as stripBom, D as validateSummonSpecs, E as unquote, O as ZH_NAME, S as sanitize, T as truncate, _ as parseFrontmatter, a as SUMMON_EXPERTS_CONCURRENCY, b as resolveCatalogRoot, c as SummonExpertItemResult, d as createAgencyPersonaSource, f as inject, g as name, h as mapPool, i as DEFAULT_DIVISIONS, l as SummonExpertSpec, m as loadCatalog, n as AgencyPersonaSource, o as SUMMON_EXPERTS_MAX, p as liveSchemaField, r as Config, s as SUMMON_TASK_MAX_CHARS, t as AGENCY_PERSONA_SERVICE, u as apply, v as readExpertPrompt, w as toSummonItemResult, x as resolveExpert, y as readLocalizedExpertPrompt } from "./index-
|
|
1
|
+
import { C as stripBom, D as validateSummonSpecs, E as unquote, O as ZH_NAME, S as sanitize, T as truncate, _ as parseFrontmatter, a as SUMMON_EXPERTS_CONCURRENCY, b as resolveCatalogRoot, c as SummonExpertItemResult, d as createAgencyPersonaSource, f as inject, g as name, h as mapPool, i as DEFAULT_DIVISIONS, l as SummonExpertSpec, m as loadCatalog, n as AgencyPersonaSource, o as SUMMON_EXPERTS_MAX, p as liveSchemaField, r as Config, s as SUMMON_TASK_MAX_CHARS, t as AGENCY_PERSONA_SERVICE, u as apply, v as readExpertPrompt, w as toSummonItemResult, x as resolveExpert, y as readLocalizedExpertPrompt } from "./index-CDPEo6Ez.js";
|
|
2
2
|
export { AGENCY_PERSONA_SERVICE, AgencyPersonaSource, Config, DEFAULT_DIVISIONS, SUMMON_EXPERTS_CONCURRENCY, SUMMON_EXPERTS_MAX, SUMMON_TASK_MAX_CHARS, SummonExpertItemResult, SummonExpertSpec, ZH_NAME, apply, createAgencyPersonaSource, inject, liveSchemaField, loadCatalog, mapPool, name, parseFrontmatter, readExpertPrompt, readLocalizedExpertPrompt, resolveCatalogRoot, resolveExpert, sanitize, stripBom, toSummonItemResult, truncate, unquote, validateSummonSpecs };
|
package/lib/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as unquote, P as ZH_NAME, S as truncate, _ as resolveCatalogRoot, a as SUMMON_EXPERTS_MAX, b as stripBom, c as createAgencyPersonaSource, d as loadCatalog, f as mapPool, g as readLocalizedExpertPrompt, h as readExpertPrompt, i as SUMMON_EXPERTS_CONCURRENCY, l as inject, m as parseFrontmatter, n as Config, o as SUMMON_TASK_MAX_CHARS, p as name, r as DEFAULT_DIVISIONS, s as apply, t as AGENCY_PERSONA_SERVICE, u as liveSchemaField, v as resolveExpert, w as validateSummonSpecs, x as toSummonItemResult, y as sanitize } from "./src-
|
|
1
|
+
import { C as unquote, P as ZH_NAME, S as truncate, _ as resolveCatalogRoot, a as SUMMON_EXPERTS_MAX, b as stripBom, c as createAgencyPersonaSource, d as loadCatalog, f as mapPool, g as readLocalizedExpertPrompt, h as readExpertPrompt, i as SUMMON_EXPERTS_CONCURRENCY, l as inject, m as parseFrontmatter, n as Config, o as SUMMON_TASK_MAX_CHARS, p as name, r as DEFAULT_DIVISIONS, s as apply, t as AGENCY_PERSONA_SERVICE, u as liveSchemaField, v as resolveExpert, w as validateSummonSpecs, x as toSummonItemResult, y as sanitize } from "./src-D62nL1RE.js";
|
|
2
2
|
export { AGENCY_PERSONA_SERVICE, Config, DEFAULT_DIVISIONS, SUMMON_EXPERTS_CONCURRENCY, SUMMON_EXPERTS_MAX, SUMMON_TASK_MAX_CHARS, ZH_NAME, apply, createAgencyPersonaSource, inject, liveSchemaField, loadCatalog, mapPool, name, parseFrontmatter, readExpertPrompt, readLocalizedExpertPrompt, resolveCatalogRoot, resolveExpert, sanitize, stripBom, toSummonItemResult, truncate, unquote, validateSummonSpecs };
|
package/lib/remote.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { v as readExpertPrompt, y as readLocalizedExpertPrompt } from "./index-
|
|
1
|
+
import { v as readExpertPrompt, y as readLocalizedExpertPrompt } from "./index-CDPEo6Ez.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { TypertRemoteService } from "@deepseek-ai/dsh-typert-protocol";
|
|
4
4
|
import { Context } from "@deepseek-ai/cordis";
|
package/lib/remote.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as CUSTOM_EXPERT_SLUG, D as readHostLocale, E as formatHost, F as AGENCY_TEAM_SERVICE, I as teamInputSchema, L as teamSnapshotSchema, M as customExpertInputSchema, N as expertEditSchema, O as settingsNamespaceCompat, R as teamText, T as nativeTeamMemberName, g as readLocalizedExpertPrompt, h as readExpertPrompt, j as catalogSnapshotSchema, k as AGENCY_LIBRARY_SERVICE, t as AGENCY_PERSONA_SERVICE } from "./src-
|
|
1
|
+
import { A as CUSTOM_EXPERT_SLUG, D as readHostLocale, E as formatHost, F as AGENCY_TEAM_SERVICE, I as teamInputSchema, L as teamSnapshotSchema, M as customExpertInputSchema, N as expertEditSchema, O as settingsNamespaceCompat, R as teamText, T as nativeTeamMemberName, g as readLocalizedExpertPrompt, h as readExpertPrompt, j as catalogSnapshotSchema, k as AGENCY_LIBRARY_SERVICE, t as AGENCY_PERSONA_SERVICE } from "./src-D62nL1RE.js";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { Remote, TypertRemoteService } from "@deepseek-ai/dsh-typert-protocol";
|
|
4
4
|
//#region src/remote-contract.ts
|
|
@@ -2,7 +2,7 @@ import { createRequire } from "node:module";
|
|
|
2
2
|
import { createHash, randomUUID } from "node:crypto";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import * as dshSettings from "@deepseek-ai/dsh-settings";
|
|
5
|
-
import { existsSync, readFileSync } from "node:fs";
|
|
5
|
+
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
6
6
|
import { open, readFile, readdir, stat } from "node:fs/promises";
|
|
7
7
|
import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
|
|
8
8
|
import schema from "@deepseek-ai/schemastery";
|
|
@@ -1617,13 +1617,49 @@ function settingsNamespaceCompat(value, module = dshSettings) {
|
|
|
1617
1617
|
return typeof legacy === "function" ? legacy(value) : value;
|
|
1618
1618
|
}
|
|
1619
1619
|
let hostSettingsModule;
|
|
1620
|
+
function missingHostModule(specifier) {
|
|
1621
|
+
const error = /* @__PURE__ */ new Error(`Cannot find module '${specifier}'`);
|
|
1622
|
+
error.code = "MODULE_NOT_FOUND";
|
|
1623
|
+
return error;
|
|
1624
|
+
}
|
|
1625
|
+
/** 宿主 bin 可能是符号链接,或停在 prefix/bin,模块实际在 prefix/lib/node_modules。 */
|
|
1626
|
+
function hostModuleAnchors(entry) {
|
|
1627
|
+
const resolved = resolve(entry);
|
|
1628
|
+
const anchors = [resolved];
|
|
1629
|
+
try {
|
|
1630
|
+
const real = realpathSync(resolved);
|
|
1631
|
+
if (real !== resolved) anchors.push(real);
|
|
1632
|
+
} catch {}
|
|
1633
|
+
const dir = dirname(resolved);
|
|
1634
|
+
anchors.push(join(dir, "..", "lib", "node_modules", "@deepseek-ai", "dsh", "package.json"), join(dir, "node_modules", "@deepseek-ai", "dsh", "package.json"));
|
|
1635
|
+
return anchors;
|
|
1636
|
+
}
|
|
1637
|
+
function hostRequireFor(specifier, entry = process.argv[1]) {
|
|
1638
|
+
if (entry === void 0 || entry === "") throw missingHostModule(specifier);
|
|
1639
|
+
let last = missingHostModule(specifier);
|
|
1640
|
+
for (const anchor of hostModuleAnchors(entry)) try {
|
|
1641
|
+
const hostRequire = createRequire(anchor);
|
|
1642
|
+
hostRequire.resolve(specifier);
|
|
1643
|
+
return hostRequire;
|
|
1644
|
+
} catch (error) {
|
|
1645
|
+
last = error;
|
|
1646
|
+
if (error.code !== "MODULE_NOT_FOUND") throw error;
|
|
1647
|
+
}
|
|
1648
|
+
throw last;
|
|
1649
|
+
}
|
|
1650
|
+
/** 从当前宿主安装位置加载模块。解析不到时抛出 MODULE_NOT_FOUND,不回退到插件自己的依赖。 */
|
|
1651
|
+
function loadHostModule(specifier, entry = process.argv[1]) {
|
|
1652
|
+
return hostRequireFor(specifier, entry)(specifier);
|
|
1653
|
+
}
|
|
1654
|
+
/** 只确认宿主模块能否解析,不执行包入口。 */
|
|
1655
|
+
function resolveHostModule(specifier, entry = process.argv[1]) {
|
|
1656
|
+
return hostRequireFor(specifier, entry).resolve(specifier);
|
|
1657
|
+
}
|
|
1620
1658
|
/** 旧 RC 的模块助手必须从宿主入口解析。插件自己的依赖可能更旧,不能用来判断当前宿主。 */
|
|
1621
1659
|
function settingsModuleFromHost() {
|
|
1622
1660
|
if (hostSettingsModule !== void 0) return hostSettingsModule;
|
|
1623
|
-
const entry = process.argv[1];
|
|
1624
|
-
if (entry === void 0 || entry === "") return hostSettingsModule = {};
|
|
1625
1661
|
try {
|
|
1626
|
-
hostSettingsModule =
|
|
1662
|
+
hostSettingsModule = loadHostModule("@deepseek-ai/dsh-settings");
|
|
1627
1663
|
} catch {
|
|
1628
1664
|
hostSettingsModule = {};
|
|
1629
1665
|
}
|
|
@@ -1709,10 +1745,8 @@ function profileHome(ctx) {
|
|
|
1709
1745
|
return fromEnv === void 0 || fromEnv === "" ? void 0 : fromEnv;
|
|
1710
1746
|
}
|
|
1711
1747
|
function parseHostYaml(text) {
|
|
1712
|
-
const entry = process.argv[1];
|
|
1713
|
-
if (entry === void 0 || entry === "") return void 0;
|
|
1714
1748
|
try {
|
|
1715
|
-
const yaml =
|
|
1749
|
+
const yaml = loadHostModule("yaml");
|
|
1716
1750
|
return typeof yaml.parse === "function" ? yaml.parse(text) : void 0;
|
|
1717
1751
|
} catch {
|
|
1718
1752
|
return;
|
|
@@ -2095,7 +2129,7 @@ function hostHasAgentTeam() {
|
|
|
2095
2129
|
if (agentTeamInstalled !== void 0) return agentTeamInstalled;
|
|
2096
2130
|
if (!process.argv[1]) return agentTeamInstalled = false;
|
|
2097
2131
|
try {
|
|
2098
|
-
|
|
2132
|
+
resolveHostModule("@deepseek-ai/dsh-experimental-agent-team");
|
|
2099
2133
|
return agentTeamInstalled = true;
|
|
2100
2134
|
} catch (error) {
|
|
2101
2135
|
if (error.code === "MODULE_NOT_FOUND") return agentTeamInstalled = false;
|
|
@@ -2660,24 +2694,22 @@ const ROOT_ENV = "AGENCY_AGENTS_ROOT";
|
|
|
2660
2694
|
const BUNDLED_ROOT = fileURLToPath(new URL("../assets/agency-agents/", import.meta.url));
|
|
2661
2695
|
const BUNDLED_CHINESE_ROOT = fileURLToPath(new URL("../assets/agency-agents-zh/", import.meta.url));
|
|
2662
2696
|
const AGENCY_PERSONA_SERVICE = "agencyAgentsPersona";
|
|
2663
|
-
/** 仅当宿主 schemastery 提供 volatile()
|
|
2697
|
+
/** 仅当宿主 schemastery 提供 volatile() 时,把字段标成可实时更新。插件自己的新版本不能代替宿主判断。 */
|
|
2664
2698
|
function liveSchemaField(field) {
|
|
2665
2699
|
const candidate = field;
|
|
2666
2700
|
return typeof candidate.volatile === "function" ? candidate.volatile() : void 0;
|
|
2667
2701
|
}
|
|
2668
|
-
/**
|
|
2669
|
-
function
|
|
2670
|
-
if (liveSchemaField(schema.string()) !== void 0) return schema;
|
|
2671
|
-
const entry = process.argv[1];
|
|
2672
|
-
if (entry === void 0 || entry === "") return schema;
|
|
2702
|
+
/** 从当前宿主安装位置解析 schemastery。解析不到时不把插件依赖当成宿主能力。 */
|
|
2703
|
+
function hostSchemastery() {
|
|
2673
2704
|
try {
|
|
2674
|
-
const loaded =
|
|
2705
|
+
const loaded = loadHostModule("@deepseek-ai/schemastery");
|
|
2675
2706
|
const host = typeof loaded.string === "function" ? loaded : loaded.default;
|
|
2676
2707
|
if (host !== void 0 && liveSchemaField(host.string()) !== void 0) return host;
|
|
2677
2708
|
} catch {}
|
|
2678
|
-
return schema;
|
|
2679
2709
|
}
|
|
2680
|
-
const
|
|
2710
|
+
const hostSchema = hostSchemastery();
|
|
2711
|
+
const schema$1 = hostSchema ?? schema;
|
|
2712
|
+
const markLiveFields = hostSchema !== void 0;
|
|
2681
2713
|
const configFields = {
|
|
2682
2714
|
root: schema$1.string().default(""),
|
|
2683
2715
|
provider: schema$1.string().default("spawn"),
|
|
@@ -2690,7 +2722,7 @@ for (const [key, field] of [
|
|
|
2690
2722
|
["customTeams", schema$1.array(schema$1.any()).default([])],
|
|
2691
2723
|
["enabledTeams", schema$1.array(schema$1.string()).default([])]
|
|
2692
2724
|
]) {
|
|
2693
|
-
const live = liveSchemaField(field);
|
|
2725
|
+
const live = markLiveFields ? liveSchemaField(field) : void 0;
|
|
2694
2726
|
if (live !== void 0) configFields[key] = live;
|
|
2695
2727
|
}
|
|
2696
2728
|
const Config = schema$1.object(configFields);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@michengai/dsh-agency-agents",
|
|
3
3
|
"description": "DSH Agency Agents — 为 DeepSeek Harness 提供 321 名可召唤的专业智能体 · 321 summonable domain experts for DeepSeek Harness",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@11.22.0",
|
|
7
7
|
"engines": {
|
|
@@ -78,23 +78,23 @@
|
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {
|
|
80
80
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
81
|
-
"@deepseek-ai/dsh": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
82
|
-
"@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
83
|
-
"@deepseek-ai/dsh-client-connection": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
84
|
-
"@deepseek-ai/dsh-client-locale": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
85
|
-
"@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8 || 0.1.1-rc.2",
|
|
86
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
87
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
88
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
89
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
90
|
-
"@deepseek-ai/dsh-host-webserver": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
91
|
-
"@deepseek-ai/dsh-llm": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
92
|
-
"@deepseek-ai/dsh-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
93
|
-
"@deepseek-ai/dsh-subagent": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
94
|
-
"@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
95
|
-
"@deepseek-ai/dsh-tools": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
96
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
97
|
-
"@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.
|
|
81
|
+
"@deepseek-ai/dsh": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
82
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
83
|
+
"@deepseek-ai/dsh-client-connection": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
84
|
+
"@deepseek-ai/dsh-client-locale": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
85
|
+
"@deepseek-ai/dsh-client-runtime": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
86
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
87
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
88
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
89
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
90
|
+
"@deepseek-ai/dsh-host-webserver": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
91
|
+
"@deepseek-ai/dsh-llm": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
92
|
+
"@deepseek-ai/dsh-settings": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
93
|
+
"@deepseek-ai/dsh-subagent": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
94
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
95
|
+
"@deepseek-ai/dsh-tools": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
96
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
97
|
+
"@deepseek-ai/dsh-typert-registry": "0.1.0-rc.8 || 0.1.1-rc.2 || 0.1.2-rc.1 || 0.1.5-rc.1 || 0.1.5-rc.2 || 0.1.7-rc.1",
|
|
98
98
|
"@deepseek-ai/schemastery": "^3.18.1",
|
|
99
99
|
"react": "^18.2.0"
|
|
100
100
|
},
|
|
@@ -110,35 +110,35 @@
|
|
|
110
110
|
"zod": "^4.4.3"
|
|
111
111
|
},
|
|
112
112
|
"devDependencies": {
|
|
113
|
-
"@deepseek-ai/cordis": "
|
|
114
|
-
"@deepseek-ai/dsh-agent": "0.1.
|
|
115
|
-
"@deepseek-ai/dsh-api-remotes": "0.1.
|
|
116
|
-
"@deepseek-ai/dsh-attachment": "0.1.
|
|
117
|
-
"@deepseek-ai/dsh-brand": "0.1.
|
|
118
|
-
"@deepseek-ai/dsh-client-connection": "0.1.
|
|
119
|
-
"@deepseek-ai/dsh-client-locale": "0.1.
|
|
120
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.1.
|
|
121
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.
|
|
122
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.1.
|
|
123
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.1.
|
|
124
|
-
"@deepseek-ai/dsh-host-webserver": "0.1.
|
|
125
|
-
"@deepseek-ai/dsh-invariants": "0.1.
|
|
126
|
-
"@deepseek-ai/dsh-llm": "0.1.
|
|
127
|
-
"@deepseek-ai/dsh-ptc-runtime": "0.1.
|
|
128
|
-
"@deepseek-ai/dsh-sandbox": "0.1.
|
|
129
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.1.
|
|
130
|
-
"@deepseek-ai/dsh-scope": "0.1.
|
|
131
|
-
"@deepseek-ai/dsh-session": "0.1.
|
|
132
|
-
"@deepseek-ai/dsh-session-projection": "0.1.
|
|
133
|
-
"@deepseek-ai/dsh-settings": "0.1.
|
|
134
|
-
"@deepseek-ai/dsh-subagent": "0.1.
|
|
135
|
-
"@deepseek-ai/dsh-system-prompt": "0.1.
|
|
136
|
-
"@deepseek-ai/dsh-tools": "0.1.
|
|
137
|
-
"@deepseek-ai/dsh-typert-protocol": "0.1.
|
|
138
|
-
"@deepseek-ai/dsh-typert-registry": "0.1.
|
|
139
|
-
"@deepseek-ai/dsh-user-approval": "0.1.
|
|
140
|
-
"@deepseek-ai/dsh-util-time": "0.1.
|
|
141
|
-
"@deepseek-ai/schemastery": "
|
|
113
|
+
"@deepseek-ai/cordis": "4.0.4",
|
|
114
|
+
"@deepseek-ai/dsh-agent": "0.1.7-rc.1",
|
|
115
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.7-rc.1",
|
|
116
|
+
"@deepseek-ai/dsh-attachment": "0.1.7-rc.1",
|
|
117
|
+
"@deepseek-ai/dsh-brand": "0.1.7-rc.1",
|
|
118
|
+
"@deepseek-ai/dsh-client-connection": "0.1.7-rc.1",
|
|
119
|
+
"@deepseek-ai/dsh-client-locale": "0.1.7-rc.1",
|
|
120
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.1",
|
|
121
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.1.7-rc.1",
|
|
122
|
+
"@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.1",
|
|
123
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.1",
|
|
124
|
+
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.1",
|
|
125
|
+
"@deepseek-ai/dsh-invariants": "0.1.7-rc.1",
|
|
126
|
+
"@deepseek-ai/dsh-llm": "0.1.7-rc.1",
|
|
127
|
+
"@deepseek-ai/dsh-ptc-runtime": "0.1.7-rc.1",
|
|
128
|
+
"@deepseek-ai/dsh-sandbox": "0.1.7-rc.1",
|
|
129
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
|
|
130
|
+
"@deepseek-ai/dsh-scope": "0.1.7-rc.1",
|
|
131
|
+
"@deepseek-ai/dsh-session": "0.1.7-rc.1",
|
|
132
|
+
"@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
|
|
133
|
+
"@deepseek-ai/dsh-settings": "0.1.7-rc.1",
|
|
134
|
+
"@deepseek-ai/dsh-subagent": "0.1.7-rc.1",
|
|
135
|
+
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
|
|
136
|
+
"@deepseek-ai/dsh-tools": "0.1.7-rc.1",
|
|
137
|
+
"@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.1",
|
|
138
|
+
"@deepseek-ai/dsh-typert-registry": "0.1.7-rc.1",
|
|
139
|
+
"@deepseek-ai/dsh-user-approval": "0.1.7-rc.1",
|
|
140
|
+
"@deepseek-ai/dsh-util-time": "0.1.7-rc.1",
|
|
141
|
+
"@deepseek-ai/schemastery": "3.18.4",
|
|
142
142
|
"@playwright/test": "1.63.0",
|
|
143
143
|
"@tabler/icons-react": "^3.47.0",
|
|
144
144
|
"@types/node": "^22.20.0",
|