Back to home@anlew07

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 映射成可搜索、可关联、可精确跳回原对话的记忆星图。

Project Universe

为什么做这个插件

长时间使用 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 threshold0.25
最大分析 Turn400
每个 Memory 最大 RELATED 邻居2

RELATED 默认不会铺满整个星图,只在 hover / selected 等聚焦状态下显现,并展示共同主题。

Cross-Galaxy Bridge

跨 Session 关联复用项目级 Memory Index。

参数
Cross score threshold0.30
每个 Memory 最大 Cross relation1
每个 Galaxy 最大 Bridge3
Project Memory guard800

项目级搜索

Search 和 RELATED 复用同一套项目级 Memory Index / tokenizer,但采用不同 scoring model:

Memory ↔ Memory
→ weighted Jaccard

Query → Memory
→ BM25-lite

当前搜索参数:

参数
k11.2
b0.75
Result limit10
Indexed fieldprompt
Response preview不参与索引

搜索结果可以跨 Session 命中 Galaxy / Memory,并继续复用现有 Exact Jump。

截图

Project Universe

Universe

Conversation Galaxy

Galaxy

Same-Galaxy RELATED

Related

Cross-Galaxy Bridge

Cross Galaxy

Project Memory Search

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 / CrossIndexSearch
100 Turns18.890 ms0.672 ms0.325 ms
400 Turns213.915 ms1.287 ms0.368 ms
800 Project MemoriesCross 822.940 ms1.515 ms0.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 Memory guard。
  • 依赖 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 和兼容性问题。