@a9i5k4/dsh-auto-memory 2.2.1 → 2.2.3
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 +1 -1
- package/README.zh-CN.md +1 -1
- package/docs/A3-RISK-ASSESSMENT-20260830.md +61 -0
- package/docs/COT-WATCH-RFC.md +88 -0
- package/docs/DUAL-TIER-RATIFICATION-PROMPT.md +71 -0
- package/docs/HANDOFF-HARNESS.md +78 -0
- package/docs/HANDOFF-M8-M9-M10.md +203 -0
- package/docs/HY4-TOUR-LOGO-HANDOFF-2.md +60 -0
- package/docs/HY4-TOUR-LOGO-HANDOFF.md +100 -0
- package/docs/ISSUE-REPLY-UNATTENDED.md +31 -0
- package/docs/K3-LANDING-HANDOFF.md +76 -0
- package/docs/LANDING-OUTLINE.md +85 -0
- package/docs/M-CM-PLAN.md +166 -0
- package/docs/M-CM-STATE.md +64 -0
- package/docs/M3B-CONTRACT.md +461 -0
- package/docs/M4-CONTRACT.md +1207 -0
- package/docs/M5-CONTRACT.md +383 -0
- package/docs/M6-CONTRACT.md +342 -0
- package/docs/M7-ACTIVATION-ALGO-REFERENCES.md +104 -0
- package/docs/M7-ACTIVATION-CALIBRATION.md +144 -0
- package/docs/M7-ACTIVATION-FEATURE-AGENT-PROMPT.md +79 -0
- package/docs/M7-ACTIVATION-FEATURE-CALIBRATION.md +58 -0
- package/docs/M7-ACTIVATION-FEATURE-DESIGN.md +124 -0
- package/docs/M7-ACTIVATION-V2-CONTROLLED-SHADOW.md +127 -0
- package/docs/M7-ACTIVATION-V2-HANDOFF.md +132 -0
- package/docs/M7-ACTIVATION-V2-HOLDEDOUT-EVAL.md +94 -0
- package/docs/M7-ACTIVATION-V2-HOLDEDOUT-SHADOW.md +60 -0
- package/docs/M7-ACTIVATION-V2-LIVE-SHADOW-PLAN.md +85 -0
- package/docs/M7-ACTIVATION-V2-PAPER.md +303 -0
- package/docs/M7-AGENT-HANDOFF-PROMPT.md +63 -0
- package/docs/M7-ALGORITHM-DECISION.md +174 -0
- package/docs/M7-AUTONOMOUS-STATE.md +252 -0
- package/docs/M7-BENCHMARK-PLAN.md +78 -0
- package/docs/M7-CLOSED-LOOP-WIRING.md +110 -0
- package/docs/M7-EMBEDDING-BENCHMARK.md +164 -0
- package/docs/M7-INTERFACE-DIGEST.md +144 -0
- package/docs/M7-LABEL-REVIEW-REPORT.md +107 -0
- package/docs/M7-LEXICAL-TUNING.md +58 -0
- package/docs/M7-LIVE-SHADOW-SCRIPT.md +30 -0
- package/docs/M7-PYTHON-IMPLEMENTATION-REPORT.md +92 -0
- package/docs/M7-RESEARCH-PAPER.md +442 -0
- package/docs/M7-TASKSET-DISPATCH.md +213 -0
- package/docs/M8-MEMORY-HUB.md +105 -0
- package/docs/MEMORY-SYSTEMS-SURVEY-2026-09.md +166 -0
- package/docs/NEXT-MAJOR-PROMO.md +363 -0
- package/docs/NEXT-MAJOR-README-DRAFT.zh.md +205 -0
- package/docs/NEXT-MAJOR-VISION.md +112 -0
- package/docs/PREVIEW-NEXT-STEPS.md +229 -0
- package/docs/PROJECT-FREEZE-AND-ROADMAP.md +200 -0
- package/docs/PROMO-STYLE-GUIDE.md +84 -0
- package/docs/PYTHON-SIDECAR-CONTRACT.md +539 -0
- package/docs/R2-POLICY-PLUMBING-BLUEPRINT.md +99 -0
- package/docs/RELEASE-READINESS-PLAN.md +91 -0
- package/docs/RELEASE-SEMANTIC-OPTION.md +181 -0
- package/docs/S1-SCIENTIFIC-RIGOR.md +269 -0
- package/docs/S2-DEEP-ABSORPTION.md +259 -0
- package/docs/S3-TARGET-ARCHITECTURE.md +172 -0
- package/docs/USER-GUIDE.zh-CN.md +98 -0
- package/docs/banner.jpg +0 -0
- package/docs/implementation-handoff-context.zh-CN.md +429 -0
- package/docs/landing/index.html +1745 -0
- package/docs/paper-figures/fig1_model_quality.png +0 -0
- package/docs/paper-figures/fig2_chunk_reversal.png +0 -0
- package/docs/paper-figures/fig3_latency.png +0 -0
- package/docs/paper-figures/fig4_hybrid.png +0 -0
- package/docs/paper-figures/fig5_rerank_tradeoff.png +0 -0
- package/docs/paper-figures/fig6_cluster_sweep.png +0 -0
- package/docs/paper-figures/fig7_resource.png +0 -0
- package/docs/paper-figures-v2/fig1_echo_trap.png +0 -0
- package/docs/paper-figures-v2/fig2_pr_paths.png +0 -0
- package/docs/paper-figures-v2/fig3_coefficients.png +0 -0
- package/docs/paper-figures-v2/fig4_calibration.png +0 -0
- package/docs/paper-figures-v2/fig5_order_ablation.png +0 -0
- package/docs/paper-figures-v2/fig6_containment.png +0 -0
- package/docs/proactive-associative-memory-architecture.html +659 -0
- package/docs/proactive-associative-memory-meta-code.html +1058 -0
- package/docs/proactive-associative-memory-research-report.zh-CN.md +685 -0
- package/docs/proactive-associative-memory-system-map.html +1580 -0
- package/docs/promo/first-run-guide.html +397 -0
- package/docs/promo/homepage.html +384 -0
- package/docs/screenshots/calendar-en.png +0 -0
- package/docs/screenshots/calendar-zh.png +0 -0
- package/docs/screenshots/connect-en.png +0 -0
- package/docs/screenshots/connect-zh.png +0 -0
- package/docs/screenshots/main-connect-en.png +0 -0
- package/docs/screenshots/main-connect-zh.png +0 -0
- package/docs/screenshots/overview-en.png +0 -0
- package/docs/screenshots/overview-zh.png +0 -0
- package/docs/screenshots/panel-hub.png +0 -0
- package/docs/screenshots/panel-overview.png +0 -0
- package/docs/screenshots/panel-refine.png +0 -0
- package/docs/screenshots/promo/promo-0-banner-v2.png +0 -0
- package/docs/screenshots/promo/promo-1-hero.png +0 -0
- package/docs/screenshots/promo/promo-2-tour.png +0 -0
- package/docs/screenshots/promo/promo-3-recall.png +0 -0
- package/docs/screenshots/promo/promo-4-unattended.png +0 -0
- package/docs/screenshots/promo/promo-5-external.png +0 -0
- package/docs/screenshots/promo/promo-6-greeting.png +0 -0
- package/docs/screenshots/reflections-en.png +0 -0
- package/docs/screenshots/search-zh.png +0 -0
- package/docs/screenshots/settings-2-zh.png +0 -0
- package/docs/screenshots/settings-debug-zh.png +0 -0
- package/docs/screenshots/settings-en.png +0 -0
- package/docs/screenshots/settings-zh.png +0 -0
- package/docs/screenshots/tour-core.png +0 -0
- package/docs/screenshots/tour-external.png +0 -0
- package/docs/screenshots/tour-toggles.png +0 -0
- package/docs/screenshots/tour-welcome.png +0 -0
- package/docs/screenshots/workspace-map-zh.png +0 -0
- package/docs/social-preview.png +0 -0
- package/lib/client.js +207 -4
- package/lib/index.js +25 -5
- package/package.json +3 -1
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<!-- ============================================================
|
|
3
|
+
dsh-auto-memory 项目主页(宣传稿 · 供精修)
|
|
4
|
+
结构:Hero → 数据带 → 四大特性 → 工作原理动线 → 双轨引擎 →
|
|
5
|
+
三层记忆中枢 → 里程碑 → 隐私与安全 → Footer
|
|
6
|
+
主题:liquid-glass 暗色玻璃(CSS 变量集中在 :root,Kimi K3 可整体换肤)
|
|
7
|
+
零外部依赖,单文件交付。
|
|
8
|
+
============================================================= -->
|
|
9
|
+
<html lang="zh-CN">
|
|
10
|
+
<head>
|
|
11
|
+
<meta charset="UTF-8">
|
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13
|
+
<title>dsh-auto-memory · 让 AI 拥有会成长的个人记忆</title>
|
|
14
|
+
<style>
|
|
15
|
+
:root {
|
|
16
|
+
--bg0: #060913;
|
|
17
|
+
--bg1: #0b1020;
|
|
18
|
+
--glass: rgba(255, 255, 255, 0.045);
|
|
19
|
+
--glass-border: rgba(255, 255, 255, 0.10);
|
|
20
|
+
--txt: #e8ecf6;
|
|
21
|
+
--txt-dim: #93a0bd;
|
|
22
|
+
--accent: #5b8cff;
|
|
23
|
+
--accent2: #8f6bff;
|
|
24
|
+
--accent3: #38d2c2;
|
|
25
|
+
--ok: #3ecf8e;
|
|
26
|
+
--warn: #f0b34e;
|
|
27
|
+
--queued: #5c6a8a;
|
|
28
|
+
--radius: 18px;
|
|
29
|
+
--font: "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
|
|
30
|
+
--mono: "Cascadia Code", Consolas, monospace;
|
|
31
|
+
}
|
|
32
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
33
|
+
body {
|
|
34
|
+
background:
|
|
35
|
+
radial-gradient(1200px 600px at 15% -10%, rgba(91,140,255,.16), transparent 60%),
|
|
36
|
+
radial-gradient(1000px 500px at 90% 0%, rgba(143,107,255,.12), transparent 55%),
|
|
37
|
+
radial-gradient(900px 700px at 50% 110%, rgba(56,210,194,.08), transparent 60%),
|
|
38
|
+
var(--bg0);
|
|
39
|
+
color: var(--txt);
|
|
40
|
+
font-family: var(--font);
|
|
41
|
+
line-height: 1.7;
|
|
42
|
+
overflow-x: hidden;
|
|
43
|
+
}
|
|
44
|
+
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 28px; }
|
|
45
|
+
|
|
46
|
+
/* ---- 顶部导航 ---- */
|
|
47
|
+
nav {
|
|
48
|
+
position: sticky; top: 0; z-index: 50;
|
|
49
|
+
backdrop-filter: blur(18px);
|
|
50
|
+
background: rgba(6, 9, 19, 0.72);
|
|
51
|
+
border-bottom: 1px solid var(--glass-border);
|
|
52
|
+
}
|
|
53
|
+
nav .wrap { display: flex; align-items: center; gap: 22px; height: 62px; }
|
|
54
|
+
.logo { display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .3px; }
|
|
55
|
+
.logo .dot {
|
|
56
|
+
width: 26px; height: 26px; border-radius: 9px;
|
|
57
|
+
background: conic-gradient(from 210deg, var(--accent), var(--accent2), var(--accent3), var(--accent));
|
|
58
|
+
box-shadow: 0 0 18px rgba(91,140,255,.55);
|
|
59
|
+
}
|
|
60
|
+
.logo small { color: var(--txt-dim); font-weight: 500; }
|
|
61
|
+
nav a { color: var(--txt-dim); text-decoration: none; font-size: 14px; }
|
|
62
|
+
nav a:hover { color: var(--txt); }
|
|
63
|
+
nav .spacer { flex: 1; }
|
|
64
|
+
.pill {
|
|
65
|
+
font-size: 12px; padding: 4px 12px; border-radius: 999px;
|
|
66
|
+
border: 1px solid var(--glass-border); color: var(--txt-dim);
|
|
67
|
+
}
|
|
68
|
+
.pill b { color: var(--ok); font-weight: 700; }
|
|
69
|
+
|
|
70
|
+
/* ---- Hero ---- */
|
|
71
|
+
header { padding: 92px 0 64px; text-align: center; }
|
|
72
|
+
.kicker {
|
|
73
|
+
display: inline-block; font-family: var(--mono); font-size: 12.5px;
|
|
74
|
+
color: var(--accent3); letter-spacing: 2px; margin-bottom: 20px;
|
|
75
|
+
padding: 6px 16px; border: 1px solid rgba(56,210,194,.3); border-radius: 999px;
|
|
76
|
+
background: rgba(56,210,194,.06);
|
|
77
|
+
}
|
|
78
|
+
h1 {
|
|
79
|
+
font-size: clamp(34px, 5.4vw, 58px); line-height: 1.22; font-weight: 800;
|
|
80
|
+
letter-spacing: .5px;
|
|
81
|
+
}
|
|
82
|
+
h1 .grad {
|
|
83
|
+
background: linear-gradient(100deg, var(--accent) 0%, var(--accent2) 55%, var(--accent3) 100%);
|
|
84
|
+
-webkit-background-clip: text; background-clip: text; color: transparent;
|
|
85
|
+
}
|
|
86
|
+
.hero-sub {
|
|
87
|
+
max-width: 760px; margin: 22px auto 0; color: var(--txt-dim);
|
|
88
|
+
font-size: clamp(15px, 1.8vw, 18px);
|
|
89
|
+
}
|
|
90
|
+
.hero-cta { margin-top: 34px; display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
|
|
91
|
+
.btn {
|
|
92
|
+
display: inline-block; padding: 13px 30px; border-radius: 13px;
|
|
93
|
+
font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer;
|
|
94
|
+
border: 1px solid transparent; transition: transform .15s ease, box-shadow .15s ease;
|
|
95
|
+
}
|
|
96
|
+
.btn:hover { transform: translateY(-2px); }
|
|
97
|
+
.btn-primary {
|
|
98
|
+
background: linear-gradient(100deg, var(--accent), var(--accent2));
|
|
99
|
+
color: #fff; box-shadow: 0 8px 30px rgba(91,140,255,.35);
|
|
100
|
+
}
|
|
101
|
+
.btn-ghost { border-color: var(--glass-border); color: var(--txt); background: var(--glass); }
|
|
102
|
+
.hero-note { margin-top: 16px; font-size: 12.5px; color: var(--queued); font-family: var(--mono); }
|
|
103
|
+
|
|
104
|
+
/* ---- 数据带 ---- */
|
|
105
|
+
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 8px 0 56px; }
|
|
106
|
+
.stat {
|
|
107
|
+
background: var(--glass); border: 1px solid var(--glass-border);
|
|
108
|
+
border-radius: var(--radius); padding: 20px 18px; text-align: center;
|
|
109
|
+
backdrop-filter: blur(14px);
|
|
110
|
+
}
|
|
111
|
+
.stat b { display: block; font-size: 30px; font-weight: 800;
|
|
112
|
+
background: linear-gradient(120deg, var(--txt), #aab8dd); -webkit-background-clip: text; background-clip: text; color: transparent; }
|
|
113
|
+
.stat span { font-size: 12.5px; color: var(--txt-dim); }
|
|
114
|
+
|
|
115
|
+
/* ---- 通用 section ---- */
|
|
116
|
+
section { padding: 58px 0; }
|
|
117
|
+
.sec-title { text-align: center; margin-bottom: 8px; font-size: clamp(24px, 3vw, 32px); font-weight: 800; }
|
|
118
|
+
.sec-sub { text-align: center; color: var(--txt-dim); margin-bottom: 42px; font-size: 15px; }
|
|
119
|
+
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
|
|
120
|
+
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
|
|
121
|
+
@media (max-width: 860px) { .grid-2, .grid-3, .stats { grid-template-columns: 1fr; } }
|
|
122
|
+
|
|
123
|
+
.card {
|
|
124
|
+
background: var(--glass); border: 1px solid var(--glass-border);
|
|
125
|
+
border-radius: var(--radius); padding: 26px 24px;
|
|
126
|
+
backdrop-filter: blur(14px);
|
|
127
|
+
transition: transform .18s ease, border-color .18s ease;
|
|
128
|
+
}
|
|
129
|
+
.card:hover { transform: translateY(-3px); border-color: rgba(91,140,255,.4); }
|
|
130
|
+
.card h3 { font-size: 17.5px; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; }
|
|
131
|
+
.card p { color: var(--txt-dim); font-size: 14px; }
|
|
132
|
+
.card .ico {
|
|
133
|
+
width: 34px; height: 34px; border-radius: 10px; flex: none;
|
|
134
|
+
display: flex; align-items: center; justify-content: center;
|
|
135
|
+
font-size: 17px; background: rgba(91,140,255,.14); border: 1px solid rgba(91,140,255,.3);
|
|
136
|
+
}
|
|
137
|
+
.card code { font-family: var(--mono); font-size: 12.5px; color: var(--accent3); }
|
|
138
|
+
|
|
139
|
+
/* ---- 工作原理动线 ---- */
|
|
140
|
+
.flow { display: flex; gap: 0; align-items: stretch; justify-content: center; flex-wrap: wrap; }
|
|
141
|
+
.step {
|
|
142
|
+
flex: 1; min-width: 168px; max-width: 208px;
|
|
143
|
+
background: var(--glass); border: 1px solid var(--glass-border);
|
|
144
|
+
border-radius: 16px; padding: 20px 16px; text-align: center; position: relative;
|
|
145
|
+
margin: 0 5px;
|
|
146
|
+
}
|
|
147
|
+
.step .n {
|
|
148
|
+
font-family: var(--mono); font-size: 11px; color: var(--accent3);
|
|
149
|
+
letter-spacing: 1.5px; display: block; margin-bottom: 8px;
|
|
150
|
+
}
|
|
151
|
+
.step b { font-size: 15px; display: block; margin-bottom: 6px; }
|
|
152
|
+
.step span { font-size: 12px; color: var(--txt-dim); display: block; }
|
|
153
|
+
.step::after {
|
|
154
|
+
content: "→"; position: absolute; right: -14px; top: 50%; transform: translateY(-50%);
|
|
155
|
+
color: var(--queued); font-size: 17px; z-index: 2;
|
|
156
|
+
}
|
|
157
|
+
.step:last-child::after { content: ""; }
|
|
158
|
+
.flow-note { text-align: center; color: var(--txt-dim); font-size: 13px; margin-top: 26px; }
|
|
159
|
+
.flow-note code { color: var(--accent3); font-family: var(--mono); }
|
|
160
|
+
|
|
161
|
+
/* ---- 双轨引擎表 ---- */
|
|
162
|
+
table { width: 100%; border-collapse: separate; border-spacing: 0; }
|
|
163
|
+
.engine-card { overflow: hidden; padding: 0; }
|
|
164
|
+
.engine-card table th, .engine-card table td {
|
|
165
|
+
padding: 14px 18px; font-size: 14px; text-align: left;
|
|
166
|
+
border-bottom: 1px solid var(--glass-border);
|
|
167
|
+
}
|
|
168
|
+
.engine-card table th { color: var(--txt-dim); font-weight: 600; font-size: 12.5px; letter-spacing: 1px; }
|
|
169
|
+
.engine-card table tr:last-child td { border-bottom: none; }
|
|
170
|
+
.tag { font-size: 11.5px; padding: 3px 10px; border-radius: 999px; font-weight: 700; }
|
|
171
|
+
.tag-default { background: rgba(62,207,142,.14); color: var(--ok); border: 1px solid rgba(62,207,142,.35); }
|
|
172
|
+
.tag-fallback { background: rgba(91,140,255,.12); color: var(--accent); border: 1px solid rgba(91,140,255,.3); }
|
|
173
|
+
.tag-pro { background: rgba(143,107,255,.12); color: var(--accent2); border: 1px solid rgba(143,107,255,.3); }
|
|
174
|
+
td .mono { font-family: var(--mono); font-size: 13px; }
|
|
175
|
+
|
|
176
|
+
/* ---- 里程碑 ---- */
|
|
177
|
+
.milestones { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
|
|
178
|
+
.ms {
|
|
179
|
+
font-family: var(--mono); font-size: 12.5px; padding: 9px 16px;
|
|
180
|
+
border-radius: 11px; border: 1px solid var(--glass-border);
|
|
181
|
+
background: var(--glass); display: flex; align-items: center; gap: 8px;
|
|
182
|
+
}
|
|
183
|
+
.ms i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
|
|
184
|
+
.ms.live i { background: var(--ok); box-shadow: 0 0 10px var(--ok); }
|
|
185
|
+
.ms.tested i { background: var(--warn); }
|
|
186
|
+
.ms.queued i { background: var(--queued); }
|
|
187
|
+
.ms span { color: var(--txt-dim); }
|
|
188
|
+
|
|
189
|
+
/* ---- 隐私 ---- */
|
|
190
|
+
.privacy { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
|
|
191
|
+
@media (max-width: 860px) { .privacy { grid-template-columns: repeat(2, 1fr); } }
|
|
192
|
+
.p-item { text-align: center; padding: 22px 12px; }
|
|
193
|
+
.p-item .ico { margin: 0 auto 12px; }
|
|
194
|
+
.p-item b { display: block; font-size: 14.5px; margin-bottom: 5px; }
|
|
195
|
+
.p-item span { font-size: 12px; color: var(--txt-dim); }
|
|
196
|
+
|
|
197
|
+
footer { border-top: 1px solid var(--glass-border); padding: 34px 0 44px; margin-top: 40px; }
|
|
198
|
+
footer .wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; color: var(--txt-dim); font-size: 13px; }
|
|
199
|
+
footer a { color: var(--txt-dim); }
|
|
200
|
+
</style>
|
|
201
|
+
</head>
|
|
202
|
+
<body>
|
|
203
|
+
|
|
204
|
+
<nav>
|
|
205
|
+
<div class="wrap">
|
|
206
|
+
<div class="logo"><span class="dot"></span>dsh-auto-memory <small>for DeepSeek Harness</small></div>
|
|
207
|
+
<div class="spacer"></div>
|
|
208
|
+
<a href="#how">工作原理</a>
|
|
209
|
+
<a href="#engine">双轨引擎</a>
|
|
210
|
+
<a href="#hub">记忆中枢</a>
|
|
211
|
+
<a href="#privacy">隐私</a>
|
|
212
|
+
<span class="pill">状态 <b>● live</b></span>
|
|
213
|
+
</div>
|
|
214
|
+
</nav>
|
|
215
|
+
|
|
216
|
+
<header class="wrap">
|
|
217
|
+
<div class="kicker">SLIDING MONITORING · ASSOCIATIVE RECALL · MINIMAL INJECTION</div>
|
|
218
|
+
<h1>让 AI 拥有<span class="grad">会成长的个人记忆</span></h1>
|
|
219
|
+
<p class="hero-sub">
|
|
220
|
+
dsh-auto-memory 是 DeepSeek Harness 的联想记忆插件:实时监听模型思维链与可见输出,
|
|
221
|
+
语义判定「此刻是否需要想起什么」,把恰当的记忆以最低 token 成本送进上下文——
|
|
222
|
+
全部发生在你的本机,以明文 Markdown 存储。
|
|
223
|
+
</p>
|
|
224
|
+
<div class="hero-cta">
|
|
225
|
+
<a class="btn btn-primary" href="#how">了解工作原理</a>
|
|
226
|
+
<a class="btn btn-ghost" href="#engine">双轨语义引擎</a>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="hero-note">npm install @a9i5k4/dsh-auto-memory · preview</div>
|
|
229
|
+
</header>
|
|
230
|
+
|
|
231
|
+
<div class="wrap stats">
|
|
232
|
+
<div class="stat"><b>34</b><span>smoke 测试套件持续全绿</span></div>
|
|
233
|
+
<div class="stat"><b>0</b><span>云端依赖 · 记忆不出本机</span></div>
|
|
234
|
+
<div class="stat"><b>3 级</b><span>语义引擎 按需选择</span></div>
|
|
235
|
+
<div class="stat"><b>100%</b><span>判定链路可审计可回放</span></div>
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
<!-- ================= 四大特性 ================= -->
|
|
239
|
+
<section class="wrap" id="features">
|
|
240
|
+
<h2 class="sec-title">它做四件事</h2>
|
|
241
|
+
<p class="sec-sub">从「听」到「想起」到「说出口」到「留下证据」,一条完整闭环</p>
|
|
242
|
+
<div class="grid-2">
|
|
243
|
+
<div class="card">
|
|
244
|
+
<h3><span class="ico">🧠</span>滑动监测 · 监听思维链</h3>
|
|
245
|
+
<p>不只听用户输入——模型的<b>思维链(CoT)与可见输出</b>同样参与监测。当模型正在回忆、迟疑、
|
|
246
|
+
或话题擦过某段旧记忆时,滑动监测实时捕捉这些瞬间。拟合度高就激发,不设场景限制。</p>
|
|
247
|
+
</div>
|
|
248
|
+
<div class="card">
|
|
249
|
+
<h3><span class="ico">🧲</span>联想唤起 · 双车道判定</h3>
|
|
250
|
+
<p>可解释的 fv2 策略核:<code>explicit</code>(明确回忆)与 <code>proactive</code>(主动联想)两条车道,
|
|
251
|
+
由意图概率、候选分差(margin)、复述否决(echo veto)、完整性门与硬门(纠正/过期/越权)共同裁决——
|
|
252
|
+
每一次「唤起 / 预热 / 抑制」都有可读的理由码。</p>
|
|
253
|
+
</div>
|
|
254
|
+
<div class="card">
|
|
255
|
+
<h3><span class="ico">📎</span>最小注入 · Reference Tail</h3>
|
|
256
|
+
<p>命中记忆以固定边界的「引用尾注」进入下一请求:来源身份 + 建议性摘录,
|
|
257
|
+
明确标注「是参考不是指令」。不碰系统提示、不破坏前缀缓存、不越预算——
|
|
258
|
+
注入后还有 delivered / seen 证据闭环。</p>
|
|
259
|
+
</div>
|
|
260
|
+
<div class="card">
|
|
261
|
+
<h3><span class="ico">🌱</span>三层记忆 · 会成长</h3>
|
|
262
|
+
<p><b>经历</b>(episode)自动沉淀 → <b>事实</b>(fact)治理固化 → 反复成功的流程升格为<b>技能</b>(skill checklist),
|
|
263
|
+
相似场景自动注入。记忆有生命周期:晋升有门槛、冲突可见、可撤销、可过期。</p>
|
|
264
|
+
</div>
|
|
265
|
+
</div>
|
|
266
|
+
</section>
|
|
267
|
+
|
|
268
|
+
<!-- ================= 工作原理动线 ================= -->
|
|
269
|
+
<section class="wrap" id="how">
|
|
270
|
+
<h2 class="sec-title">一条记忆的旅程</h2>
|
|
271
|
+
<p class="sec-sub">从被监听的念头,到被引用的参考,全程留痕</p>
|
|
272
|
+
<div class="flow">
|
|
273
|
+
<div class="step"><span class="n">STEP 1 · 监听</span><b>观察窗口</b><span>思维链 / 可见输出 / 用户消息进入观察环(query 分源构建)</span></div>
|
|
274
|
+
<div class="step"><span class="n">STEP 2 · 检索</span><b>语义候选</b><span>稠密向量 × 词法 BM25 融合排序,scope/过期/纠正三重硬过滤</span></div>
|
|
275
|
+
<div class="step"><span class="n">STEP 3 · 判定</span><b>唤起决策</b><span>意图概率 + margin + echo veto → emit / prefetch / suppress</span></div>
|
|
276
|
+
<div class="step"><span class="n">STEP 4 · 注入</span><b>引用尾注</b><span>Reference Tail 经硬校验进入下一请求,建议性语气</span></div>
|
|
277
|
+
<div class="step"><span class="n">STEP 5 · 证据</span><b>闭环留痕</b><span>delivered → seen 落盘,可观测、可审计、可回放</span></div>
|
|
278
|
+
</div>
|
|
279
|
+
<p class="flow-note">
|
|
280
|
+
注入面能力探测:<code>dynamic-context</code>(可证明进入 messages 才标记 delivered)· 无安全注入面时自动降级 Shadow,绝不盲注。
|
|
281
|
+
</p>
|
|
282
|
+
</section>
|
|
283
|
+
|
|
284
|
+
<!-- ================= 双轨引擎 ================= -->
|
|
285
|
+
<section class="wrap" id="engine">
|
|
286
|
+
<h2 class="sec-title">三级语义引擎 · 按需选择</h2>
|
|
287
|
+
<p class="sec-sub">词法保底永远在;语义增强按需安装;判定核与注入面完全共享</p>
|
|
288
|
+
<div class="card engine-card">
|
|
289
|
+
<table>
|
|
290
|
+
<tr><th>级别</th><th>体积</th><th>检索质量 R@5</th><th>运行方式</th><th>定位</th></tr>
|
|
291
|
+
<tr>
|
|
292
|
+
<td><span class="tag tag-fallback">C1 词法</span></td>
|
|
293
|
+
<td class="mono">0 GB</td>
|
|
294
|
+
<td class="mono">0.20</td>
|
|
295
|
+
<td>BM25 + CJK 2-gram + 停用词表,纯 JS</td>
|
|
296
|
+
<td>永久保底 · 零配置即用</td>
|
|
297
|
+
</tr>
|
|
298
|
+
<tr>
|
|
299
|
+
<td><span class="tag tag-default">C2 语义 · 默认</span></td>
|
|
300
|
+
<td class="mono">~130 MB</td>
|
|
301
|
+
<td class="mono">0.85</td>
|
|
302
|
+
<td>multilingual-e5-small(q8 量化)本地推理,transformers.js</td>
|
|
303
|
+
<td>默认主路径 · 可选安装 · 跑通才启用</td>
|
|
304
|
+
</tr>
|
|
305
|
+
<tr>
|
|
306
|
+
<td><span class="tag tag-pro">C3 语义 · 进阶</span></td>
|
|
307
|
+
<td class="mono">563 MB</td>
|
|
308
|
+
<td class="mono">0.925</td>
|
|
309
|
+
<td>bge-m3(int8 ONNX)Python sidecar,懒启动子进程</td>
|
|
310
|
+
<td>爱好者档 · 质量优先 · 优雅降级回 C2/C1</td>
|
|
311
|
+
</tr>
|
|
312
|
+
</table>
|
|
313
|
+
</div>
|
|
314
|
+
<p class="flow-note">
|
|
315
|
+
切换引擎必然触发索引重建(miv 版本隔离);任何一级失败静默回退下一级,服务永不中断。
|
|
316
|
+
判定策略(fv2)为 JS/Python 双实现字节级孪生,阈值按各自嵌入分布校准。
|
|
317
|
+
</p>
|
|
318
|
+
</section>
|
|
319
|
+
|
|
320
|
+
<!-- ================= 记忆中枢 ================= -->
|
|
321
|
+
<section class="wrap" id="hub">
|
|
322
|
+
<h2 class="sec-title">记忆中枢 · 三层协同</h2>
|
|
323
|
+
<p class="sec-sub">经历 → 事实 → 技能:不是存储更多,而是沉淀得更准</p>
|
|
324
|
+
<div class="grid-3">
|
|
325
|
+
<div class="card">
|
|
326
|
+
<h3><span class="ico">📖</span>经历 · Episodic</h3>
|
|
327
|
+
<p>每轮对话自动沉淀为带结果(success/failure)与来源坐标的经历段,
|
|
328
|
+
达到段数阈值后巩固为 episode。隐私最小化:只留文本特征,不存原文全文。</p>
|
|
329
|
+
</div>
|
|
330
|
+
<div class="card">
|
|
331
|
+
<h3><span class="ico">📌</span>事实 · Semantic</h3>
|
|
332
|
+
<p>项目事实 / 用户偏好 / 环境约束以「主-谓-宾」四元组固化,
|
|
333
|
+
带来源链与置信度。铁律:<b>用户明确声明永远优先于模型推断</b>;
|
|
334
|
+
冲突保留双方证据、可见、可确认、可撤销。</p>
|
|
335
|
+
</div>
|
|
336
|
+
<div class="card">
|
|
337
|
+
<h3><span class="ico">🛠️</span>技能 · Procedural</h3>
|
|
338
|
+
<p>反复成功的流程固化为可验证 checklist:<b>≥3 个会话 + ≥2 次成功 + 纠正率 ≤30%</b> 才能晋升;
|
|
339
|
+
高风险流程(SSH/部署/删除)永不因相似度自动执行。召回时以步骤+完成标准注入。</p>
|
|
340
|
+
</div>
|
|
341
|
+
</div>
|
|
342
|
+
</section>
|
|
343
|
+
|
|
344
|
+
<!-- ================= 里程碑 ================= -->
|
|
345
|
+
<section class="wrap">
|
|
346
|
+
<h2 class="sec-title">工程进度</h2>
|
|
347
|
+
<p class="sec-sub">每个里程碑都有契约文档与测试矩阵背书</p>
|
|
348
|
+
<div class="milestones">
|
|
349
|
+
<div class="ms live"><i></i>M0-M1 基线/隔离</div>
|
|
350
|
+
<div class="ms live"><i></i>M2 上下文观察</div>
|
|
351
|
+
<div class="ms live"><i></i>M3 锚定写入</div>
|
|
352
|
+
<div class="ms live"><i></i>M4 影子检索</div>
|
|
353
|
+
<div class="ms live"><i></i>M5 证据桥</div>
|
|
354
|
+
<div class="ms live"><i></i>M6 注入收件箱</div>
|
|
355
|
+
<div class="ms live"><i></i>M7-JS 闭环</div>
|
|
356
|
+
<div class="ms tested"><i></i>M7-Python 影子</div>
|
|
357
|
+
<div class="ms tested"><i></i>M8 记忆中枢</div>
|
|
358
|
+
<div class="ms tested"><i></i>M9 技能固化</div>
|
|
359
|
+
<div class="ms queued"><i></i>G-02 观测台</div>
|
|
360
|
+
<div class="ms queued"><i></i>M10 存储管理</div>
|
|
361
|
+
</div>
|
|
362
|
+
</section>
|
|
363
|
+
|
|
364
|
+
<!-- ================= 隐私与安全 ================= -->
|
|
365
|
+
<section class="wrap" id="privacy">
|
|
366
|
+
<h2 class="sec-title">隐私与安全 · 本地优先</h2>
|
|
367
|
+
<p class="sec-sub">记忆的每一步都设计为「宁可少做,不可做错」</p>
|
|
368
|
+
<div class="privacy">
|
|
369
|
+
<div class="card p-item"><div class="ico">🏠</div><b>全部本地</b><span>记忆是本机明文 Markdown,可读可改可备份,无云端同步</span></div>
|
|
370
|
+
<div class="card p-item"><div class="ico">🔒</div><b>fail-closed</b><span>身份/作用域/过期/纠正 任一门不过即拒绝,宁缺毋滥</span></div>
|
|
371
|
+
<div class="card p-item"><div class="ico">🕶️</div><b>隐私投影</b><span>审计与日志中会话/工作区均为不可逆哈希投影,无原文无绝对路径</span></div>
|
|
372
|
+
<div class="card p-item"><div class="ico">🧾</div><b>全程可审计</b><span>每次决策/注入/投递留痕,append-only 策略注册表</span></div>
|
|
373
|
+
</div>
|
|
374
|
+
</section>
|
|
375
|
+
|
|
376
|
+
<footer>
|
|
377
|
+
<div class="wrap">
|
|
378
|
+
<div>dsh-auto-memory · preview(_pre 命名空间)· 为 DeepSeek Harness 构建</div>
|
|
379
|
+
<div><a href="#">GitHub</a> · <a href="#">npm</a> · <a href="#">架构总览图</a> · <a href="#">契约文档</a></div>
|
|
380
|
+
</div>
|
|
381
|
+
</footer>
|
|
382
|
+
|
|
383
|
+
</body>
|
|
384
|
+
</html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|