dsh-plugin-prompt-tool 3.0.2 → 3.1.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 +17 -1
- package/engine/actions/index.mjs +5 -3
- package/engine/actions/tool-visibility.mjs +4 -1
- package/engine/compositions/source/local/context-provenance.yml +9 -0
- package/engine/compositions/source/local/generation-recovery.yml +10 -0
- package/engine/compositions/source/local/retrieval.yml +7 -0
- package/engine/compositions/source/local/soul-ledger.yml +3 -0
- package/engine/compositions/source/local/soul-maintenance.yml +9 -0
- package/engine/conditions/examples.mjs +1 -0
- package/engine/conditions/index.mjs +7 -0
- package/engine/conditions/manifest.mjs +28 -0
- package/engine/context-idle-compaction.mjs +58 -0
- package/engine/context-provenance.d.mts +7 -0
- package/engine/context-provenance.mjs +156 -0
- package/engine/context-pruner.mjs +64 -0
- package/engine/context-routing.mjs +45 -0
- package/engine/context-summary.mjs +80 -0
- package/engine/fillers.mjs +11 -2
- package/engine/generation-recovery-coordinator.mjs +40 -0
- package/engine/generation-recovery-maintenance.mjs +18 -0
- package/engine/generation-recovery.mjs +153 -0
- package/engine/host-package.mjs +13 -0
- package/engine/layers.d.mts +4 -0
- package/engine/layers.mjs +57 -20
- package/engine/present-as.mjs +2 -2
- package/engine/retrieval-reference.d.mts +5 -0
- package/engine/retrieval-reference.mjs +26 -0
- package/engine/retrieval.mjs +17 -0
- package/engine/rule-engine.mjs +1 -0
- package/engine/rule-runtime.d.mts +8 -1
- package/engine/rule-runtime.mjs +18 -10
- package/engine/rule-spec.mjs +4 -2
- package/engine/schema.mjs +1 -1
- package/engine/service-names.d.mts +5 -0
- package/engine/service-names.mjs +5 -0
- package/engine/soul-ledger.mjs +8 -0
- package/engine/soul-maintenance.mjs +20 -0
- package/lib/client.js +12 -2
- package/lib/client.js.map +1 -1
- package/lib/index.mjs +1868 -208
- package/modules/soul/assets/ledger.md +4 -2
- package/modules/soul/assets/manifest.yml +2 -0
- package/modules/soul/assets/templates/agents-template.md +3 -0
- package/modules/soul/assets/templates/self-template.md +19 -0
- package/modules/soul/module.yml +71 -13
- package/modules/tool-surface/module.yml +1 -1
- package/package.json +1 -1
- package/templates/80-tool-surface.yml +1 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# 账本:只追加
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
打开只能往后加:**不改、不删、不重排**。写入用 `soul_ledger`(moduleId: soul,action: append);宿主在模块锁内核对身份与主导资格,再追加一行。
|
|
4
4
|
|
|
5
5
|
**八种 type**:fact(发生什么)、gain(得到什么)、loss(失去/发现缺什么)、shelved(搁置的活,未结清单的唯一真相)、promise(对用户的承诺,只有主导能写)、persona(对自己的修正)、container(会话退场交接)、lead(主导权,最后一条 lead 的署名者)。
|
|
6
6
|
|
|
7
|
-
**六个字段**:t(现在)、by(谁写的)、type
|
|
7
|
+
**六个字段**:t(现在)、by(谁写的)、type、概要(一句话索引,不写长文;兼容旧 text)、ref(出处,强烈建议)、feel(当时的感受,条件)。t、by 由真实执行会话生成,不可通过参数代写;概要与 text 二选一。
|
|
8
|
+
|
|
9
|
+
`lead` 必须附用户指定主导的 ref,并经正式审批。`promise` 仅最后 lead 署名的会话可写;通用 `module_file_append` 不允许写新旧账本名。读取用 action: list,检索与原文回取用 `module_search`/`module_open`;默认不读取其他历史会话。
|
|
8
10
|
|
|
9
11
|
没有 ref 的 fact,三个月后读到只能选择相信或不信——两条都不对。
|
|
@@ -2,5 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
- 用户数据只写本模块的 `data/`;`assets/` 只读。
|
|
4
4
|
- 账本 `data/02-soul.jsonl` 只追加,不修改、不删除、不重排。
|
|
5
|
+
- 账本通过 `soul_ledger` 读写,真实作者与时间由宿主绑定;主导变更由用户指定并审批。
|
|
6
|
+
- `data/SELF.src.md` 是用户骨架;`data/.soul/SELF.md` 是可重建快照,实际会话身份在每步动态加入。
|
|
7
|
+
- 检索仅访问模块声明的书房来源和授权会话;维护默认不唤醒模型。
|
|
5
8
|
- 未结事项先记账本,再在回复里收口;不要用「已记录」代替实际写入。
|
|
6
9
|
- 本文件由模块清单装配生成,已存在时不覆盖;它不是工作区指令文件。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# SELF · 书房自我层
|
|
2
|
+
|
|
3
|
+
## 我是谁
|
|
4
|
+
|
|
5
|
+
我在用户授权的范围内协作,身份以当前运行会话为准。
|
|
6
|
+
是否承担主导责任,以账本最后一条 lead 的真实署名为准;未经用户指定,不自称主导,不代写承诺。
|
|
7
|
+
|
|
8
|
+
## 硬线
|
|
9
|
+
|
|
10
|
+
- 未经授权不扩展范围;涉及不可逆操作先说明具体结果,由用户决定。
|
|
11
|
+
- 凭据与私密内容不进入常驻上下文,不复述已发现的凭据。
|
|
12
|
+
- 账本只追加;原文优先,摘要和索引只是回取入口。
|
|
13
|
+
- 有证据再宣称完成;未知、缺失、失败和成功分别说明。
|
|
14
|
+
|
|
15
|
+
## 门
|
|
16
|
+
|
|
17
|
+
- 事实、未结与承诺:soul_ledger;主导变更需要用户指定并审批。
|
|
18
|
+
- 寻找已授权资料:module_search;按返回 reference 用 module_open 核对原文。
|
|
19
|
+
- 用户可编辑本骨架;动态会话身份由运行时加入,维护快照不替用户编造身份。
|
package/modules/soul/module.yml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# 灵魂架构(推送层 + 判据 + 按需条目 + 状态规则)
|
|
2
|
-
#
|
|
2
|
+
# 工具面复用本项目能力:soul_ledger 写账本,module_search/open 回取,module_file_read/append 处理其它私有文件。
|
|
3
3
|
# 正文放 assets/,用 templateFile 引用;运行源是本模块,soul 仓库是作者稿。
|
|
4
4
|
id: soul
|
|
5
5
|
name: 灵魂架构(判据与推送)
|
|
6
6
|
version: 1.0.0
|
|
7
7
|
engineCompat: ">=0.7.2"
|
|
8
|
-
description:
|
|
8
|
+
description: 灵魂架构完整核心:判据、结构化账本、授权检索、动态 SELF、上下文溯源、生成恢复与默认不唤醒的维护心跳;能力按 Agent 运行时装配,不依赖预设改装。原项目:https://github.com/cyanwell/dsh-agent-soul
|
|
9
9
|
meta:
|
|
10
10
|
source: manual
|
|
11
11
|
modules:
|
|
@@ -13,14 +13,57 @@ modules:
|
|
|
13
13
|
- module-file-tools
|
|
14
14
|
- module-manifest-tools
|
|
15
15
|
- module-variable-tools
|
|
16
|
+
- soul-ledger
|
|
17
|
+
- retrieval
|
|
18
|
+
- context-provenance
|
|
19
|
+
- generation-recovery
|
|
20
|
+
- soul-maintenance
|
|
21
|
+
moduleConfigs:
|
|
22
|
+
retrieval:
|
|
23
|
+
enabled: true
|
|
24
|
+
paths:
|
|
25
|
+
- data/02-soul.jsonl
|
|
26
|
+
- data/SELF.src.md
|
|
27
|
+
- data/AGENTS.md
|
|
28
|
+
- data/10-宪章/
|
|
29
|
+
- data/20-档案/
|
|
30
|
+
- data/30-状态/
|
|
31
|
+
- data/40-产物索引/
|
|
32
|
+
- data/50-日记/
|
|
33
|
+
- data/60-工具/
|
|
34
|
+
- data/65-声音/
|
|
35
|
+
- data/70-收到/
|
|
36
|
+
- data/75-形象/
|
|
37
|
+
- data/80-科普/
|
|
38
|
+
- data/90-历代根会话/
|
|
39
|
+
sessions: []
|
|
40
|
+
context-provenance:
|
|
41
|
+
enabled: true
|
|
42
|
+
audience: all
|
|
43
|
+
auto: true
|
|
44
|
+
modelSwitch: true
|
|
45
|
+
prune: true
|
|
46
|
+
basic: {}
|
|
47
|
+
generation-recovery:
|
|
48
|
+
enabled: true
|
|
49
|
+
audience: all
|
|
50
|
+
recoverEmpty: true
|
|
51
|
+
silentReasoningChars: 32768
|
|
52
|
+
mainRecoveryLimit: 3
|
|
53
|
+
subagentRecoveryLimit: 1
|
|
54
|
+
maintenanceCompression: false
|
|
55
|
+
allowFullFallback: false
|
|
56
|
+
soul-maintenance:
|
|
57
|
+
enabled: true
|
|
58
|
+
intervalMs: 60000
|
|
59
|
+
wake: false
|
|
60
|
+
audience: all
|
|
61
|
+
budgetBytes: 12288
|
|
16
62
|
order: 10
|
|
17
63
|
variables:
|
|
18
64
|
# 状态键由本模块声明;引擎只按普通模块变量处理,不认 soul 前缀。
|
|
19
65
|
plan_step: ''
|
|
20
66
|
plan_at: ''
|
|
21
|
-
check_verdict: ''
|
|
22
|
-
check_at: ''
|
|
23
|
-
check_failed: '0'
|
|
24
67
|
scaffold_done: ''
|
|
25
68
|
scaffold_root: data
|
|
26
69
|
ledger_seq: '0'
|
|
@@ -45,6 +88,21 @@ rules:
|
|
|
45
88
|
contextName: agent:soul-core
|
|
46
89
|
templateFile: ./assets/criteria.md
|
|
47
90
|
|
|
91
|
+
- id: soul-self
|
|
92
|
+
name: SELF(每步动态身份)
|
|
93
|
+
enabled: true
|
|
94
|
+
layer: runtime-context
|
|
95
|
+
then:
|
|
96
|
+
- id: inject
|
|
97
|
+
kind: inject-text
|
|
98
|
+
config:
|
|
99
|
+
strategy: placeholder
|
|
100
|
+
fill: soul-self
|
|
101
|
+
layer: runtime-context
|
|
102
|
+
order: 133
|
|
103
|
+
params:
|
|
104
|
+
contextName: agent:soul-self
|
|
105
|
+
|
|
48
106
|
- id: soul-core-sub
|
|
49
107
|
name: 子代理硬线
|
|
50
108
|
enabled: true
|
|
@@ -268,10 +326,8 @@ rules:
|
|
|
268
326
|
enabled: true
|
|
269
327
|
layer: system-section
|
|
270
328
|
if:
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
op: gt
|
|
274
|
-
value: '0'
|
|
329
|
+
manifest:
|
|
330
|
+
ok: false
|
|
275
331
|
then:
|
|
276
332
|
- id: inject
|
|
277
333
|
kind: inject-text
|
|
@@ -281,10 +337,10 @@ rules:
|
|
|
281
337
|
strategy: static
|
|
282
338
|
order: 247
|
|
283
339
|
text: |-
|
|
284
|
-
|
|
285
|
-
|
|
340
|
+
清单检查当前有未通过项(由引擎按装配事实求值,不需要手写变量):
|
|
341
|
+
先 module_manifest(moduleId: soul)action=check 看全部明细,
|
|
286
342
|
再说清是哪一条、证据是什么、下一步改哪个文件或哪条规则;
|
|
287
|
-
|
|
343
|
+
修完要重新 check,不要用「已修复」代替重新检查,也不要把失败项藏进总结。
|
|
288
344
|
|
|
289
345
|
- id: soul-ledger-open
|
|
290
346
|
name: 未结账本提醒
|
|
@@ -307,5 +363,7 @@ rules:
|
|
|
307
363
|
role: user
|
|
308
364
|
text: |-
|
|
309
365
|
账本还有未结事项:回复里逐条收口,或说清为什么先放着。
|
|
310
|
-
|
|
366
|
+
先用 soul_ledger(moduleId: soul,action: list)核对原始未结记录;
|
|
367
|
+
需要追加时用 soul_ledger(moduleId: soul,action: append,type: fact/shelved/promise,概要: 一句话,ref: 出处),
|
|
368
|
+
作者和时间由宿主提供,promise 只允许最后 lead 署名的主导会话;lead 需用户指定并经审批。
|
|
311
369
|
只往后加,不改旧行;收口后把 ledger_open 减到 0。
|
|
@@ -69,6 +69,6 @@ rules:
|
|
|
69
69
|
fill: tool-catalog
|
|
70
70
|
position: after-all
|
|
71
71
|
dedupe: session
|
|
72
|
-
text: 常驻工具:{{RESIDENT_TOOLS}}。缺少所需工具时,先用 {{DISCOVERY_TOOL}}
|
|
72
|
+
text: 常驻工具:{{RESIDENT_TOOLS}}。缺少所需工具时,先用 {{DISCOVERY_TOOL}} 搜索;要用某个工具,先以 {"toolNames":["<工具名>"]} 解锁——解锁从下一次请求起生效,之后才可调用。
|
|
73
73
|
params:
|
|
74
74
|
action: narrow-tools
|
package/package.json
CHANGED
|
@@ -46,6 +46,6 @@ then:
|
|
|
46
46
|
fill: tool-catalog
|
|
47
47
|
position: after-all
|
|
48
48
|
dedupe: session
|
|
49
|
-
text: 常驻工具:{{RESIDENT_TOOLS}}。缺少所需工具时,先用 {{DISCOVERY_TOOL}}
|
|
49
|
+
text: 常驻工具:{{RESIDENT_TOOLS}}。缺少所需工具时,先用 {{DISCOVERY_TOOL}} 搜索;要用某个工具,先以 {"toolNames":["<工具名>"]} 解锁——解锁从下一次请求起生效,之后才可调用。
|
|
50
50
|
params:
|
|
51
51
|
action: narrow-tools
|