@lemoncat7/dsh-knowledge 0.6.0-alpha.8 → 0.6.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/README.md CHANGED
@@ -1,8 +1,12 @@
1
1
  # dsh-knowledge
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/%40lemoncat7%2Fdsh-knowledge)](https://www.npmjs.com/package/@lemoncat7/dsh-knowledge)
4
+ [![GitHub Release](https://img.shields.io/github/v/release/lemoncat7/dsh-knowledge)](https://github.com/lemoncat7/dsh-knowledge/releases/latest)
5
+ [![awesome · DSH plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com)
6
+
3
7
  `dsh-knowledge` 是面向 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 的知识库插件。它不修改 DSH Agent Loop,同一个插件既能使用本地 SQLite,也能连接远程中央知识库。
4
8
 
5
- 当前版本 `0.6.0-alpha.8` 已实现可部署的多知识库、按需检索工具与文档型 Web 管理台:
9
+ 首个正式版本 `0.6.0` 已实现可部署的多知识库、按需检索工具与文档型 Web 管理台:
6
10
 
7
11
  - 回答完成后同步调用 DSH 当前模型判断是否产生知识,并在回答下方显示逐库回写结果。
8
12
  - 知识标题、正文、自然语言标签和提取理由默认跟随本轮用户语言;代码、命令和技术标识保持原样。
@@ -30,22 +34,22 @@
30
34
 
31
35
  ## 安装
32
36
 
33
- 从 npm 安装当前预览版:
37
+ 从 npm 安装正式版:
34
38
 
35
39
  ```bash
36
- dsh plugin --profile web add @lemoncat7/dsh-knowledge@next
40
+ dsh plugin --profile web add @lemoncat7/dsh-knowledge
37
41
  ```
38
42
 
39
43
  需要固定版本时:
40
44
 
41
45
  ```bash
42
- dsh plugin --profile web add @lemoncat7/dsh-knowledge@0.6.0-alpha.8
46
+ dsh plugin --profile web add @lemoncat7/dsh-knowledge@0.6.0
43
47
  ```
44
48
 
45
- 本地开发包仍可直接安装:
49
+ 也可以从 [GitHub Release](https://github.com/lemoncat7/dsh-knowledge/releases/latest) 下载完整预构建包后安装:
46
50
 
47
51
  ```bash
48
- dsh plugin --profile web add ./lemoncat7-dsh-knowledge-0.6.0-alpha.8.tgz
52
+ dsh plugin --profile web add ./lemoncat7-dsh-knowledge-0.6.0.tgz
49
53
  ```
50
54
 
51
55
  卸载:
@@ -56,6 +60,18 @@ dsh plugin --profile web remove @lemoncat7/dsh-knowledge
56
60
 
57
61
  插件是标准 DSH profile bundle:`package.json` 的 `dsh.bundle.patch` 指向 `cordis.patch.yml`。安装后不需要单独运行知识库容器。
58
62
 
63
+ 安装或更新后请重启对应的 DSH profile。Web 版重启命令:
64
+
65
+ ```bash
66
+ pnpm dsh web
67
+ ```
68
+
69
+ ## DSH 插件商店
70
+
71
+ 本仓库符合 DSH 社区目录的安装要求:声明了 `dsh.bundle`、发布了 npm 预构建包,并使用 GitHub `dsh-plugin` Topic。目录收录完成后,可在 DSH 的插件市场搜索 `dsh-knowledge` 或“知识库”,安装源为 `@lemoncat7/dsh-knowledge`。
72
+
73
+ 插件商店的数据来自 [awesome-dsh-plugin.com](https://awesome-dsh-plugin.com),不是单靠 npm 标签自动生成。若商店尚未刷新,可先使用上面的 npm 命令安装。
74
+
59
75
  ## 本地模式
60
76
 
61
77
  默认配置使用 DSH 持久目录中的 SQLite 文件:
@@ -179,7 +195,7 @@ dsh plugin --profile web remove @lemoncat7/dsh-knowledge
179
195
  ```
180
196
 
181
197
  远程地址必须是 HTTPS;只有 `localhost` 和回环 IP 的测试地址允许 HTTP。普通客户端建议只分配 `read + propose` 权限。
182
- 远程客户端连接的是中央库,不会复制或同步一份本地数据库;断网时无法召回或回写。每台客户端仍需用自己的项目/会话标识挂载所需知识库。
198
+ 远程客户端连接的是中央库,不会复制或同步一份本地数据库;断网时无法召回或回写。侧栏管理台仍在当前 DSH 内打开,插件通过同源代理携带已保存的远程令牌访问中央 API,不使用跨域 iframe,也不会把令牌交给浏览器。远程模式隐藏“访问管理”,API 开关和客户端令牌仍由中央 DSH 管理。每台客户端仍需用自己的项目/会话标识挂载所需知识库。
183
199
 
184
200
  ## 开发与 Docker 构建
185
201
 
@@ -22,6 +22,7 @@ The DSH core is never patched. `src/index.ts` is the composition root; every oth
22
22
  - `provider.ts` is the storage/application port. Local and remote clients implement the same asynchronous contract.
23
23
  - `local-provider.ts` owns schema migrations, transactions, FTS and token hashes.
24
24
  - `remote-provider.ts` is an authenticated, timeout-bounded HTTPS adapter.
25
+ - `management-proxy.ts` lets the embedded console operate on the selected central service while keeping the saved remote token on the DSH server.
25
26
  - `extraction.ts` snapshots completed turns, resolves writable mounts and validates model JSON fail-closed.
26
27
  - `retrieval.ts` owns mounted-scope authorization, signed handles, ranking and bounded rendering shared by proactive and tool-driven retrieval.
27
28
  - `recall.ts` contributes a lightweight mounted-base catalog and performs bounded proactive retrieval in the asynchronous `agent/pre-step` waterfall.
@@ -84,7 +85,7 @@ Only active entries from recall-enabled resolved mounts are searched. Each searc
84
85
 
85
86
  Local and remote modes are mutually exclusive for one plugin instance. There is deliberately no transparent cache or two-way synchronization: that would create conflict semantics at a second layer and obscure which database is authoritative.
86
87
 
87
- A local provider always supports its same-origin management console unless `exposeWeb` is explicitly disabled. This internal surface is distinct from the public API: enabling the public route is an explicit, persistent action in “访问管理”, and enabling it prevents the same instance from switching to a remote provider. Remote clients use the same provider contract, so extraction candidates and recall work identically. Network timeouts and DSH turn cancellation bound remote requests.
88
+ A local provider always supports its same-origin management console unless `exposeWeb` is explicitly disabled. This internal surface is distinct from the public API: enabling the public route is an explicit, persistent action in “访问管理”, and enabling it prevents the same instance from switching to a remote provider. In remote mode the same embedded console uses a bounded same-origin server proxy to the configured central API; the browser never receives the saved remote token, and central access-management controls remain hidden. Remote clients use the same provider contract, so extraction candidates and recall work identically. Network timeouts and DSH turn cancellation bound remote requests.
88
89
 
89
90
  ## Security boundaries
90
91
 
package/lib/control.d.ts CHANGED
@@ -21,7 +21,7 @@ export interface KnowledgeControlOptions {
21
21
  current(): KnowledgeConnectionSettings;
22
22
  canSwitchRemote: boolean | (() => boolean);
23
23
  writable: boolean;
24
- managementAvailable: boolean;
24
+ managementAvailable: boolean | (() => boolean);
25
25
  managementPath?: string;
26
26
  update(value: KnowledgeConnectionUpdate): Promise<KnowledgeConnectionSettings>;
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,eAAO,MAAM,sBAAsB,qCAAqC,CAAA;AAIxE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,IAAI,2BAA2B,CAAA;IACtC,eAAe,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,OAAO,CAAA;IACjB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;CAC/E;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,IAAI,CAcZ"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEtD,eAAO,MAAM,sBAAsB,qCAAqC,CAAA;AAIxE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,QAAQ,EAAE,OAAO,CAAA;IACjB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,IAAI,2BAA2B,CAAA;IACtC,eAAe,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IAC1C,QAAQ,EAAE,OAAO,CAAA;IACjB,mBAAmB,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;CAC/E;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,IAAI,CAcZ"}
package/lib/control.js CHANGED
@@ -41,7 +41,7 @@ async function dispatch(req, res, options) {
41
41
  sendJson(res, 200, connectionView(active, options));
42
42
  }
43
43
  function connectionView(settings, options) {
44
- const managementAvailable = options.managementAvailable && settings.backend === 'local';
44
+ const managementAvailable = resolveBoolean(options.managementAvailable);
45
45
  return {
46
46
  backend: settings.backend,
47
47
  remoteTimeoutMs: settings.remoteTimeoutMs,
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAA;AAExE,MAAM,cAAc,GAAG,MAAM,CAAA;AA6B7B,iFAAiF;AACjF,MAAM,UAAU,wBAAwB,CACtC,GAAuB,EACvB,OAAgC;IAEhC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,CAAoC,CAAA;IAC1F,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IAC/G,OAAO,SAAS,CAAC,QAAQ,CAAC;QACxB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,GAAoB,EACpB,GAAmB,EACnB,OAAgC;IAEhC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAA;IAClC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACvE,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAClC,MAAM,YAAY,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAC7C,CAAC;IACD,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACrB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,YAAY,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,MAAM,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;IACvE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACjD,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5E,MAAM,YAAY,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAA;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,cAAc,CACrB,QAAqC,EACrC,OAAiH;IAEjH,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAA;IACvF,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,eAAe,EAAE,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE;QACrG,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC;QACxD,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,mBAAmB;QACnB,GAAG,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE;QAC5E,GAAG,mBAAmB,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAC5D,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;YAC5C,CAAC,CAAC,EAAE;KACP,CAAA;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B;IAChD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,YAAY,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,IAAK,IAAI,CAAC,eAA0B,GAAG,GAAG,IAAK,IAAI,CAAC,eAA0B,GAAG,OAAO,EAAE,CAAC;QACpI,MAAM,YAAY,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;QACvE,MAAM,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAA;IAC1C,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC3E,MAAM,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IACxC,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,eAAyB;QAC/C,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;QACjF,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC3E,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;YAC1C,CAAC,CAAC,EAAE;KACP,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAoB;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;IAC/C,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACnF,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAA;IACjC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAM;IAChC,IAAI,UAAkB,CAAA;IACtB,IAAI,CAAC;QAAC,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IAAC,CAAC;IACtF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAClE,MAAM,YAAY,GAAG,aAAa,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAA;IACtD,IAAI,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1F,MAAM,YAAY,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAoC;IACvD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACnD,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAA;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,OAAO,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAA;AAC7E,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAoB;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,cAAc;QAAE,MAAM,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAChG,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClE,IAAI,IAAI,MAAM,CAAC,MAAM,CAAA;QACrB,IAAI,IAAI,GAAG,cAAc;YAAE,MAAM,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;QAC/D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAA;QAC3E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,EAAE,CAAA;QACvC,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,YAAY,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAA;IAC7C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAmB,EAAE,KAAc;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAA;IACvF,MAAM,OAAO,GAAG,MAAM,IAAI,GAAG;QAC3B,CAAC,CAAC,2BAA2B;QAC7B,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAA;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,MAAM,EAAE,EAAE,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,QAAQ,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;QACpB,cAAc,EAAE,iCAAiC;QACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5C,eAAe,EAAE,UAAU;QAC3B,wBAAwB,EAAE,SAAS;KACpC,CAAC,CAAA;IACF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,OAAe;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAYlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAA;AAcnG,eAAO,MAAM,MAAM,0DAAe,CAAA;AAClC,MAAM,MAAM,MAAM,GAAG,eAAe,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,yCAAyC;AACzC,eAAO,MAAM,IAAI,kBAAkB,CAAA;AAEnC,gHAAgH;AAChH,eAAO,MAAM,MAAM,UAAmC,CAAA;AAEtD,4FAA4F;AAC5F,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CA+KjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAYlD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAiB,KAAK,MAAM,IAAI,eAAe,EAAE,MAAM,aAAa,CAAA;AAenG,eAAO,MAAM,MAAM,0DAAe,CAAA;AAClC,MAAM,MAAM,MAAM,GAAG,eAAe,CAAA;AACpC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAEnF,yCAAyC;AACzC,eAAO,MAAM,IAAI,kBAAkB,CAAA;AAEnC,gHAAgH;AAChH,eAAO,MAAM,MAAM,UAAmC,CAAA;AAEtD,4FAA4F;AAC5F,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CA8LjE"}
package/lib/index.js CHANGED
@@ -5,6 +5,7 @@ import { Config as ConfigSchema, resolveConfig } from './config.js';
5
5
  import { registerKnowledgeControl } from './control.js';
6
6
  import { ExtractionCoordinator } from './extraction.js';
7
7
  import { LocalKnowledgeProvider } from './local-provider.js';
8
+ import { registerRemoteManagementProxy } from './management-proxy.js';
8
9
  import { KnowledgeProviderRouter } from './provider-router.js';
9
10
  import { registerKnowledgeCatalog, registerRecall } from './recall.js';
10
11
  import { KnowledgeHandleCodec } from './retrieval.js';
@@ -62,6 +63,7 @@ export function apply(ctx, config) {
62
63
  registerKnowledgeCatalog(runtime, provider, resolved);
63
64
  registerRecall(runtime, provider, resolved, handleCodec);
64
65
  registerKnowledgeTools(runtime, provider, handleCodec);
66
+ let refreshManagementApi = () => { };
65
67
  let switching = Promise.resolve();
66
68
  const updateConnection = (input) => {
67
69
  const pending = switching.then(async () => {
@@ -85,6 +87,7 @@ export function apply(ctx, config) {
85
87
  persisted = true;
86
88
  await providerRouter.replace(candidate);
87
89
  activeConnection = next;
90
+ refreshManagementApi();
88
91
  runtime.logger.info(`dsh-knowledge: verified and switched to ${next.backend} provider`);
89
92
  return activeConnection;
90
93
  }
@@ -141,12 +144,26 @@ export function apply(ctx, config) {
141
144
  if (resolved.exposeApi && managementProvider !== undefined && resolved.apiToken !== undefined) {
142
145
  managementProvider.ensureBootstrapToken(resolved.apiToken);
143
146
  }
144
- if (managementProvider !== undefined && resolved.exposeWeb) {
145
- const disposeLocalApi = registerKnowledgeApi(httpRuntime, managementProvider, LOCAL_MANAGEMENT_API_PREFIX, {
146
- authMode: 'same-origin',
147
- service: { current: publicApiView, update: updatePublicApi },
148
- });
149
- httpRuntime.effect(() => disposeLocalApi, 'dsh-knowledge.local-management-api');
147
+ let disposeManagementApi;
148
+ const applyManagementApiRoute = () => {
149
+ disposeManagementApi?.();
150
+ disposeManagementApi = undefined;
151
+ if (!resolved.exposeWeb)
152
+ return;
153
+ if (activeConnection.backend === 'remote') {
154
+ disposeManagementApi = registerRemoteManagementProxy(httpRuntime, LOCAL_MANAGEMENT_API_PREFIX, () => activeConnection);
155
+ }
156
+ else if (managementProvider !== undefined) {
157
+ disposeManagementApi = registerKnowledgeApi(httpRuntime, managementProvider, LOCAL_MANAGEMENT_API_PREFIX, {
158
+ authMode: 'same-origin',
159
+ service: { current: publicApiView, update: updatePublicApi },
160
+ });
161
+ }
162
+ };
163
+ refreshManagementApi = applyManagementApiRoute;
164
+ applyManagementApiRoute();
165
+ httpRuntime.effect(() => () => { disposeManagementApi?.(); }, 'dsh-knowledge.management-api');
166
+ if (resolved.exposeWeb) {
150
167
  const disposeWeb = registerKnowledgeWeb(httpRuntime, resolved.webPath, LOCAL_MANAGEMENT_API_PREFIX, 'same-origin');
151
168
  httpRuntime.effect(() => disposeWeb, 'dsh-knowledge.web');
152
169
  }
@@ -156,8 +173,8 @@ export function apply(ctx, config) {
156
173
  current: () => activeConnection,
157
174
  canSwitchRemote: () => !publicApiEnabled,
158
175
  writable: resolved.connectionPath !== undefined,
159
- managementAvailable: managementProvider !== undefined && resolved.exposeWeb,
160
- ...managementProvider !== undefined && resolved.exposeWeb ? { managementPath: resolved.webPath } : {},
176
+ managementAvailable: () => resolved.exposeWeb && (activeConnection.backend === 'remote' || managementProvider !== undefined),
177
+ ...resolved.exposeWeb ? { managementPath: resolved.webPath } : {},
161
178
  update: updateConnection,
162
179
  });
163
180
  httpRuntime.effect(() => disposeControl, 'dsh-knowledge.connection-control');
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { KnowledgeConnectionSettings } from './connection.js';
2
+ import type { RuntimeContextLike } from './runtime.js';
3
+ export declare function registerRemoteManagementProxy(ctx: RuntimeContextLike, prefix: string, current: () => KnowledgeConnectionSettings): () => void;
4
+ //# sourceMappingURL=management-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-proxy.d.ts","sourceRoot":"","sources":["../src/management-proxy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAKtD,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,2BAA2B,GACzC,MAAM,IAAI,CAUZ"}
@@ -0,0 +1,133 @@
1
+ const MAX_REQUEST_BYTES = 1_048_576;
2
+ const MAX_RESPONSE_BYTES = 10_485_760;
3
+ export function registerRemoteManagementProxy(ctx, prefix, current) {
4
+ const webServer = ctx.webServer ?? ctx.get('webServer');
5
+ if (webServer === undefined)
6
+ throw new Error('remote knowledge management requires the DSH webServer service');
7
+ return webServer.register({
8
+ kind: 'prefix',
9
+ path: prefix,
10
+ handler: async (req, res) => {
11
+ try {
12
+ await dispatch(prefix, current(), req, res);
13
+ }
14
+ catch (error) {
15
+ sendError(res, error);
16
+ }
17
+ },
18
+ });
19
+ }
20
+ async function dispatch(prefix, settings, req, res) {
21
+ assertManagementRequest(req);
22
+ if (settings.backend !== 'remote' || settings.remoteUrl === undefined || settings.remoteToken === undefined) {
23
+ throw httpError(409, '当前没有可用的远程知识库连接。');
24
+ }
25
+ const incoming = new URL(req.url ?? '/', 'http://knowledge.local');
26
+ const relative = incoming.pathname.slice(prefix.length).replace(/^\/+/, '');
27
+ const method = req.method ?? 'GET';
28
+ if (relative === 'service') {
29
+ if (method !== 'GET')
30
+ throw httpError(409, '请在中央 DSH 的知识库管理台中修改远程 API 状态。');
31
+ return sendJson(res, 200, {
32
+ publicApiEnabled: true,
33
+ publicApiPrefix: settings.remoteUrl,
34
+ remote: true,
35
+ });
36
+ }
37
+ if (!['GET', 'POST', 'PUT', 'PATCH', 'DELETE'].includes(method))
38
+ throw httpError(405, '不支持此远程管理请求方法。');
39
+ const base = settings.remoteUrl.endsWith('/') ? settings.remoteUrl : `${settings.remoteUrl}/`;
40
+ const target = new URL(`${relative}${incoming.search}`, base);
41
+ const body = method === 'GET' ? undefined : await readBody(req);
42
+ const controller = new AbortController();
43
+ const abort = () => { controller.abort(); };
44
+ req.once('aborted', abort);
45
+ try {
46
+ const response = await fetch(target, {
47
+ method,
48
+ headers: {
49
+ accept: 'application/json',
50
+ authorization: `Bearer ${settings.remoteToken}`,
51
+ ...body === undefined ? {} : { 'content-type': 'application/json' },
52
+ },
53
+ ...body === undefined ? {} : { body },
54
+ signal: controller.signal,
55
+ redirect: 'manual',
56
+ });
57
+ const declared = Number(response.headers.get('content-length') ?? 0);
58
+ if (Number.isFinite(declared) && declared > MAX_RESPONSE_BYTES)
59
+ throw httpError(502, '中央知识库响应过大。');
60
+ const payload = Buffer.from(await response.arrayBuffer());
61
+ if (payload.byteLength > MAX_RESPONSE_BYTES)
62
+ throw httpError(502, '中央知识库响应过大。');
63
+ res.writeHead(response.status, {
64
+ 'content-type': response.headers.get('content-type') ?? 'application/json; charset=utf-8',
65
+ 'content-length': payload.byteLength,
66
+ 'cache-control': 'no-store',
67
+ 'x-content-type-options': 'nosniff',
68
+ });
69
+ res.end(payload);
70
+ }
71
+ finally {
72
+ req.off('aborted', abort);
73
+ }
74
+ }
75
+ function assertManagementRequest(req) {
76
+ if (req.headers['x-dsh-knowledge-client'] !== 'management-web')
77
+ throw httpError(401, '缺少知识库管理客户端标识。');
78
+ const fetchSite = req.headers['sec-fetch-site'];
79
+ if (fetchSite !== undefined && fetchSite !== 'same-origin' && fetchSite !== 'none')
80
+ throw httpError(403, '已拒绝跨站知识库管理请求。');
81
+ const origin = req.headers.origin;
82
+ if (origin === undefined)
83
+ return;
84
+ let originHost;
85
+ try {
86
+ originHost = new URL(origin).host;
87
+ }
88
+ catch {
89
+ throw httpError(403, '知识库管理请求来源无效。');
90
+ }
91
+ const expectedHost = firstHeader(req.headers['x-forwarded-host']) ?? req.headers.host;
92
+ if (expectedHost === undefined || originHost.toLowerCase() !== expectedHost.toLowerCase())
93
+ throw httpError(403, '已拒绝跨域知识库管理请求。');
94
+ }
95
+ async function readBody(req) {
96
+ const declared = Number(req.headers['content-length'] ?? 0);
97
+ if (Number.isFinite(declared) && declared > MAX_REQUEST_BYTES)
98
+ throw httpError(413, '远程管理请求内容过大。');
99
+ const chunks = [];
100
+ let size = 0;
101
+ for await (const chunk of req) {
102
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
103
+ size += buffer.length;
104
+ if (size > MAX_REQUEST_BYTES)
105
+ throw httpError(413, '远程管理请求内容过大。');
106
+ chunks.push(buffer);
107
+ }
108
+ return size === 0 ? undefined : Buffer.concat(chunks).toString('utf8');
109
+ }
110
+ function firstHeader(value) {
111
+ const raw = Array.isArray(value) ? value[0] : value;
112
+ return raw?.split(',')[0]?.trim();
113
+ }
114
+ function sendError(res, error) {
115
+ const status = error !== null && typeof error === 'object' && typeof error.status === 'number'
116
+ ? error.status : 502;
117
+ const message = status >= 500 ? '无法连接中央知识库,请检查网络和服务状态。' : error instanceof Error ? error.message : '远程管理请求失败。';
118
+ sendJson(res, status, { error: message, code: `HTTP_${status}` });
119
+ }
120
+ function sendJson(res, status, body) {
121
+ const payload = Buffer.from(JSON.stringify(body));
122
+ res.writeHead(status, {
123
+ 'content-type': 'application/json; charset=utf-8',
124
+ 'content-length': payload.byteLength,
125
+ 'cache-control': 'no-store',
126
+ 'x-content-type-options': 'nosniff',
127
+ });
128
+ res.end(payload);
129
+ }
130
+ function httpError(status, message) {
131
+ return Object.assign(new Error(message), { status });
132
+ }
133
+ //# sourceMappingURL=management-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"management-proxy.js","sourceRoot":"","sources":["../src/management-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,18 @@
1
1
  {
2
2
  "name": "@lemoncat7/dsh-knowledge",
3
- "version": "0.6.0-alpha.8",
4
- "description": "Installable DeepSeek Harness knowledge base plugin",
3
+ "version": "0.6.0",
4
+ "description": "Local and remote knowledge bases for DeepSeek Harness, with scoped recall, controlled write-back, and a Web management console",
5
+ "keywords": [
6
+ "deepseek-harness",
7
+ "dsh",
8
+ "dsh-plugin",
9
+ "knowledge-base",
10
+ "memory",
11
+ "rag",
12
+ "sqlite",
13
+ "remote-knowledge",
14
+ "web-ui"
15
+ ],
5
16
  "license": "MIT",
6
17
  "type": "module",
7
18
  "main": "./lib/index.js",
package/web/app.js CHANGED
@@ -52,7 +52,7 @@ const state = {
52
52
  candidates: [],
53
53
  candidateStatus: 'pending',
54
54
  tokens: [],
55
- service: { publicApiEnabled: false, publicApiPrefix: '/knowledge-api/v1' },
55
+ service: { publicApiEnabled: false, publicApiPrefix: '/knowledge-api/v1', remote: false },
56
56
  loading: false,
57
57
  error: '',
58
58
  }
@@ -158,6 +158,7 @@ async function api(path, options = {}) {
158
158
  async function boot() {
159
159
  if (AUTH_MODE === 'same-origin') {
160
160
  state.token = ''
161
+ try { state.service = await api('service') } catch {}
161
162
  await navigate('overview')
162
163
  return
163
164
  }
@@ -238,7 +239,7 @@ async function navigate(view) {
238
239
  if (view === 'candidates') await loadCandidates()
239
240
  if (view === 'tokens') await loadTokens()
240
241
  } catch (error) {
241
- if (error.status === 401) return signOut()
242
+ if (error.status === 401 && AUTH_MODE === 'bearer') return signOut()
242
243
  state.error = friendlyError(error)
243
244
  } finally {
244
245
  state.loading = false
@@ -446,7 +447,7 @@ function renderSidebar() {
446
447
  const pending = state.stats?.candidates.pending
447
448
  const navItems = [
448
449
  ['overview', '概览', '◫'], ['bases', '知识库', '▦'], ['entries', '文档', '◇'], ['candidates', '审核', '✓'], ['tokens', '访问管理', '⌁'],
449
- ]
450
+ ].filter(([id]) => id !== 'tokens' || !state.service.remote)
450
451
  return element('aside', { class: 'sidebar', 'aria-label': '知识库导航' },
451
452
  element('div', { class: 'brand' },
452
453
  element('div', { class: 'brand-mark', 'aria-hidden': 'true' }, 'K'),
@@ -458,7 +459,7 @@ function renderSidebar() {
458
459
  }, element('span', { class: 'nav-icon', 'aria-hidden': 'true' }, icon), label,
459
460
  id === 'candidates' && pending ? element('span', { class: 'nav-count', 'aria-label': `${pending} 条待审核` }, pending) : null))),
460
461
  element('div', { class: 'sidebar-footer' },
461
- element('div', { class: 'connection' }, element('span', { class: 'status-dot', 'aria-hidden': 'true' }), '知识库已连接'),
462
+ element('div', { class: 'connection' }, element('span', { class: 'status-dot', 'aria-hidden': 'true' }), state.service.remote ? '中央知识库已连接' : '本地知识库已连接'),
462
463
  AUTH_MODE === 'bearer' ? actionButton('退出当前会话', signOut, 'ghost small') : null,
463
464
  ),
464
465
  )