Mica Space:把長對話的追問從回答分叉出去的 DSH 插件

前言

長對話裏最難受的不是回答不好,而是回答後面要繼續追問很多次時沒有地方放。傳統聊天窗口只有一條向下的流,回答 A 下面追問了十輪,再想回到回答 B,只能上下翻找;文字一多,定位原文基本靠運氣。

下面介紹的 Mica Space 是 DSH 的一個客戶端插件,維護者 ToiMee,方向是把這條流改成一張可縮放的對話地圖:一條縱向主線,多條從回答分叉出去的支線,每個空間是一張獨立畫布。它在社區目錄 SkillHub 上的分類是「客戶端」,GitHub 上有 1 顆星,包版本 0.99.7,許可證 MIT。

它解決的是同一件事:追問直接長在那張回答上,主線保留完整上下文,支線各自展開,回到主線時本地記憶還能 callback 之前支線的結論。

Mica Space 的定位

一句話:DSH 的分支式對話畫布插件,零配置本地記憶。

  • 語言 JavaScript,包名 @local/dsh-chat-space,private: true,走 Release 分發,源碼安裝需自建。
  • 側邊欄入口叫「Mica空間」,界面語言跟隨 DSH,插件內不單獨切換。
  • 當前是預覽版。README 明確寫着 0.99.7 demo,升級前建議保留 .chat-space 備份。

核心功能

分三組看。

分支結構與畫布:

  • 多空間、文件夾、子文件夾;主線 / 支線 / 子支線樹;
  • 豎版支線左右交替排布,避免全部堆在右側;
  • 創建分支時可填可選名稱,也可右鍵對「分支名稱(optional)」重命名;
  • 點模式下可直接拖動小點調整位置;選中卡片後 Alt + 滾輪仍可縮放畫布;
  • 分支顏色支持調色盤和十六進制輸入,主線可單獨設色;
  • 分支摺疊 / 展開帶堆疊卡片、淡入淡出和聚合標記;支線卡有四向連接點,摺疊點和展開點做了視覺區分;
  • 橫豎佈局在創建空間時決定,之後不可切換。

追問與附件:

  • 引用選中文字後繼續追問;
  • 圖片和文件附件;
  • 圖片附件與掃描版 PDF 的本地 OCR(Tesseract,離線);
  • 已停止的回答旁邊提供「重新問」,重新問不移動視角,完成後顯示藍色未讀標記;
  • 卡片支持摺疊、顏色、標籤、待追問和紅旗;待追問卡片離開視口時邊緣出現 ! 提醒。

庫管理與記憶:

  • 回收站、撤銷、搜索、整庫導入導出;
  • 本地記憶:主線摘要 + 分支摘要 + 父子級檢索;長回答自動分 chunk,命中子片段時迴帶父 turn;
  • 零配置輕量哈希向量,以及可選的本地共現語義模式;
  • Git 備份(本地提交 + 可選私有 remote push)。

安裝與啓用

Release 裏的 mica-space-0.99.7-demo.zip 已經包含運行依賴,解壓後直接在 DSH 插件管理裏選擇該目錄即可,不需要再執行 npm install。源碼安裝仍然需要先 npm install。

按 README 的步驟走:

1、在 DSH 插件管理中安裝本目錄對應的插件包;
2、確認側邊欄出現「Mica空間」;
3、在 DSH 裏配置一個聊天模型;
4、新建空間,從第一個問題開始。

插件聲明 dsh.client.platform 爲 web、immediately: true,並注入 @deepseek-ai/dsh-client-ui-conversation,屬於客戶端側插件。

用戶不需要另外安裝:

  • 向量數據庫;
  • embedding 模型;
  • Python;
  • embedding API。

典型使用流程

1、新建一個空間,輸入第一個問題。
2、對某個回答點追問,回答下方分叉出一條支線;想並行試另一種問法,就從同一張回答再分一條。
3、引用卡片裏選中的文字繼續追問,減少口頭複述。
4、需要圖片或掃描版 PDF 時直接附進去,OCR 在本地完成。
5、後續回到主線,本地記憶從分支摘要裏 callback 結論,不用重新粘貼。
6、整理時摺疊分支、打標籤、設紅旗;想留檔就走導出或 Git 備份。

記憶模式與隱私

畫布頂部點「記憶」切換兩檔。

輕量模式是默認檔:關鍵詞 + 字符 n-gram 哈希向量,零配置,速度最快。

本地語義增強模式在當前空間的詞語共現上構建分佈語義向量:

  • 零配置,不需要外部 API;
  • 不是通用神經語義模型,不能理解任意同義改寫;
  • 每個空間獨立構建,不共享其他用戶數據。

隱私邊界按 README 列的幾條:

  • 輕量 / 本地語義模式不訪問網絡;
  • 正常聊天時,問題、上下文和附件會發送給用戶配置的 DSH 模型提供商;
  • 文件抽取後的文本、圖片 OCR 和 PDF OCR 結果也會進入聊天上下文;
  • OCR 在本地完成,不上傳圖片或 PDF 到 OCR 服務;
  • Git 備份只有用戶主動配置 remote 並點擊備份時才 push;
  • 插件本身不包含遙測,不包含作者 API key。

數據默認落在默認工作區:

.chat-space/library.json
.chat-space/spaces/<id>.json
.chat-space/attachments/
.chat-space/trash/

每個空間獨立保存,包含主線、分支、視圖和 memory。

Agent 模式:現在沒有

當前 0.99.7 demo 沒有 Agent 模式,這一點 README 說得比較明確:

  • Mica 裏的每條對話都是一次普通模型調用:發送系統提示詞、歷史消息、分支上下文、記憶和附件,接收文字流;
  • 不執行工具循環;不讀寫文件,不運行命令,不調用 MCP;也沒有 Agent 權限確認。

v1.0 的探索方向包括但不限於:按空間或分支選擇是否使用 Agent,接入 DSH 的 Agent 會話和工具調用,工具調用與權限確認以卡片形式掛到對應分支,先做只讀工具再考慮寫文件和執行命令,以及明確分支複製、回到主線、中斷後繼續時 Agent 狀態怎麼處理。這些是計劃,不是現有能力。

已知限制

寫下來免得踩坑:

  • 當前不是神經語義 RAG;
  • PDF 文本層不足時自動本地 OCR,最多處理 8 頁,OCR 質量受掃描清晰度影響;
  • 新上傳附件保存在 .chat-space/attachments;打開舊空間時會把 DSH 舊附件複製進來並改用本地引用,永久刪除時清理本地文件;
  • 附件文件不包含在導出 JSON 或 Git 備份裏;
  • 大空間已做視口裁剪,但未做完整的節點虛擬化;
  • 測試方面,核心測試覆蓋上下文、空間庫、embedding 和語義排序,另有 Playwright 真實瀏覽器 E2E。

想自己跑測試,真實瀏覽器 E2E 是:

npm run test:e2e

如果 Chromium 不在默認路徑,設置 MICA_CHROMIUM 指向 chrome.exe。

核心與 UI smoke:

node --test tests/context.test.mjs tests/library.test.mjs tests/embedding.test.mjs tests/semantic.test.mjs tests/parent-child.test.mjs tests/rag-eval.test.mjs tests/performance.test.mjs tests/ui-smoke.test.cjs

適用場景與注意

適合的場景:對話輪次多、經常從一個回答分頭追問、需要可回溯結構的研發或調試過程;希望記憶和 OCR 都在本地跑完、不額外接服務的場景。

需要注意五點。

第一,插件以當前 DSH 進程的權限運行。它能做的文件讀寫、命令執行、網絡訪問都取決於 DSH 這個進程本來擁有什麼權限,不會因爲裝成客戶端插件而額外收窄,也不該因爲看着只是聊天界面就假設它沒副作用。

第二,安裝前應讀一遍源碼,重點看 index.js、client.js、cordis.patch.yml 和 settings 相關入口,確認它對工作區文件(尤其是 .chat-space 目錄)的讀寫範圍是否在你的預期內。許可證是 MIT,允許查看和修改。

第三,預覽版的定位。README 自己標了「當前版本爲預覽版,升級前請保留 .chat-space 備份」,所以動手之前先備份。

第四,附件不進備份。導出 JSON 和 Git 備份都不含附件文件本身,這份空間的完整留檔要另外考慮附件目錄。

第五,生態位置。Mica Space 掛在社區目錄 SkillHub 下,SkillHub 是獨立站點,與 DeepSeek 及幻方沒有官方從屬關係,不要把這類目錄當作官方應用商店。DSH 的理念是「一切皆插件」,插件的來源、維護者和更新節奏需要自己判斷。

小結

Mica Space 的價值集中在一個具體改動上:追問不再往下追加,而是從那張回答分叉。對經常在長對話裏反覆追問的開發者,它把「翻回去找那個回答」這件事換成了「在那張卡片上繼續長」。零配置的本地記憶、離線 OCR 和 Git 備份對小規模個人工作區夠用,但不是通用神經語義 RAG;Agent 模式仍停留在 v1.0 計劃裏。

目錄頁:https://www.skillhub.cn/plugins/ToiMee/mica_space

源碼與 Release:https://github.com/ToiMee/mica_space

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜