dsh-plugin-om 0.0.21 → 0.0.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/README.md +70 -159
- package/dist/client/OmCompactionCard.d.ts +6 -11
- package/dist/client/OmCompactionCard.d.ts.map +1 -1
- package/dist/client/definition.d.ts +21 -20
- package/dist/client/definition.d.ts.map +1 -1
- package/dist/client/format.d.ts +2 -2
- package/dist/client/format.d.ts.map +1 -1
- package/dist/client/index.d.ts +5 -11
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/locales.d.ts +5 -4
- package/dist/client/locales.d.ts.map +1 -1
- package/dist/client.js +87 -28
- package/dist/client.js.map +1 -1
- package/dist/compress.d.ts +30 -48
- package/dist/compress.d.ts.map +1 -1
- package/dist/config.d.ts +13 -22
- package/dist/config.d.ts.map +1 -1
- package/dist/constants.d.ts +15 -10
- package/dist/constants.d.ts.map +1 -1
- package/dist/embedding.d.ts +19 -36
- package/dist/embedding.d.ts.map +1 -1
- package/dist/index.d.ts +1 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +584 -772
- package/dist/json-schema.d.ts +4 -7
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/log-index.d.ts +19 -12
- package/dist/log-index.d.ts.map +1 -1
- package/dist/logger.d.ts +3 -3
- package/dist/logger.d.ts.map +1 -1
- package/dist/model-download.d.ts +7 -11
- package/dist/model-download.d.ts.map +1 -1
- package/dist/rate-limit.d.ts +9 -14
- package/dist/rate-limit.d.ts.map +1 -1
- package/dist/recall-output.d.ts +37 -0
- package/dist/recall-output.d.ts.map +1 -0
- package/dist/recall.d.ts +7 -17
- package/dist/recall.d.ts.map +1 -1
- package/dist/semantic-recall.d.ts +10 -19
- package/dist/semantic-recall.d.ts.map +1 -1
- package/dist/summarize.d.ts +56 -49
- package/dist/summarize.d.ts.map +1 -1
- package/dist/types.d.ts +22 -35
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +9 -8
- package/dist/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,uCAAuC;AACvC,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,iDAAiD;AACjD,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,iDAAiD;AACjD,eAAO,MAAM,WAAW,iHAAuB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,oUACgD,CAAC;AAEzF,kDAAkD;AAClD,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6DAA0B,CAAC;AAEhE,uFAAuF;AACvF,wBAAgB,mBAAmB,CACjC,MAAM,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GACrD,OAAO,CAGT"}
|
package/dist/embedding.d.ts
CHANGED
|
@@ -1,64 +1,47 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 本地语义嵌入(recall-semantic
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* 插件启动不阻塞;加载结果单例缓存(resetEmbedder 供测试重置)。
|
|
12
|
-
* - 批处理:一次推理多条文本(mean pooling + L2 归一化),输出每条的向量。
|
|
13
|
-
* - 相似度:cosineSimilarity 纯函数(归一化向量点积即余弦)。
|
|
14
|
-
*
|
|
15
|
-
* 依赖说明:@huggingface/transformers 为运行时依赖(v4,dtype q8 加载
|
|
16
|
-
* model_quantized.onnx),node 侧使用 onnxruntime-node 原生绑定。
|
|
2
|
+
* 本地语义嵌入(recall-semantic 的向量引擎):Xenova/paraphrase-multilingual-MiniLM-L12-v2
|
|
3
|
+
* 量化 ONNX,懒加载 + 批量推理 + cosine 相似度,模型缺失时按需后台下载。
|
|
4
|
+
* 导出 BUNDLED_MODEL_DIR / EMBEDDING_MODEL_ID / resolveDshHome / sharedModelDir /
|
|
5
|
+
* ensureModelSmallFiles / getEmbedder / resetEmbedder / ensureModelReady /
|
|
6
|
+
* resetModelDownloads / cosineSimilarity 及 EmbedFn / ModelStatus 类型。
|
|
7
|
+
* 模型目录默认为跨版本共享目录($DSH_HOME/plugin-data/dsh-plugin-om/models/<id>):
|
|
8
|
+
* 随包小文件缺失时从打包目录复制补齐(离线可用),onnx 二进制按需下载
|
|
9
|
+
* (见 model-download.ts)。@huggingface/transformers 为运行时依赖(dtype q8 加载
|
|
10
|
+
* model_quantized.onnx,node 侧使用 onnxruntime-node 原生绑定)。
|
|
17
11
|
*/
|
|
18
12
|
import { EMBEDDING_MODEL_ID, type ModelFetch } from './model-download.ts';
|
|
19
13
|
/** 打包模型目录:<包根>/models/<model-id>/。 */
|
|
20
14
|
export declare const BUNDLED_MODEL_DIR: string;
|
|
21
15
|
export { EMBEDDING_MODEL_ID };
|
|
22
|
-
/** DSH 用户数据根目录:$DSH_HOME 优先(空白视为未设置),缺省 ~/.dsh
|
|
16
|
+
/** DSH 用户数据根目录:$DSH_HOME 优先(空白视为未设置),缺省 ~/.dsh。 */
|
|
23
17
|
export declare function resolveDshHome(): string;
|
|
24
|
-
/**
|
|
25
|
-
* 跨插件版本共享的默认模型目录:$DSH_HOME/plugin-data/dsh-plugin-om/models/<模型id>。
|
|
26
|
-
* 不随插件包(版本)变化,升级/重装插件后仍复用同一份已下载模型(onnx 不重复下载)。
|
|
27
|
-
*/
|
|
18
|
+
/** 跨插件版本共享的默认模型目录:$DSH_HOME/plugin-data/dsh-plugin-om/models/<模型id>。 */
|
|
28
19
|
export declare function sharedModelDir(): string;
|
|
29
20
|
/**
|
|
30
|
-
* 补齐模型目录的随包小文件(config/tokenizer 等):modelDir
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* 幂等、无网络。onnx 二进制不在此列(按需下载,见 model-download.ts)。
|
|
21
|
+
* 补齐模型目录的随包小文件(config/tokenizer 等):modelDir 与打包目录不同时,
|
|
22
|
+
* 把打包目录中缺失的小文件复制过去(已存在不覆盖;打包目录缺失则跳过)。
|
|
23
|
+
* 幂等、无网络;onnx 二进制不在此列。
|
|
34
24
|
*/
|
|
35
25
|
export declare function ensureModelSmallFiles(modelDir: string, bundledDir?: string): void;
|
|
36
26
|
/** 嵌入函数类型:批量文本 → 每条一个向量(Float32Array)。 */
|
|
37
27
|
export type EmbedFn = (texts: readonly string[]) => Promise<Float32Array[]>;
|
|
38
28
|
/**
|
|
39
|
-
* 获取(或加载)嵌入函数。首次调用动态 import transformers
|
|
29
|
+
* 获取(或加载)嵌入函数。首次调用动态 import transformers 并加载本地模型,
|
|
40
30
|
* 之后复用同一 pipeline。失败时抛出可读错误(调用方自行降级)。
|
|
41
31
|
*/
|
|
42
32
|
export declare function getEmbedder(modelDir?: string): Promise<EmbedFn>;
|
|
43
33
|
/** 重置模型单例(测试用:卸载已加载的 pipeline)。 */
|
|
44
34
|
export declare function resetEmbedder(): void;
|
|
45
|
-
/** 模型就绪状态:ready
|
|
35
|
+
/** 模型就绪状态:ready=本地已就绪;downloading=缺失,后台下载中/将自动重试。 */
|
|
46
36
|
export type ModelStatus = 'ready' | 'downloading';
|
|
47
37
|
/**
|
|
48
38
|
* 确保模型就绪(运行时按需下载编排)。
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* warn 记录日志并结束本次尝试,下次调用会重新触发下载(自动重试)。
|
|
52
|
-
* - warn 可选:下载失败时的日志回调(默认静默;apply 注入 ctx.logger.warn)。
|
|
53
|
-
* - log 可选:下载开始/结束日志回调(默认静默;apply 注入 console.log + ctx.logger.info 双通道)。
|
|
54
|
-
* - fetchImpl 可注入(测试传替身,默认全局 fetch)。
|
|
39
|
+
* 本地 onnx 已存在 → 'ready';缺失 → 启动后台下载(不阻塞、单飞,失败经 warn 记录,
|
|
40
|
+
* 下次调用自动重试)并返回 'downloading'。warn/log/fetchImpl 可注入(测试传替身)。
|
|
55
41
|
*/
|
|
56
42
|
export declare function ensureModelReady(modelDir?: string, warn?: (message: string) => void, fetchImpl?: ModelFetch, log?: (message: string) => void): Promise<ModelStatus>;
|
|
57
43
|
/** 重置下载状态(测试用:清空在途下载任务记录)。 */
|
|
58
44
|
export declare function resetModelDownloads(): void;
|
|
59
|
-
/**
|
|
60
|
-
* 两个向量的余弦相似度(向量已 L2 归一化时点积即余弦;这里兜底再归一化)。
|
|
61
|
-
* 任一向量为零向量返回 0。
|
|
62
|
-
*/
|
|
45
|
+
/** 两个向量的余弦相似度(向量已 L2 归一化时点积即余弦;这里兜底再归一化)。零向量返回 0。 */
|
|
63
46
|
export declare function cosineSimilarity(a: Float32Array | readonly number[], b: Float32Array | readonly number[]): number;
|
|
64
47
|
//# sourceMappingURL=embedding.d.ts.map
|
package/dist/embedding.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"embedding.d.ts","sourceRoot":"","sources":["../src/embedding.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAEL,kBAAkB,EAElB,KAAK,UAAU,EAGhB,MAAM,qBAAqB,CAAC;AAK7B,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,QAAsD,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,mDAAmD;AACnD,wBAAgB,cAAc,IAAI,MAAM,CAIvC;AAED,wEAAwE;AACxE,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,MAA0B,GACrC,IAAI,CASN;AAED,0CAA0C;AAC1C,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;AAQ5E;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,CAmClF;AAED,mCAAmC;AACnC,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,qDAAqD;AACrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAKlD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,GAAE,MAA0B,EACpC,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,EAC1C,SAAS,CAAC,EAAE,UAAU,EACtB,GAAG,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAe,GACxC,OAAO,CAAC,WAAW,CAAC,CAmBtB;AAED,8BAA8B;AAC9B,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,EACnC,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,GAClC,MAAM,CAeR"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,29 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* dsh-plugin-om — Observational Memory(OM)上下文压缩 + recall 检索插件。
|
|
3
|
-
* 不依赖特定 tool mode(native / code / both 均可运行)。
|
|
4
|
-
*
|
|
5
|
-
* 模块:
|
|
6
|
-
* - recall.ts recall({ start, end?, offset? }) 工具:按完整消息 index 回看原始会话
|
|
7
|
-
* - semantic-recall.ts recall-semantic({ query, top_k?, start?, end?, offset? }) 工具:
|
|
8
|
-
* 按语义在全部完整消息(含被压缩/遮蔽)中检索,返回最匹配的完整消息与匹配说明
|
|
9
|
-
* (本地 ONNX embedding,模型随插件打包,懒加载)
|
|
10
|
-
* - compress.ts 自动压缩(OM 观察/反思两级阈值):pre-step 阻塞串行执行——
|
|
11
|
-
* 反思(<history> 块 tokens 合计 ≥ reflectThresholdTokens 时摘要调用精简合并)、
|
|
12
|
-
* 观察(未压缩消息 tokens ≥ observeThresholdTokens 时摘要调用压缩为观察日志并追加)
|
|
13
|
-
*
|
|
14
|
-
* 约束:不引入自定义会话事件类型——压缩复用宿主已知的 compaction/* 生命周期事件
|
|
15
|
-
* (start/summary/end)与 checkpoint 标记,结果写入消息记录与轨迹。
|
|
16
|
-
* 仅主会话生效(subagent 不压缩、recall 拒绝)。
|
|
17
|
-
*/
|
|
18
1
|
import type { Context } from './types.ts';
|
|
19
2
|
/** 插件名(Loader 识别入口的稳定标识)。 */
|
|
20
3
|
export declare const name = "dsh-plugin-om";
|
|
21
4
|
/** 插件注入的服务依赖(tools/llm/tokenMeter/sessions),由宿主按序注入。 */
|
|
22
5
|
export declare const inject: string[];
|
|
23
|
-
/**
|
|
24
|
-
* 插件激活入口:注册 recall / recall-semantic 工具(由配置键 recallEnabled /
|
|
25
|
-
* semanticRecallEnabled 控制),并在 agent/pre-step 阻塞触发两级自动压缩
|
|
26
|
-
* (先反思后观察)。仅主会话生效。
|
|
27
|
-
*/
|
|
6
|
+
/** 插件激活入口:解析配置、注册工具、接线 pre-step 自动压缩。 */
|
|
28
7
|
export declare function apply(ctx: Context, config?: unknown): void;
|
|
29
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,6BAA6B;AAC7B,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAEpC,wDAAwD;AACxD,eAAO,MAAM,MAAM,UAA6C,CAAC;AAEjE,yCAAyC;AACzC,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAoD1D"}
|