dsh-conversation-atlas
Project-level conversation memory explorer for DeepSeek Harness with related memories, cross-session bridges, BM25 search, and exact chat navigation.
- Stars
- 0
- Language
- TypeScript
- Created
- Sep 4, 2026
- Updated
- Sep 4, 2026
Introduction
DSH Conversation Atlas
A project-level conversation memory explorer for DeepSeek Harness.
把同一项目中的多个 Conversation / Turn 映射成可搜索、可关联、可精确跳回原对话的记忆星图。

为什么做这个插件
长时间使用 AI 开发工具后,一个项目里往往会积累很多 Session,每个 Session 又有大量 Turn。
传统方式主要依赖时间顺序和向上翻历史,遇到“我记得以前聊过 Redis 缓存一致性,但不知道在哪个对话、哪一轮”时,定位成本很高。
Conversation Atlas 把历史组织成三层:
Project Universe
↓
Conversation Galaxy = Session
↓
Memory Star = Turn
它不是单纯的星空可视化。每个 Memory 都保留真实的 Session / Turn 定位信息,可以继续搜索、查看关联关系,并最终跳回 DSH Chat 的原始 Turn。
功能
- Project Universe:项目级查看多个 Conversation Galaxy
- Conversation Galaxy:查看单个 Session 内的 Memory Stars
- Current Session Auto Focus:打开 Atlas 自动定位当前 Conversation
- Exact Chat Jump:Memory → 原 Session → 原始 Turn 精确定位
- RELATED:同一 Session 内的非相邻相关记忆
- Cross-Galaxy Bridge:跨 Session 的相关 Memory Bridge
- Project Memory Search:项目级 BM25-lite 搜索
- Galaxy / Memory Highlight:搜索结果直接在星图中高亮
- Memory Inspector:查看 Memory 预览、共同主题和跳转入口
- Archetype / Rarity:确定性的轻量 Galaxy 画像体验
- Responsive Atlas View:适配 DSH Composer 高度变化
最终验收:113 tests / 11 files,真实 Web E2E 0 error / 0 warning。
工作原理
DeepSeek Harness
│
▼
Session Event Log
│
▼
Session Projection
│
└── turnOutline
{ turn, seq, prompt, response }
│
▼
Conversation Atlas
│
┌─────────────┼─────────────┐
▼ ▼ ▼
Universe Galaxy Memory
│
┌──────────────┼──────────────┐
▼ ▼ ▼
NEXT RELATED SEARCH
│ │
weighted Jaccard BM25-lite
│ │
└──────┬─────────┘
▼
Memory Focus
│
loadThrough(seq)
│
▼
DSH Chat Turn
Source of truth
Atlas 不解析 Chat DOM,也不保存第二份聊天历史。
核心 Turn 索引直接使用 DSH 官方 turnOutline Projection:
{
turn,
seq,
prompt,
response
}
其中 seq 是该 Turn 的 turn/start event seq,用于历史精确加载。
Exact Jump
Memory 的关键定位信息:
sessionId + turn + seq
点击“跳转到原对话”后:
Memory
↓
切换目标 Session(如需要)
↓
session.loadThrough(seq)
↓
打开 Chat View
↓
Turn Anchor
↓
目标 Turn 可见
loadThrough(seq) 由 DSH Session Controller 提供;Atlas 负责把 Memory、Session 切换、历史加载和 Chat 定位编排成完整体验。
记忆关联
Same-Galaxy RELATED
同一 Conversation 内的内容关联使用:
Prompt
↓
中英文确定性 tokenizer
↓
stop words
↓
token inverted index
↓
candidate pairs
↓
weighted Jaccard
↓
RELATED
当前参数:
| 参数 | 值 |
|---|---|
| RELATED score threshold | 0.25 |
| 最大分析 Turn | 400 |
| 每个 Memory 最大 RELATED 邻居 | 2 |
RELATED 默认不会铺满整个星图,只在 hover / selected 等聚焦状态下显现,并展示共同主题。
Cross-Galaxy Bridge
跨 Session 关联复用项目级 Memory Index。
| 参数 | 值 |
|---|---|
| Cross score threshold | 0.30 |
| 每个 Memory 最大 Cross relation | 1 |
| 每个 Galaxy 最大 Bridge | 3 |
| Project Memory guard | 800 |
项目级搜索
Search 和 RELATED 复用同一套项目级 Memory Index / tokenizer,但采用不同 scoring model:
Memory ↔ Memory
→ weighted Jaccard
Query → Memory
→ BM25-lite
当前搜索参数:
| 参数 | 值 |
|---|---|
k1 | 1.2 |
b | 0.75 |
| Result limit | 10 |
| Indexed field | prompt |
| Response preview | 不参与索引 |
搜索结果可以跨 Session 命中 Galaxy / Memory,并继续复用现有 Exact Jump。
截图
Project Universe

Conversation Galaxy

Same-Galaxy RELATED

Cross-Galaxy Bridge

Project Memory Search

开发与构建
最终 Clean Install 验证使用:
pnpm install --frozen-lockfile
pnpm bundle
构建后 ./lib/index.js 可正常 import,插件入口 apply 为函数。
环境基线:
- Package:
dsh-conversation-atlas - Version:
0.1.0 - Node:
v26.7.0 - pnpm:
11.7.0 - DeepSeek Harness:
0.1.2-alpha.3 - DSH baseline commit:
dd6322d604e00eec1ba5e0c8541159906a21094a
验证结果
TYPECHECK=PASS
TESTS=PASS — 113 tests / 11 files
LINT=PASS
BUNDLE=PASS
CLEAN_INSTALL=PASS
FINAL_WEB_E2E=PASS
BROWSER_CONSOLE=0 error / 0 warning
性能 smoke test:
| 场景 | RELATED / Cross | Index | Search |
|---|---|---|---|
| 100 Turns | 18.890 ms | 0.672 ms | 0.325 ms |
| 400 Turns | 213.915 ms | 1.287 ms | 0.368 ms |
| 800 Project Memories | Cross 822.940 ms | 1.515 ms | 0.522 ms |
800 Memory 项目测试最终生成 400 cross edges,并通过项目级 guard 与关系数量限制控制可视化密度。
已知限制
- RELATED 是 prompt-only lexical weighted-Jaccard baseline,不是完整语义检索。
- Search 是 prompt-only BM25-lite lexical search,当前 term frequency 为二值。
turnOutline中 prompt / response 是 bounded preview(当前基线约50 / 120字符)。- Same-Galaxy RELATED 当前最多分析
400 Turns,每个 Memory 最多保留2条关系。 - Project Memory Index 当前有
800 Memoryguard。 - 依赖 DeepSeek Harness
0.1.2-alpha.3当前公开 API 与固定 baseline commit。
开发方式
该插件使用 AI-assisted / Vibe Coding 工作流完成。
主要由人工控制的部分包括:
- 产品目标与交互模型
- DSH API / 版本审计
- 官方宿主零修改边界
- Task 拆分与停止条件
- 算法取舍
- 验收标准
- 真实 Web E2E
- 失败复盘与定点修复
AI 主要承担具体实现、测试脚手架和重复性编码。
Status
PLUGIN_STATUS=SEALED
TASK_7_PASS
当前进入维护状态,只处理必要 Bug 和兼容性问题。