Mica Space: A DSH Plugin that Separates Follow-up Questions from Answers in Long Conversations

Introduction

The most frustrating part of long conversations isn’t bad answers, it’s not having a place to continue asking follow-up questions after an answer. Traditional chat windows are just a single downward flow. If answer A leads to ten follow-ups, going back to answer B requires scrolling; with a lot of text, locating the original text relies on luck.

The Mica Space introduced below is a client plugin for DSH, maintained by ToiMee. Its direction is to change this flow into a zoomable conversation map: a main vertical line with multiple branches stemming from answers, each space being an independent canvas. It is categorized as “Client” on the community directory SkillHub, has 1 star on GitHub, version 0.99.7, and MIT license.

It solves the same problem: follow-up questions grow directly on that answer card. The main line retains the full context, branches expand independently, and when returning to the main line, local memory can recall conclusions from previous branches.

Mica Space Positioning

One sentence: DSH’s branch-based conversation canvas plugin, zero-configuration local memory.

  • Language: JavaScript, package name @local/dsh-chat-space, private: true, distributed via Release, source code installation requires self-hosting.
  • Sidebar entry named “Mica Space”, interface language follows DSH, no separate language switch inside the plugin.
  • Currently a preview version. The README explicitly writes 0.99.7 demo, it is recommended to keep .chat-space backups before upgrading.

Core Features

Look at them in three groups.

Branch Structure and Canvas:

  • Multi-space, folders, subfolders; main / branch / sub-branch trees;
  • Vertical branches arranged left and right alternately to avoid stacking on the right;
  • Optional names when creating branches, right-click to rename “Branch Name (optional)”;
  • In dot mode, drag points directly to adjust position; after selecting a card, Alt + scroll still allows zooming the canvas;
  • Branch colors support palette and hex input, main line can be set separately;
  • Branch collapse / expand with stacked cards, fade-in/out, and aggregation markers; branch cards have four-direction connection points, collapse and expand points have visual distinction;
  • Horizontal and vertical layout is decided when creating the space, cannot be switched later.

Follow-up and Attachments:

  • Continue asking after highlighting text in a card;
  • Image and file attachments;
  • Local OCR for image and scanned PDF attachments (Tesseract, offline);
  • “Ask Again” provided next to stopped answers; asking again doesn’t move the view, blue unread marker appears after completion;
  • Cards support collapse, color, tags, pending follow-ups, and flags; pending follow-up cards show a ! warning on the edge when leaving the viewport.

Library Management and Memory:

  • Trash, undo, search, whole-library import/export;
  • Local memory: main line summary + branch summary + parent-child retrieval; long answers are automatically chunked, hitting a child segment brings back the parent turn;
  • Zero-configuration lightweight hash vectors, plus optional local co-occurrence semantic patterns;
  • Git backup (local commit + optional private remote push).

Installation and Enablement

The mica-space-0.99.7-demo.zip in the Release already contains runtime dependencies. After extracting, just select that directory in DSH plugin management, no need to run npm install. Source code installation still requires npm install first.

Follow the steps in the README:

  1. Install the corresponding plugin package for this directory in DSH plugin management;
  2. Confirm “Mica Space” appears in the sidebar;
  3. Configure a chat model in DSH;
  4. Create a space, start with the first question.

The plugin declares dsh.client.platform as web, immediately: true, and injects @deepseek-ai/dsh-client-ui-conversation, making it a client-side plugin.

Users do not need to install separately:

  • Vector database;
  • Embedding model;
  • Python;
  • Embedding API.

Typical Usage Workflow

  1. Create a new space and enter the first question.
  2. Ask a follow-up question on a specific answer point, a branch forks out below the answer; if you want to try another approach in parallel, fork another branch from the same answer.
  3. Continue asking after highlighting text in the card to reduce verbal repetition.
  4. Attach images or scanned PDFs directly when needed; OCR is done locally.
  5. Return to the main line later; local memory recalls conclusions from branch summaries, no need to re-paste.
  6. Organize by collapsing branches, tagging, setting flags; to archive, use export or Git backup.

Memory Mode and Privacy

Click “Memory” at the top of the canvas to switch between two modes.

Lightweight mode is the default: keyword + character n-gram hash vectors, zero-configuration, fastest speed.

Local semantic enhancement mode builds distributional semantic vectors based on word co-occurrence in the current space:

  • Zero-configuration, no external API needed;
  • Not a general neural semantic model, cannot understand arbitrary synonym rewrites;
  • Built independently for each space, does not share data with other users.

Privacy boundaries are as listed in the README:

  • Lightweight / local semantic modes do not access the network;
  • During normal chat, questions, context, and attachments are sent to the DSH model provider configured by the user;
  • Text extracted from files, image OCR, and PDF OCR results also enter the chat context;
  • OCR is done locally, images or PDFs are not uploaded to OCR services;
  • Git backup only pushes when the user actively configures a remote and clicks backup;
  • The plugin itself contains no telemetry, and no author API key.

Data defaults to the default workspace:

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

Each space is saved independently, including the main line, branches, views, and memory.

Agent Mode: Not Available Now

The current 0.99.7 demo does not have Agent mode. The README is quite clear on this:

  • Every conversation in Mica is a normal model call: sends system prompt, history messages, branch context, memory, and attachments, receives a text stream;
  • No tool loops; no file read/write, command execution, or MCP calls; no Agent permission confirmation.

v1.0 exploration directions include but are not limited to: choosing whether to use Agent by space or branch, integrating DSH’s Agent sessions and tool calls, attaching tool calls and permission confirmations to corresponding branches in card form, doing read-only tools first before considering file writing and command execution, and clarifying how Agent state is handled when copying branches, returning to the main line, or continuing after interruption. These are plans, not existing capabilities.

Known Limitations

Writing this down to avoid pitfalls:

  • Not currently a neural semantic RAG;
  • Automatic local OCR when PDF text layer is insufficient, max 8 pages, OCR quality affected by scan clarity;
  • Newly uploaded attachments are saved in .chat-space/attachments; opening old spaces copies DSH old attachments here and uses local references, permanently deleting cleans up local files;
  • Attachment files are not included in export JSON or Git backups;
  • Large spaces have viewport clipping, but full node virtualization is not done;
  • Regarding testing, core tests cover context, space library, embedding, and semantic ranking, plus Playwright real browser E2E.

To run tests yourself, real browser E2E is:

npm run test:e2e

If Chromium is not in the default path, set MICA_CHROMIUM to point to chrome.exe.

Core and UI smoke tests:

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

Suitable Scenarios and Notes

Suitable scenarios: many conversation turns, frequent follow-up questions branching from a single answer, R&D or debugging processes requiring traceable structure; scenarios where memory and OCR are expected to run locally without additional services.

Note five points.

First, the plugin runs with the permissions of the current DSH process. What file read/write, command execution, and network access it can do depends on what permissions DSH itself has as a process. It does not get narrower just because it’s a client plugin, nor should you assume it has no side effects just because it looks like a chat interface.

Second, read the source code before installing, focusing on index.js, client.js, cordis.patch.yml, and settings related entries, to confirm that the read/write scope of workspace files (especially the .chat-space directory) is within your expectations. The license is MIT, allowing viewing and modification.

Third, the positioning of the preview version. The README labels itself as “Current version is a preview version, please keep .chat-space backups before upgrading,” so back up before you start.

Fourth, attachments are not in backups. Export JSON and Git backups do not contain attachment files themselves; a complete archive of this space requires considering the attachment directory separately.

Fifth, ecosystem positioning. Mica Space is listed under the community directory SkillHub. SkillHub is an independent site with no official affiliation with DeepSeek or Huanfang. Do not treat such directories as official app stores. DSH’s philosophy is “everything is a plugin,” so you need to judge the source, maintainer, and update rhythm of plugins yourself.

Summary

The value of Mica Space is concentrated on a specific change: follow-up questions no longer append downwards, but fork from that answer card. For developers who frequently ask follow-up questions in long conversations, it replaces “scrolling back to find that answer” with “growing on that card.” Zero-configuration local memory, offline OCR, and Git backup are sufficient for small-scale personal workspaces, but it is not a general neural semantic RAG; Agent mode is still in the v1.0 plan.

Directory page: https://www.skillhub.cn/plugins/ToiMee/mica_space

Source code and Release: https://github.com/ToiMee/mica_space

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

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

Xiaoye