Skip to main content
D

dsh-galaxy-view

dialling/dsh-galaxy-view

Draws workspaces and conversations as a 3D star map in the stock panel slot: eight layouts (spiral, rings, armillary sphere, solar system, double helix, irregular web, cubic lattice, radial tree), eight colour themes, a memory-library map of instruction files, skills and skill calls, star-to-star fly-throughs, and a 中/EN switch. Links are drawn only where a workspace owns a conversation or one conversation descends from another.

Install

dsh plugin --profile web add github:dialling/dsh-galaxy-view

README

dsh-galaxy-view · 银河视图

中文 · English

把 DeepSeek Harness 里的每个工作区与对话画成一座三维星系——像 NASA 的 Eyes on Asteroids 一样在星体之间飞行。

银河视图

在 DSH 工作区里运行

工作区是旋臂上带光晕的恒星,对话是绕着它们的锐利小星点,fork / 子智能体之间拉出一根细丝。镜头自己慢慢转,拖一下接过来,滚轮推拉;点一颗星就俯冲跃迁进那条对话,落进一层空心点球壳里,「回到星系」再把你送出来。

星体配方、配色与镜头手感参照 Obsidian 的 Galaxy View(NASA Eyes 式的电影感 3D 图),数据换成 Harness 的工作区与会话。

亮点

  • 把工作现场画成一张能读的图 —— 恒星是工作区(色相按顺序固定,对话越多越大),星点是对话(运行中的会呼吸),细丝是归属与派生,当前会话戴一圈白环,已归档的只在「归档」打开时出现。
  • 空心点球壳 —— 5200 颗 1.2 px、1800 颗 2 px、500 颗 3 px 的硬边方点,七种低饱和近白色调,另加 780 颗场内浮星。球壳与星系共用同一台摄像机并以星系为中心,所以钻进星体是穿过它,而不是拖着一张背景板一起走。
  • 跃迁,而不是切页 —— 先在真实场景里俯冲(对话 980 ms、工作区 1150 ms),点阵加速拉成 1 px 光带,最后收成那颗星颜色的空心球壳,硬边方点从中心向外波纹式亮起。覆盖层等目标面板挂载完成才淡出;开启「减弱动态效果」时退化为淡入淡出。
  • 锐利、不塑料的星体 —— 不透明实体圆盘,白热核心永不削成纯白,外加一圈贴边的彩色光晕;总览时是一枚小星点(工作区按对话数更大),拉近成倍放大,选中别的星时只轻微变暗。按实际设备尺寸 4×4 超采样烘焙后缓存,每帧不分配对象。
  • 八种布局 —— 银河、星环、浑天、太阳系、双螺旋、矩阵、方阵、星树。换预设换的是整套几何(位置、尘埃、骨架线都跟着走),太阳系是真的在公转:行星绕太阳内快外慢,卫星再绕行星。
  • 八套预设 × 八套主题 —— 一张预设就是一整套参数(主题、辉光、深空背景、球壳、旋臂形态、连线弯曲、眨眼、环绕速度),悬停即时预览、点击 560 ms 溶解过渡;八套主题(深空、哈勃、霓虹、落日、赛博、矩阵、极光、太阳系)一律纯黑底,颜色只来自星与连线;还能存最多 8 张自己的预设(双击改名、↑ 排序、× 删除)。
  • 可玩的力学 —— 斥力、链接距离、链接强度、向心力、扁平度、核心引力、旋涡七个滑杆,是一层叠在解析布局上的力导向:默认参数收敛回预设轮廓,每帧约 4 ms 预算,收敛后休眠。「形态」四条滑杆则重解一次盘面。
  • 只画真实关系 —— 连线是工作区→对话的归属与父→子的派生,没有虚构边;粗细、透明度、弯曲、颜色(跟随星色 / 色块 / 取色器)都可调,顶栏一键显隐,关掉时点一个对话仍只留下它的相关连线。
  • 记忆库 —— 同一个面板后的第二个视图:塑造智能体行为的指令文件、能加载的技能、每个技能被调用过多少次。点一行把文件读进右侧编辑器,⌘S 写回磁盘,打开后被别处改过会以冲突返回,随应用发布的文件保持只读。
  • 键盘与搜索 —— Tab / Shift+Tab 逐个走星并弹出卡片,Enter 俯冲,F / R 飞向选中项与回总览,Esc 取消;顶栏搜索框飞向任意对话;harness 侧边栏里点对话也会飞到那颗星,不退出银河视图。
  • 状态透镜与过滤 —— 全部 / 运行中 / 当前 / 子智能体 / 已归档五种透镜,非命中项压暗但仍可点;每个工作区一行,单击隐藏、双击只留它;过滤框沿用 Galaxy View 的语法(空格=同时满足,-词 排除,path: / name: 限定字段,"短语")。
  • 四档质量 —— 自动 / 高 / 低 / 移动;自动档在帧耗时高于 19 ms 时降档、低于 14.5 ms 时升档,1.5 s 内不反复切;移动档关闭辉光与云雾,最多绘制 1500 颗星。
  • 双语、零运行时依赖 —— 界面跟随系统 / 中文 / English 可切;只用 loader 提供的 react 与宿主已有的 ctx.* 服务,没有第三方运行时。绘制走手写的 WebGL2 点通道,失败即回落 Canvas 2D。

安装

需要 DeepSeek Harness Desktop(含 main 面板槽位与 uiWorkspace 服务)。纯前端 + 一个 host 半包,没有原生依赖。

从插件市场(发布后):搜 dsh-galaxy-view。

从 npm 装进某个 profile:

cd "$DSH_HOME/profiles/web"
pnpm add dsh-galaxy-view        # 或 npm install dsh-galaxy-view

从本仓库本地挂载(开发用):

node scripts/install-into-profile.mjs                    # 默认 web profile
node scripts/install-into-profile.mjs --profile PATH     # 指定 profile

dsh.bundle.patch 会把插件行插进层栈。装好后重启 Harness(或重开窗口),任意会话顶栏右侧会出现「银河」按钮:点它进银河视图,「原版界面」或星体里的返回胶囊出来。

使用

两个顶栏:会话顶栏的 银河 按钮进入视图;银河面板自己的顶栏上依次是 连线(显隐)、记忆库(切到第二个视图)、归档、复位、重排、语言切换与搜索框。左侧控制栏点 ☰ 收起、拖右边缘调宽(240–480 px);每条滑杆上都有默认值刻度,双击滑杆或滑杆名回到默认;所有设置写进 localStorage,各分区的展开状态也会记住。

八种布局

预设布局读法
银河spiral双旋臂盘面,核心稀疏
星环rings四道同心轨道环,每环一个颜色、不显示连线;所有星体沿各自的环线做双螺旋运动
浑天sphere浑天仪式球:5 个同半径圆环各自倾斜到自己的平面(黄金角分配),合起来是一个球;星体按体量蛇形分配到各环上,每个环在自己平面内自转
太阳系system中心一颗暖色球状太阳尘埃,每个工作区一颗行星各占嵌套轨道,外层裹一团球壳状对话星体;整个系统真的在公转
双螺旋helix两条链沿竖直轴攀升各 1.6 圈,按星体数把工作区分给两条链,两侧星数基本相等,各自贯穿整个高度
矩阵web一整团绿色星点与直连线,无辉光、无背景
方阵plate立体正方体:所有星体落在同一套格点上,每个工作区占一块,画出 12 条棱
星树tree纯放射:每个工作区一根从原点出发的射线,按黄金角均布在球面上,越重伸得越远;对话沿同一条射线铺成向外变粗的管
星环星树跃迁
星环星树浑天

星系怎么读

图上含义
带色恒星一个工作区;色相按工作区顺序固定,星点越大对话越多
恒星周围的星点该工作区下的对话;运行中的会呼吸
细丝归属关系;fork / 子智能体与父会话之间是更亮的弯丝
漂浮的星尘旋臂与弥散盘面(「尘埃带」滑杆,默认关闭),纯背景,不可点
白色硬点球壳星空球壳:真三维的点阵球面,与星系共用摄像机并以它为中心

操作

输入结果
拖拽绕轨旋转带惯性;松手 1.6 秒后恢复自动环绕
滚轮推拉镜头,连续滚动会累加,最远约默认视角的 4.5 倍
点击星体镜头俯冲过去并弹出小卡片:标题、路径、时间与状态;邻域保持明亮(关联深度 1 或 2 层),其余淡下去
双击星体跳过卡片,直接跃迁进去
Tab / Shift+Tab在星体之间逐个走;Enter 俯冲或打开当前项
F / R / Esc飞向选中的星 / 回到总览 / 取消聚焦与选中
顶栏搜索框输入标题或路径,方向键选一条,镜头飞过去
侧边栏里的对话银河打开时点它,镜头飞到那颗星,不退出银河模式
归档 / 复位 / 重排显示归档 / 回到默认机位 / 换一套随机种子重新成盘
☰收起 / 展开左侧控制栏

跃迁

进入一颗星时,先在真实场景里向它俯冲,随后一圈细点加速拉成 1 px 的光带,最后收成该星颜色的空心灵巧球壳。进入工作区或对话后,落地球壳留在屏幕上当你此刻所在的房间:同一个球面,但整球放大到帧外(看不到球缘),每颗方点大小与亮度一致,分两层缓慢反向旋转,外加一圈星体颜色的内壁光晕和「回到星系」胶囊(点它播放一段短暂的反向跃迁)。

进入银河视图时,harness 的左侧导航栏会自动收起(给星系整窗宽度);离开时按原来的宽度还原。

记忆库

顶栏的 记忆库 按钮把星系换成另一张图:内核里的金色星体是指令文件(AGENTS.md、CLAUDE.md、prompt-inject.md、rules/*.md、工作区 README.md),旋臂上的青色星体是技能(色相表示来源,大小随调用次数增长),绕着它们的小星是一次调用,超过 16 次只计数不再画点。

Node 端自己找齐这个库 —— DSH home、~/.agents、各工作区的 .dsh/skills 与 .agents/skills、vendor 与扩展目录 —— 并从每个会话日志里读回技能调用(普通 .jsonl 与逐帧追加的 .zstd 一样处理)。给已经开着的 DSH 加上这个视图需要重启:Node 端跟随宿主进程挂载,不跟页面走。

控制栏

点标题栏的 ☰ 收起,其余时候它一直贴在左侧、可滚动;顶部有语言切换(跟随 / 中 / EN)和一个 ? 帮助卡。

分区里边有什么
外观八张预设卡,悬停预览、点击 560 ms 溶解过渡;「外观与配色」里还有八套主题、洗牌配色、节点大小与依据(活跃度 / 链接数 / 统一)、星星眨眼
过滤每个工作区一行带色点与对话数,单击隐藏、双击只留它;孤星与空工作区可单独放出;过滤框见上面的语法
状态五种透镜,非命中项压暗但仍可点
连线 / 深空背景 / 辉光 / 形态 / 力学连线显隐与粗细、透明度、亮度、弯曲、颜色;星云天幕、浮星、云雾、尘埃带、球壳密度/大小/亮度;星体亮度、辉光强度、范围、阈值;旋臂数、缠绕、厚度、散布;七个力学滑杆
导航与动效自动环绕与速度、巡游及巡游速度、关联深度、连接两篇(点两颗星,镜头沿最短链接路径逐跳飞过去)、重播开场、全部重置、存为我的预设
高级质量自动 / 高 / 低 / 移动,底部一行实时 fps · ms · 星数 · 丝数 · 质量

每个分区标题会注明「由『某预设』设定」,改动后显示「已自定义」,并提供只还原这一分区的「↺ 还原」。自动环绕约 5 分钟一圈,控制栏里 0.2×–3× 可调,鼠标停在星点上时暂停。

设置迁移。 外观改动大到旧设置会盖住新效果,所以设置带版本号:升级后首次加载会把外观项一次性重置为新默认值,而筛选(隐藏的工作区、只留它、过滤文本、状态透镜、孤星与空工作区开关、自动环绕与巡游)和语言、面板宽度、分区展开状态、关联深度全部保留。

隐私

不联网、无遥测,没有任何外部请求。只做本地读取:DSH home 与各工作区的指令文件和技能(记忆库要用)、会话日志里的技能调用。写入只发生在你用记忆库编辑器保存时,经宿主鉴权的 RPC 通道回到 Node 端,随应用发布的文件保持只读。设置存在浏览器 localStorage 里。

与 Galaxy View 的差别

  • 节点是工作区 / 会话,不是笔记文件;连线是归属与派生,不是 [[链接]]。
  • 布局先是解析式的(同数据永远同样子),力学滑杆再在它上面推;Galaxy View 是力模拟跑在 Web Worker 里。
  • 会话没有 tag,没有未解析链接、幽灵节点和 2D 图谱导入 ——「标签」那一层换成了状态透镜。
  • 每个工作区是一个独立连通块(对话只连到自己的工作区),所以跨工作区的「连接两篇」会经由两边的恒星飞过去。
  • 星体沿用参照的配方(软边圆盘 + 白热核心 + 固定光晕),但用缓存的 Canvas 2D 精灵重建,而不是 three.js 的点 shader。

开发

npm run check     # build(含语法门禁)+ selfcheck
  • src/settings.js — 纯外观数据:预设、主题、默认值与设置版本迁移。
  • src/graph-model.js — 纯函数:星体与连线、八种布局、球壳与颗粒集、过滤语法、最短路径、相机基。
  • src/gpu.js / src/stars.js — WebGL2 点通道与 Canvas 2D 星体配方(精灵烘焙缓存在这里)。
  • src/physics.js — 七个力学滑杆背后的力导向层。
  • src/client.js / src/warp.js / src/styles.css — 渲染循环、指针交互、控制栏与跃迁覆盖层。
  • scripts/build.mjs — 把源码内联进 lib/client.js(window.__ModuleLoader__.load,无打包器),并对产物做 node --check。
  • scripts/selfcheck.mjs — 几何、相机、迁移、双语对照、打包与产物锁。

渲染规则与逐层顺序见 docs/render-core.md;参照实现的逆向记录见 docs/reverse-galaxy-view.md。发布流程(npm、GitHub、市场 PR)见 PUBLISHING.md。

License

MIT

Related plugins