Preface

During the process of developing agents, you often encounter a situation where a “can make a XX tool” idea pops up in the conversation. You think it has value at the time, but casually set it aside and forget it later. The characteristic of these ideas is that they are scattered and vague, but a portion of them can indeed grow into projects in the future, even relating to each other.

A common approach is to note them down in a memo or a separate note-taking app, but the cost is leaving the current work environment. Furthermore, subsequent screening, evaluation, and project initiation all require manual labor. Lingxi’s approach is to integrate this entire workflow into DSH: Input anytime → Deep dive anytime → Create plan → Project management. The parsing, scoring, tagging, and relation detection in the middle are handled by AI.

What is this

Lingxi is a DSH Web GUI plugin maintained by ppjun2026, licensed under MIT, with the current version in package.json being 0.2.0. After installation, a “Lingxi” entry appears in the DSH sidebar; clicking it opens the Idea Workbench in the main area.

It solves the problem that there is a lack of a place to hold and process ideas between a “one-sentence” idea and a “project with a task board.” Lingxi uses a single JSON file to store all ideas, projects, and merge records, and provides two usage channels: Chat and Web.

Core Features

Idea Pool & Lifecycle

  • The Idea Pool displays all ideas as a card wall, supporting filtering and searching by status, tags, and keywords.
  • Every idea has a complete lifecycle: Idea Seed → Incubating → Planning → Project Initiated. There are also two terminal states: “Merged” and “Archived.”
  • There is a shortcut box at the top of the web page; entering an idea and pressing Enter or clicking “Add to Pool” allows for entry. You can also say an idea directly to the DSH assistant in the chat.
  • Each idea can accumulate “Idea Records,” making it convenient to continuously supplement ideas.

AI Parsing & Relation Merging

The following capabilities are completed via the Chat channel, with the AI reading and writing to the data file:

  • One-sentence summary, expansion analysis, multi-dimensional scoring (Novelty / Feasibility / Value Potential / Overall), auto-tagging, and domain classification.
  • Detection of relations between ideas, giving high / medium / low relation strength and reasons; ideas with high relation strength will suggest merging, preserving history after merging.

Additionally, a Canvas force-directed network graph is provided to visually view relation clusters between ideas.

Project Initiation & Task Board

Once an idea enters “Project Initiated,” it generates the corresponding project and task board. The board is divided into three columns: To Do / In Progress / Done. Tasks support priority (High / Medium / Low) and due dates; overdue items are automatically flagged.

Installation & Enablement

Choose one of two installation methods to execute in the DSH environment:

# Method 1: Install from Git repository (link mode, changes take effect after restarting DSH)
dsh plugin --profile web add "link:<repository-path>"

# Method 2: Install from npm (available after release)
dsh plugin --profile add @linxin666/dsh-client-ui-lingxi

Note: The npm installation method is marked as “available after release” in the README, meaning it depends on the actual release status of the repository.

After installation, restart DSH. If a “Lingxi” entry appears in the sidebar, the installation is successful. If you plan to modify the code, you can use the link mode for local installation within the repository directory; changes will take effect after restarting DSH:

dsh plugin --profile web add "link:."

Data Storage & Configuration

Data is stored in a single JSON file, allowing for backup, export, and migration at any time. The default location and related configuration are as follows:

  • Default path: ~/.dsh/lingxi/lingxi-data.json (fallback path in lib/index.js)
  • Path can be specified via config.dataFile in cordis.patch.yml, using relative or absolute paths
  • Can also be overridden using the environment variable LINGXI_DATA_FILE

The core structure of the data file is roughly as follows (excerpted from README):

{
  "ideas": [{
    "id": "…", "raw": "original idea", "title": "one-sentence title",
    "status": "seed|incubating|planning|project|merged|archived",
    "scores": { "novelty": 0, "feasibility": 0, "value": 0, "overall": 0 },
    "tags": ["…"], "domain": "domain",
    "related": [{ "ideaId": "…", "strength": "high|medium|low", "reason": "…" }]
  }],
  "projects": [{ "id": "…", "ideaId": "…", "name": "…", "tasks": ["…"] }],
  "merges": [{ "intoId": "…", "fromId": "…", "reason": "…" }]
}

Typical Usage

Lingxi has two usage channels that share the same data file.

Just speak to the DSH assistant in any chat, for example:

I have another idea: make a tool to collect scattered ideas into a project pool
Parse the new idea in Lingxi
Which ideas in Lingxi have strong correlations? Help me merge them
Help me deeply conceptualize the idea "xxx"
Initiate "xxx" and make a plan

The assistant will read and write to the data file, completing parsing, scoring, tagging, relation detection, and merging. Refresh the web page to see the results.

Channel 2: Web

  1. Click “Lingxi” in the sidebar to enter the workbench.
  2. Enter the idea in the shortcut box at the top and press Enter or click “Add to Pool.”

Ideas entered via the web are first added to the pool as “Idea Seeds”; subsequent AI parsing can handle them by returning to the chat to let the assistant process them.

Implementation Highlights

  • File is Truth: The host side directly operates on the JSON file for every read/write, without caching. Therefore, the Chat channel (AI writing directly to the file) and the Web channel (writing to the file via the /api/lingxi route) naturally share the same data, with no synchronization issues.
  • Small API Surface: There are only two endpoints: GET /api/lingxi/state (read all) and POST /api/lingxi/action (write changes), and they are only accessible via loopback and same-origin.
  • Clear Architecture: lib/index.js is for the Host side, responsible for API routes and system prompt injection; lib/client.js is for the Browser side, responsible for rendering the workbench.
  • Zero Build Toolchain: Pure hand-written ESM + Native DOM, without relying on TypeScript, React, or any build tools, making the barrier to reading source code or secondary development very low.

Suitable Scenarios & Notes

Suitable for people already using DSH who want to bring daily idea management into the same workflow: casually recording ideas in the chat, letting AI organize and score them regularly, merging related ideas, and directly initiating a project board once mature, without leaving the current environment throughout.

A few points to note before use:

  1. The plugin runs with the permissions of the current dsh process, capable of reading/writing files and registering routes. It is recommended to review the source code and license before installing (this project is MIT).
  2. If modifying code after installing in link mode, you need to restart DSH for changes to take effect.
  3. Data is a single JSON file; remember to backup regularly.

Conclusion

Lingxi focuses on a few things: providing a unified pool for ideas, using AI to lower the cost of organization, and connecting “thought of” and “done” through lifecycles and boards. For developers who want to precipitate inspiration within DSH, you can try it directly.

  • Plugin Directory Page: https://www.skillhub.cn/plugins/ppjun2026/dsh-client-ui-lingxi
  • GitHub Repository: https://github.com/ppjun2026/dsh-client-ui-lingxi