stratagate-dsh 0.3.13 → 0.3.14
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 +665 -660
- package/LICENSE +21 -21
- package/dist/client.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/plugin.js +7 -3
- package/dist/plugin.js.map +1 -1
- package/docs/DSH.md +268 -268
- package/docs/DSH.zh-CN.md +245 -245
- package/docs/benchmarks/issue-128-windows-review.json +104 -104
- package/docs/benchmarks/issue-128-windows.json +103 -103
- package/docs/dreaming-agent.md +45 -45
- package/docs/issue-128-lease-cache-review-followup.md +55 -55
- package/docs/issue-128-review-followup.md +58 -58
- package/docs/npm-release.md +52 -0
- package/docs/validation/issue119.md +41 -41
- package/package.json +246 -246
- package/screenshots.json +8 -8
- package/docs/validation/first-login-graph-warning-20261013/render-comparison.json +0 -58
- package/docs/validation/first-login-graph-warning-20261013/tests.after.json +0 -1
- package/docs/validation/issue119-after.json +0 -30
- package/docs/validation/issue119-before.json +0 -94
|
@@ -1,104 +1,104 @@
|
|
|
1
|
-
{
|
|
2
|
-
"baselineSha": "e954eaf2f2cbbef4bb6226a2ebb35191424868c2",
|
|
3
|
-
"sourceSha": "415096f19d09d9bcc29c44634c7ae78fd6c2f52d",
|
|
4
|
-
"capturedAt": "2026-10-10T11:22:46.467Z",
|
|
5
|
-
"scope": "Synthetic DSH runtime on Windows; not the user database or full DSH UI process.",
|
|
6
|
-
"scenarios": [
|
|
7
|
-
{
|
|
8
|
-
"name": "small",
|
|
9
|
-
"namespaces": 100,
|
|
10
|
-
"rawUserCharsPerNamespace": 8192,
|
|
11
|
-
"databaseBytes": 8941568,
|
|
12
|
-
"rounds": 3,
|
|
13
|
-
"intervalMs": 3000,
|
|
14
|
-
"measurements": {
|
|
15
|
-
"before": {
|
|
16
|
-
"pollsMs": [
|
|
17
|
-
2035.9983000000002,
|
|
18
|
-
2204.014,
|
|
19
|
-
2077.0357000000004
|
|
20
|
-
],
|
|
21
|
-
"meanPollMs": 2105.682666666667,
|
|
22
|
-
"fullMemoryLoads": 300,
|
|
23
|
-
"cpuMs": 3015,
|
|
24
|
-
"wallMs": 15335.1882,
|
|
25
|
-
"processCpuPercent": 19.660665136147465,
|
|
26
|
-
"rssBefore": 56864768,
|
|
27
|
-
"rssAfter": 73207808,
|
|
28
|
-
"peakRss": 74285056,
|
|
29
|
-
"node": "v24.19.0",
|
|
30
|
-
"platform": "win32",
|
|
31
|
-
"arch": "x64",
|
|
32
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
33
|
-
},
|
|
34
|
-
"after": {
|
|
35
|
-
"pollsMs": [
|
|
36
|
-
32.8809,
|
|
37
|
-
5.330300000000079,
|
|
38
|
-
2.298700000000281
|
|
39
|
-
],
|
|
40
|
-
"meanPollMs": 13.503300000000118,
|
|
41
|
-
"fullMemoryLoads": 0,
|
|
42
|
-
"cpuMs": 31,
|
|
43
|
-
"wallMs": 9071.7334,
|
|
44
|
-
"processCpuPercent": 0.3417208005693818,
|
|
45
|
-
"rssBefore": 56606720,
|
|
46
|
-
"rssAfter": 54337536,
|
|
47
|
-
"peakRss": 57950208,
|
|
48
|
-
"node": "v24.19.0",
|
|
49
|
-
"platform": "win32",
|
|
50
|
-
"arch": "x64",
|
|
51
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"name": "large",
|
|
57
|
-
"namespaces": 100,
|
|
58
|
-
"rawUserCharsPerNamespace": 1572864,
|
|
59
|
-
"databaseBytes": 1519824896,
|
|
60
|
-
"rounds": 3,
|
|
61
|
-
"intervalMs": 3000,
|
|
62
|
-
"measurements": {
|
|
63
|
-
"before": {
|
|
64
|
-
"pollsMs": [
|
|
65
|
-
12951.9511,
|
|
66
|
-
8731.1299,
|
|
67
|
-
9476.834900000005
|
|
68
|
-
],
|
|
69
|
-
"meanPollMs": 10386.638633333334,
|
|
70
|
-
"fullMemoryLoads": 300,
|
|
71
|
-
"cpuMs": 24844,
|
|
72
|
-
"wallMs": 40200.4599,
|
|
73
|
-
"processCpuPercent": 61.80028801113292,
|
|
74
|
-
"rssBefore": 56283136,
|
|
75
|
-
"rssAfter": 157401088,
|
|
76
|
-
"peakRss": 332111872,
|
|
77
|
-
"node": "v24.19.0",
|
|
78
|
-
"platform": "win32",
|
|
79
|
-
"arch": "x64",
|
|
80
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
81
|
-
},
|
|
82
|
-
"after": {
|
|
83
|
-
"pollsMs": [
|
|
84
|
-
29.53,
|
|
85
|
-
3.372899999999845,
|
|
86
|
-
2.309900000000198
|
|
87
|
-
],
|
|
88
|
-
"meanPollMs": 11.737600000000015,
|
|
89
|
-
"fullMemoryLoads": 0,
|
|
90
|
-
"cpuMs": 109,
|
|
91
|
-
"wallMs": 9061.4375,
|
|
92
|
-
"processCpuPercent": 1.2028996503038287,
|
|
93
|
-
"rssBefore": 52092928,
|
|
94
|
-
"rssAfter": 51056640,
|
|
95
|
-
"peakRss": 54579200,
|
|
96
|
-
"node": "v24.19.0",
|
|
97
|
-
"platform": "win32",
|
|
98
|
-
"arch": "x64",
|
|
99
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"baselineSha": "e954eaf2f2cbbef4bb6226a2ebb35191424868c2",
|
|
3
|
+
"sourceSha": "415096f19d09d9bcc29c44634c7ae78fd6c2f52d",
|
|
4
|
+
"capturedAt": "2026-10-10T11:22:46.467Z",
|
|
5
|
+
"scope": "Synthetic DSH runtime on Windows; not the user database or full DSH UI process.",
|
|
6
|
+
"scenarios": [
|
|
7
|
+
{
|
|
8
|
+
"name": "small",
|
|
9
|
+
"namespaces": 100,
|
|
10
|
+
"rawUserCharsPerNamespace": 8192,
|
|
11
|
+
"databaseBytes": 8941568,
|
|
12
|
+
"rounds": 3,
|
|
13
|
+
"intervalMs": 3000,
|
|
14
|
+
"measurements": {
|
|
15
|
+
"before": {
|
|
16
|
+
"pollsMs": [
|
|
17
|
+
2035.9983000000002,
|
|
18
|
+
2204.014,
|
|
19
|
+
2077.0357000000004
|
|
20
|
+
],
|
|
21
|
+
"meanPollMs": 2105.682666666667,
|
|
22
|
+
"fullMemoryLoads": 300,
|
|
23
|
+
"cpuMs": 3015,
|
|
24
|
+
"wallMs": 15335.1882,
|
|
25
|
+
"processCpuPercent": 19.660665136147465,
|
|
26
|
+
"rssBefore": 56864768,
|
|
27
|
+
"rssAfter": 73207808,
|
|
28
|
+
"peakRss": 74285056,
|
|
29
|
+
"node": "v24.19.0",
|
|
30
|
+
"platform": "win32",
|
|
31
|
+
"arch": "x64",
|
|
32
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
33
|
+
},
|
|
34
|
+
"after": {
|
|
35
|
+
"pollsMs": [
|
|
36
|
+
32.8809,
|
|
37
|
+
5.330300000000079,
|
|
38
|
+
2.298700000000281
|
|
39
|
+
],
|
|
40
|
+
"meanPollMs": 13.503300000000118,
|
|
41
|
+
"fullMemoryLoads": 0,
|
|
42
|
+
"cpuMs": 31,
|
|
43
|
+
"wallMs": 9071.7334,
|
|
44
|
+
"processCpuPercent": 0.3417208005693818,
|
|
45
|
+
"rssBefore": 56606720,
|
|
46
|
+
"rssAfter": 54337536,
|
|
47
|
+
"peakRss": 57950208,
|
|
48
|
+
"node": "v24.19.0",
|
|
49
|
+
"platform": "win32",
|
|
50
|
+
"arch": "x64",
|
|
51
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "large",
|
|
57
|
+
"namespaces": 100,
|
|
58
|
+
"rawUserCharsPerNamespace": 1572864,
|
|
59
|
+
"databaseBytes": 1519824896,
|
|
60
|
+
"rounds": 3,
|
|
61
|
+
"intervalMs": 3000,
|
|
62
|
+
"measurements": {
|
|
63
|
+
"before": {
|
|
64
|
+
"pollsMs": [
|
|
65
|
+
12951.9511,
|
|
66
|
+
8731.1299,
|
|
67
|
+
9476.834900000005
|
|
68
|
+
],
|
|
69
|
+
"meanPollMs": 10386.638633333334,
|
|
70
|
+
"fullMemoryLoads": 300,
|
|
71
|
+
"cpuMs": 24844,
|
|
72
|
+
"wallMs": 40200.4599,
|
|
73
|
+
"processCpuPercent": 61.80028801113292,
|
|
74
|
+
"rssBefore": 56283136,
|
|
75
|
+
"rssAfter": 157401088,
|
|
76
|
+
"peakRss": 332111872,
|
|
77
|
+
"node": "v24.19.0",
|
|
78
|
+
"platform": "win32",
|
|
79
|
+
"arch": "x64",
|
|
80
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
81
|
+
},
|
|
82
|
+
"after": {
|
|
83
|
+
"pollsMs": [
|
|
84
|
+
29.53,
|
|
85
|
+
3.372899999999845,
|
|
86
|
+
2.309900000000198
|
|
87
|
+
],
|
|
88
|
+
"meanPollMs": 11.737600000000015,
|
|
89
|
+
"fullMemoryLoads": 0,
|
|
90
|
+
"cpuMs": 109,
|
|
91
|
+
"wallMs": 9061.4375,
|
|
92
|
+
"processCpuPercent": 1.2028996503038287,
|
|
93
|
+
"rssBefore": 52092928,
|
|
94
|
+
"rssAfter": 51056640,
|
|
95
|
+
"peakRss": 54579200,
|
|
96
|
+
"node": "v24.19.0",
|
|
97
|
+
"platform": "win32",
|
|
98
|
+
"arch": "x64",
|
|
99
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
{
|
|
2
|
-
"baselineSha": "e954eaf2f2cbbef4bb6226a2ebb35191424868c2",
|
|
3
|
-
"capturedAt": "2026-10-09T14:26:54.222Z",
|
|
4
|
-
"scope": "Synthetic DSH runtime on Windows; not the user database or full DSH UI process.",
|
|
5
|
-
"scenarios": [
|
|
6
|
-
{
|
|
7
|
-
"name": "small",
|
|
8
|
-
"namespaces": 100,
|
|
9
|
-
"rawUserCharsPerNamespace": 8192,
|
|
10
|
-
"databaseBytes": 8949760,
|
|
11
|
-
"rounds": 3,
|
|
12
|
-
"intervalMs": 3000,
|
|
13
|
-
"measurements": {
|
|
14
|
-
"before": {
|
|
15
|
-
"pollsMs": [
|
|
16
|
-
1559.2007,
|
|
17
|
-
2646.6144999999997,
|
|
18
|
-
2287.6314999999995
|
|
19
|
-
],
|
|
20
|
-
"meanPollMs": 2164.482233333333,
|
|
21
|
-
"fullMemoryLoads": 300,
|
|
22
|
-
"cpuMs": 3547,
|
|
23
|
-
"wallMs": 15505.109400000001,
|
|
24
|
-
"processCpuPercent": 22.876330043824133,
|
|
25
|
-
"rssBefore": 56803328,
|
|
26
|
-
"rssAfter": 73904128,
|
|
27
|
-
"peakRss": 74313728,
|
|
28
|
-
"node": "v24.19.0",
|
|
29
|
-
"platform": "win32",
|
|
30
|
-
"arch": "x64",
|
|
31
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
32
|
-
},
|
|
33
|
-
"after": {
|
|
34
|
-
"pollsMs": [
|
|
35
|
-
17.57029999999999,
|
|
36
|
-
3.0478000000002794,
|
|
37
|
-
4.158300000000054
|
|
38
|
-
],
|
|
39
|
-
"meanPollMs": 8.258800000000107,
|
|
40
|
-
"fullMemoryLoads": 0,
|
|
41
|
-
"cpuMs": 16,
|
|
42
|
-
"wallMs": 9039.4974,
|
|
43
|
-
"processCpuPercent": 0.17700099122767599,
|
|
44
|
-
"rssBefore": 56590336,
|
|
45
|
-
"rssAfter": 54194176,
|
|
46
|
-
"peakRss": 57184256,
|
|
47
|
-
"node": "v24.19.0",
|
|
48
|
-
"platform": "win32",
|
|
49
|
-
"arch": "x64",
|
|
50
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "large",
|
|
56
|
-
"namespaces": 100,
|
|
57
|
-
"rawUserCharsPerNamespace": 1572864,
|
|
58
|
-
"databaseBytes": 1519833088,
|
|
59
|
-
"rounds": 3,
|
|
60
|
-
"intervalMs": 3000,
|
|
61
|
-
"measurements": {
|
|
62
|
-
"before": {
|
|
63
|
-
"pollsMs": [
|
|
64
|
-
13949.606099999999,
|
|
65
|
-
12921.8561,
|
|
66
|
-
12388.245900000002
|
|
67
|
-
],
|
|
68
|
-
"meanPollMs": 13086.569366666668,
|
|
69
|
-
"fullMemoryLoads": 300,
|
|
70
|
-
"cpuMs": 32203,
|
|
71
|
-
"wallMs": 48289.1154,
|
|
72
|
-
"processCpuPercent": 66.687906235698,
|
|
73
|
-
"rssBefore": 56573952,
|
|
74
|
-
"rssAfter": 180330496,
|
|
75
|
-
"peakRss": 284123136,
|
|
76
|
-
"node": "v24.19.0",
|
|
77
|
-
"platform": "win32",
|
|
78
|
-
"arch": "x64",
|
|
79
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
80
|
-
},
|
|
81
|
-
"after": {
|
|
82
|
-
"pollsMs": [
|
|
83
|
-
40.84779999999998,
|
|
84
|
-
3.018500000000131,
|
|
85
|
-
3.4000999999998385
|
|
86
|
-
],
|
|
87
|
-
"meanPollMs": 15.75546666666665,
|
|
88
|
-
"fullMemoryLoads": 0,
|
|
89
|
-
"cpuMs": 63,
|
|
90
|
-
"wallMs": 9055.1278,
|
|
91
|
-
"processCpuPercent": 0.6957383859342107,
|
|
92
|
-
"rssBefore": 56807424,
|
|
93
|
-
"rssAfter": 54194176,
|
|
94
|
-
"peakRss": 57184256,
|
|
95
|
-
"node": "v24.19.0",
|
|
96
|
-
"platform": "win32",
|
|
97
|
-
"arch": "x64",
|
|
98
|
-
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
]
|
|
103
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"baselineSha": "e954eaf2f2cbbef4bb6226a2ebb35191424868c2",
|
|
3
|
+
"capturedAt": "2026-10-09T14:26:54.222Z",
|
|
4
|
+
"scope": "Synthetic DSH runtime on Windows; not the user database or full DSH UI process.",
|
|
5
|
+
"scenarios": [
|
|
6
|
+
{
|
|
7
|
+
"name": "small",
|
|
8
|
+
"namespaces": 100,
|
|
9
|
+
"rawUserCharsPerNamespace": 8192,
|
|
10
|
+
"databaseBytes": 8949760,
|
|
11
|
+
"rounds": 3,
|
|
12
|
+
"intervalMs": 3000,
|
|
13
|
+
"measurements": {
|
|
14
|
+
"before": {
|
|
15
|
+
"pollsMs": [
|
|
16
|
+
1559.2007,
|
|
17
|
+
2646.6144999999997,
|
|
18
|
+
2287.6314999999995
|
|
19
|
+
],
|
|
20
|
+
"meanPollMs": 2164.482233333333,
|
|
21
|
+
"fullMemoryLoads": 300,
|
|
22
|
+
"cpuMs": 3547,
|
|
23
|
+
"wallMs": 15505.109400000001,
|
|
24
|
+
"processCpuPercent": 22.876330043824133,
|
|
25
|
+
"rssBefore": 56803328,
|
|
26
|
+
"rssAfter": 73904128,
|
|
27
|
+
"peakRss": 74313728,
|
|
28
|
+
"node": "v24.19.0",
|
|
29
|
+
"platform": "win32",
|
|
30
|
+
"arch": "x64",
|
|
31
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
32
|
+
},
|
|
33
|
+
"after": {
|
|
34
|
+
"pollsMs": [
|
|
35
|
+
17.57029999999999,
|
|
36
|
+
3.0478000000002794,
|
|
37
|
+
4.158300000000054
|
|
38
|
+
],
|
|
39
|
+
"meanPollMs": 8.258800000000107,
|
|
40
|
+
"fullMemoryLoads": 0,
|
|
41
|
+
"cpuMs": 16,
|
|
42
|
+
"wallMs": 9039.4974,
|
|
43
|
+
"processCpuPercent": 0.17700099122767599,
|
|
44
|
+
"rssBefore": 56590336,
|
|
45
|
+
"rssAfter": 54194176,
|
|
46
|
+
"peakRss": 57184256,
|
|
47
|
+
"node": "v24.19.0",
|
|
48
|
+
"platform": "win32",
|
|
49
|
+
"arch": "x64",
|
|
50
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "large",
|
|
56
|
+
"namespaces": 100,
|
|
57
|
+
"rawUserCharsPerNamespace": 1572864,
|
|
58
|
+
"databaseBytes": 1519833088,
|
|
59
|
+
"rounds": 3,
|
|
60
|
+
"intervalMs": 3000,
|
|
61
|
+
"measurements": {
|
|
62
|
+
"before": {
|
|
63
|
+
"pollsMs": [
|
|
64
|
+
13949.606099999999,
|
|
65
|
+
12921.8561,
|
|
66
|
+
12388.245900000002
|
|
67
|
+
],
|
|
68
|
+
"meanPollMs": 13086.569366666668,
|
|
69
|
+
"fullMemoryLoads": 300,
|
|
70
|
+
"cpuMs": 32203,
|
|
71
|
+
"wallMs": 48289.1154,
|
|
72
|
+
"processCpuPercent": 66.687906235698,
|
|
73
|
+
"rssBefore": 56573952,
|
|
74
|
+
"rssAfter": 180330496,
|
|
75
|
+
"peakRss": 284123136,
|
|
76
|
+
"node": "v24.19.0",
|
|
77
|
+
"platform": "win32",
|
|
78
|
+
"arch": "x64",
|
|
79
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
80
|
+
},
|
|
81
|
+
"after": {
|
|
82
|
+
"pollsMs": [
|
|
83
|
+
40.84779999999998,
|
|
84
|
+
3.018500000000131,
|
|
85
|
+
3.4000999999998385
|
|
86
|
+
],
|
|
87
|
+
"meanPollMs": 15.75546666666665,
|
|
88
|
+
"fullMemoryLoads": 0,
|
|
89
|
+
"cpuMs": 63,
|
|
90
|
+
"wallMs": 9055.1278,
|
|
91
|
+
"processCpuPercent": 0.6957383859342107,
|
|
92
|
+
"rssBefore": 56807424,
|
|
93
|
+
"rssAfter": 54194176,
|
|
94
|
+
"peakRss": 57184256,
|
|
95
|
+
"node": "v24.19.0",
|
|
96
|
+
"platform": "win32",
|
|
97
|
+
"arch": "x64",
|
|
98
|
+
"cpuMeasurementNote": "A zero CPU delta means below Windows counter resolution in this sample, not zero actual CPU work."
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
package/docs/dreaming-agent.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# 目录 Dreaming Agent
|
|
2
|
-
|
|
3
|
-
第一版 scope 为 `directory`,持久化 `policyVersion` 用于后续扩展与兼容检查。任务调度、认领/租约、证据读取、目录写入与 DSH 会话宿主分开:Core 管理原子提交与断点,Runtime 协调运行,DSH 提供真实 Agent 和会话;UI 只请求状态与控制动作。
|
|
4
|
-
|
|
5
|
-
新会话头部传入目录所属工作区的 `cwd`,优先从匹配 namespace 的活动普通会话取值,再从持久化会话头部恢复;不读取历史正文。项目/会话作用域找不到真实路径时暂停并提示先打开对应普通会话,不以插件目录冒充工作区。全局/自定义导入空间无唯一工作区时使用宿主运行目录作为查看地址,工具权限仍按 run scope 隔离。打开会话前完成宿主 flush。旧版本生成的无 `cwd` 会话头不可改写;打开或继续时提示终止旧轮并重新开始,保留已提交的目录修改与旧日志。
|
|
6
|
-
|
|
7
|
-
## 工具与权限
|
|
8
|
-
|
|
9
|
-
| 工具 | 行为 |
|
|
10
|
-
| --- | --- |
|
|
11
|
-
| `memory_list_topics` / `memory_expand_topic` | 运行空间内目录导航与分页总览,独立 scoped 实现 |
|
|
12
|
-
| `dreaming_search` | 冻结有效 Event、其引用的原始消息及有效图谱检索 |
|
|
13
|
-
| `dreaming_read` | 完整 Event、来源 Block、图谱节点的只读分页 |
|
|
14
|
-
| `dreaming_directory` | 当前章节改名、小节改名/合并、当前批 Event 移动、带来源的总览/经验替换或追加 |
|
|
15
|
-
| `dreaming_finish` | 确认当前批已检查;推进下一批,最终结束 |
|
|
16
|
-
|
|
17
|
-
Agent 只注册上述工具,拒绝继承的 shell、网络、文件和记忆写入工具。普通聊天工具的证据评估批次与使用反馈不复用。`dreaming_search` 使用底层检索;`dreaming_read` 使用 `renderBlock`,不调用会提升层级/改变衰减锚点的 `expandBlock`。Dreaming 系统提示词注入持久用户画像,仅作为相关偏好和长期要求的参考,不能替代目录来源证据;会话不重新摄入记忆,也不继承普通聊天的自动检索上下文。
|
|
18
|
-
|
|
19
|
-
## 持久化与并发
|
|
20
|
-
|
|
21
|
-
任务保存在既有 Topic 状态中,无新增数据库/schema 迁移。任务冻结来源版本,按章节拆成有限上下文页面。提交在 Core 现有事务内检查 run ID、owner、epoch、租约、章节版本、来源有效性和已读证据。大 Event 只有连续分页读完才进入证据集合;检查覆盖断点不依赖最近工具日志的长度。
|
|
22
|
-
|
|
23
|
-
Event 分页按递归稳定字段顺序序列化,页结果和持久断点绑定完整内容摘要。重启不依赖对象属性插入顺序;旧格式断点或内容摘要改变时清除旧覆盖并从零读取。当前批所有 Event 的完整证据覆盖满足后才能完成,未读完的大 Event 不会被报告为已检查。
|
|
24
|
-
|
|
25
|
-
暂停等当前步骤到达安全边界,继续时换 epoch;终止立即取消当前请求并提升 epoch,使迟到结果无法写入。已完成写入保留。运行定期续租;崩溃后过期认领可人工继续。并发投影改变来源或章节会拒绝写入,由用户终止后重新规划。
|
|
26
|
-
|
|
27
|
-
小节身份不依赖当前标题;合并保留旧身份的别名,后续普通投影保留身份、别名和有效经验。空改动和回到近期旧状态的编辑被拒绝,不能用反复改名制造进展。
|
|
28
|
-
|
|
29
|
-
## 增长、结束与消耗
|
|
30
|
-
|
|
31
|
-
批次最多 24 个 Event,并按预计上下文容量进一步拆小;这是页面大小,不是整轮调用限额。目录页的进度按这些批次计算(例如 `1/14` 批约为 7%),不是简单按章节数计算;一个较大的章节可能拆成多个批次。每个工作步骤和人工继续时使用 DSH 的 surface replacement 重建模型工作上下文,只携带一个当前批次、必要的现有总览、用户方向、最近工具结果和错误反馈;原始会话日志完整保留。目录 sections/overview 页绑定内容摘要并持久记录覆盖,任务明确给出已读范围与下一未读位置,压缩后不重新开始浏览。失败写入提案单独保留,不受最近 12 条工具日志的窗口影响;过大提案只提供错误与分批修正提示,完整内容仍在会话记录。用户方向本身过长时暂停并提示精简,避免静默丢失指令。
|
|
32
|
-
|
|
33
|
-
`dreaming_finish` 表示批次已全部检查,允许无需修改;所有冻结批次完成后进入 completed。重复无效工具调用、连续无工具进展的模型步骤或失败时暂停。没有累计 token 限额,界面和控制接口不提供上限设置。内部计量保留实际模型输入结构的 token 估算和输出估算/供应商输出计数,仅用于诊断;目录页和模型任务上下文不展示消耗数字,不声称价格或账单精度。旧任务继续时在原子事务中清除历史 tokenLimit,保留任务、批次进度、证据断点与会话身份。
|
|
34
|
-
|
|
35
|
-
无进展计数在新增完整 Event 证据、推进连续有效来源页、读取经校验的目录新项或成功修改目录时重置。搜索关键词变化、空结果与重读已覆盖页均不重置;每批允许有限探索。空响应(含 `(empty)`)或普通文字回复结束但任务未完成时,在同一 Agent Loop 内提示继续;连续三次没有工具行动才暂停,不按整轮累计。复用持久化的 idleModelSteps,工具检查点或完成批次后重置;不使用后台定时重试。用户暂停、终止和真实请求错误优先于自动继续。切批消息明确上一批已完成、当前批待处理,完成全部批次后只生成总结,不再催促工具调用。
|
|
36
|
-
|
|
37
|
-
原生 Agent 在请求最终组装后的 `llm/stream` 边界计量实际消息(含临时任务和系统提示)及 JSON 工具定义,自动继续也走相同入口。单次响应最多 32768 Token;若一轮回复尚未产生任何原生工具调用,普通文本超过 8192 Token 会中断并暂停,避免模型重复描述调用计划而持续消耗。reasoning 不计入这条普通文本边界,但 reasoning、普通说明和真正的工具参数均计入单次响应消耗及 32768 Token 总上限。模型失败时拦截宿主自动重试并暂停。没有整轮时长或累计调用次数硬限额;完成后的总结请求也计量,但不重新激活任务或租约。
|
|
38
|
-
|
|
39
|
-
目录写入使用带必需 kind 的明确参数结构,操作数组必须扁平;错误不视为成功提交,Agent 可以纠正并重新提交。暂停时不为说明原因额外调用模型,而是在原生会话写入插件通知,报告真实原因、检查批次与已保存修改。start 每次创建新 run/session;resume 保留本轮会话身份,重建工作上下文,避免累计发送旧轮次历史。
|
|
40
|
-
|
|
41
|
-
每批每次继续最多允许 64 次成功目录提交,达到后在当前步骤检查点暂停并保留已写入内容。用户明确继续或进入下一批时重新计数;页数与整轮调用量不受此上限限制。无工具循环在请求发送前被拦截时,不计入模型调用次数或 Token 消耗。
|
|
42
|
-
|
|
43
|
-
## 验证边界
|
|
44
|
-
|
|
45
|
-
测试使用隔离 SQLite 与 DSH JSONL 目录,验证真实 Agent Loop、工具拒绝、分批、写入、暂停/终止、用户补充、宿主重启恢复与完整会话。浏览器检查桌面/手机布局、浮窗原文、控制按钮与减少动画设置。测试模型是脚本化流,不证明真实模型能正确提炼经验;未改用户生产数据,也未发布。
|
|
1
|
+
# 目录 Dreaming Agent
|
|
2
|
+
|
|
3
|
+
第一版 scope 为 `directory`,持久化 `policyVersion` 用于后续扩展与兼容检查。任务调度、认领/租约、证据读取、目录写入与 DSH 会话宿主分开:Core 管理原子提交与断点,Runtime 协调运行,DSH 提供真实 Agent 和会话;UI 只请求状态与控制动作。
|
|
4
|
+
|
|
5
|
+
新会话头部传入目录所属工作区的 `cwd`,优先从匹配 namespace 的活动普通会话取值,再从持久化会话头部恢复;不读取历史正文。项目/会话作用域找不到真实路径时暂停并提示先打开对应普通会话,不以插件目录冒充工作区。全局/自定义导入空间无唯一工作区时使用宿主运行目录作为查看地址,工具权限仍按 run scope 隔离。打开会话前完成宿主 flush。旧版本生成的无 `cwd` 会话头不可改写;打开或继续时提示终止旧轮并重新开始,保留已提交的目录修改与旧日志。
|
|
6
|
+
|
|
7
|
+
## 工具与权限
|
|
8
|
+
|
|
9
|
+
| 工具 | 行为 |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| `memory_list_topics` / `memory_expand_topic` | 运行空间内目录导航与分页总览,独立 scoped 实现 |
|
|
12
|
+
| `dreaming_search` | 冻结有效 Event、其引用的原始消息及有效图谱检索 |
|
|
13
|
+
| `dreaming_read` | 完整 Event、来源 Block、图谱节点的只读分页 |
|
|
14
|
+
| `dreaming_directory` | 当前章节改名、小节改名/合并、当前批 Event 移动、带来源的总览/经验替换或追加 |
|
|
15
|
+
| `dreaming_finish` | 确认当前批已检查;推进下一批,最终结束 |
|
|
16
|
+
|
|
17
|
+
Agent 只注册上述工具,拒绝继承的 shell、网络、文件和记忆写入工具。普通聊天工具的证据评估批次与使用反馈不复用。`dreaming_search` 使用底层检索;`dreaming_read` 使用 `renderBlock`,不调用会提升层级/改变衰减锚点的 `expandBlock`。Dreaming 系统提示词注入持久用户画像,仅作为相关偏好和长期要求的参考,不能替代目录来源证据;会话不重新摄入记忆,也不继承普通聊天的自动检索上下文。
|
|
18
|
+
|
|
19
|
+
## 持久化与并发
|
|
20
|
+
|
|
21
|
+
任务保存在既有 Topic 状态中,无新增数据库/schema 迁移。任务冻结来源版本,按章节拆成有限上下文页面。提交在 Core 现有事务内检查 run ID、owner、epoch、租约、章节版本、来源有效性和已读证据。大 Event 只有连续分页读完才进入证据集合;检查覆盖断点不依赖最近工具日志的长度。
|
|
22
|
+
|
|
23
|
+
Event 分页按递归稳定字段顺序序列化,页结果和持久断点绑定完整内容摘要。重启不依赖对象属性插入顺序;旧格式断点或内容摘要改变时清除旧覆盖并从零读取。当前批所有 Event 的完整证据覆盖满足后才能完成,未读完的大 Event 不会被报告为已检查。
|
|
24
|
+
|
|
25
|
+
暂停等当前步骤到达安全边界,继续时换 epoch;终止立即取消当前请求并提升 epoch,使迟到结果无法写入。已完成写入保留。运行定期续租;崩溃后过期认领可人工继续。并发投影改变来源或章节会拒绝写入,由用户终止后重新规划。
|
|
26
|
+
|
|
27
|
+
小节身份不依赖当前标题;合并保留旧身份的别名,后续普通投影保留身份、别名和有效经验。空改动和回到近期旧状态的编辑被拒绝,不能用反复改名制造进展。
|
|
28
|
+
|
|
29
|
+
## 增长、结束与消耗
|
|
30
|
+
|
|
31
|
+
批次最多 24 个 Event,并按预计上下文容量进一步拆小;这是页面大小,不是整轮调用限额。目录页的进度按这些批次计算(例如 `1/14` 批约为 7%),不是简单按章节数计算;一个较大的章节可能拆成多个批次。每个工作步骤和人工继续时使用 DSH 的 surface replacement 重建模型工作上下文,只携带一个当前批次、必要的现有总览、用户方向、最近工具结果和错误反馈;原始会话日志完整保留。目录 sections/overview 页绑定内容摘要并持久记录覆盖,任务明确给出已读范围与下一未读位置,压缩后不重新开始浏览。失败写入提案单独保留,不受最近 12 条工具日志的窗口影响;过大提案只提供错误与分批修正提示,完整内容仍在会话记录。用户方向本身过长时暂停并提示精简,避免静默丢失指令。
|
|
32
|
+
|
|
33
|
+
`dreaming_finish` 表示批次已全部检查,允许无需修改;所有冻结批次完成后进入 completed。重复无效工具调用、连续无工具进展的模型步骤或失败时暂停。没有累计 token 限额,界面和控制接口不提供上限设置。内部计量保留实际模型输入结构的 token 估算和输出估算/供应商输出计数,仅用于诊断;目录页和模型任务上下文不展示消耗数字,不声称价格或账单精度。旧任务继续时在原子事务中清除历史 tokenLimit,保留任务、批次进度、证据断点与会话身份。
|
|
34
|
+
|
|
35
|
+
无进展计数在新增完整 Event 证据、推进连续有效来源页、读取经校验的目录新项或成功修改目录时重置。搜索关键词变化、空结果与重读已覆盖页均不重置;每批允许有限探索。空响应(含 `(empty)`)或普通文字回复结束但任务未完成时,在同一 Agent Loop 内提示继续;连续三次没有工具行动才暂停,不按整轮累计。复用持久化的 idleModelSteps,工具检查点或完成批次后重置;不使用后台定时重试。用户暂停、终止和真实请求错误优先于自动继续。切批消息明确上一批已完成、当前批待处理,完成全部批次后只生成总结,不再催促工具调用。
|
|
36
|
+
|
|
37
|
+
原生 Agent 在请求最终组装后的 `llm/stream` 边界计量实际消息(含临时任务和系统提示)及 JSON 工具定义,自动继续也走相同入口。单次响应最多 32768 Token;若一轮回复尚未产生任何原生工具调用,普通文本超过 8192 Token 会中断并暂停,避免模型重复描述调用计划而持续消耗。reasoning 不计入这条普通文本边界,但 reasoning、普通说明和真正的工具参数均计入单次响应消耗及 32768 Token 总上限。模型失败时拦截宿主自动重试并暂停。没有整轮时长或累计调用次数硬限额;完成后的总结请求也计量,但不重新激活任务或租约。
|
|
38
|
+
|
|
39
|
+
目录写入使用带必需 kind 的明确参数结构,操作数组必须扁平;错误不视为成功提交,Agent 可以纠正并重新提交。暂停时不为说明原因额外调用模型,而是在原生会话写入插件通知,报告真实原因、检查批次与已保存修改。start 每次创建新 run/session;resume 保留本轮会话身份,重建工作上下文,避免累计发送旧轮次历史。
|
|
40
|
+
|
|
41
|
+
每批每次继续最多允许 64 次成功目录提交,达到后在当前步骤检查点暂停并保留已写入内容。用户明确继续或进入下一批时重新计数;页数与整轮调用量不受此上限限制。无工具循环在请求发送前被拦截时,不计入模型调用次数或 Token 消耗。
|
|
42
|
+
|
|
43
|
+
## 验证边界
|
|
44
|
+
|
|
45
|
+
测试使用隔离 SQLite 与 DSH JSONL 目录,验证真实 Agent Loop、工具拒绝、分批、写入、暂停/终止、用户补充、宿主重启恢复与完整会话。浏览器检查桌面/手机布局、浮窗原文、控制按钮与减少动画设置。测试模型是脚本化流,不证明真实模型能正确提炼经验;未改用户生产数据,也未发布。
|