Preface¶
In DeepSeek Harness (DSH), when performing creative tasks, the common practice is to repeatedly modify prompts in the conversation or copy the Agent’s output HTML or Markdown to local files for individual viewing. As solutions multiply, historical versions become scattered in chat logs, making horizontal comparison and further branching from a specific direction cumbersome.
Ramify is a DSH plugin designed for such scenarios: it organizes multiple creative directions into a real-time updated creativity tree, allowing direct viewing and comparison within the Harness, and enabling further divergence from any node. Below, we introduce its positioning, capabilities, and installation usage.
What Is This¶
Ramify (@ramify/dsh-ramify) is a native creative branching canvas plugin for DeepSeek Harness, maintained by yanglongyun, and categorized as a “Workflow” in the SkillHub Community Directory. The source code is hosted on GitHub under the MIT license.
It integrates into DSH via the standard plugin manifest, Cordis services, and Client UI slots, without modifying the Harness source code. The multiple directions, runnable works, and subsequent revisions generated by the Agent are written to the same creativity tree; interface submissions go through the current DSH session, without needing to configure the model or API Key separately in Ramify.
Core Features¶
Creative Tree Workflow¶
The workflow can be summarized in five steps:
- Click Ramify in the DSH left sidebar to open the built-in workbench.
- In the Ramify input field, fill in the requirements and select the number of solutions.
- The plugin immediately creates a project and enters the canvas, while submitting the task to the current DSH session and model.
- The Agent continuously writes nodes via Ramify tools, with previews appearing in real-time on the canvas.
- Click the divergence button in the top-right corner of a node, enter modification requirements, and generate branches from that node; the old solutions remain unchanged.
Work Preview and Persistence¶
HTML, Markdown, SVG, images, videos, and audio works can be previewed directly within the canvas. Data is locally persisted via SQLite, with the frontend detecting changes through lightweight polling; by default, it is saved in the operating system’s application data directory, and will not be cleared on upgrade or restart.
Canvas card thumbnails use an empty sandbox, avoiding JavaScript execution, which prevents a large number of works from running scripts simultaneously and slowing down the interface. The details on the right and new window works, however, run fully as regular web pages, capable of loading external resources, connecting to the internet, and submitting forms.
Agent Toolset¶
The plugin registers the following tools for the current model, allowing direct invocation in conversations:
| Tool | Purpose |
|---|---|
ramify_start |
Start or connect to the canvas |
ramify_project_create |
Create a project and root node |
ramify_project_list |
List projects |
ramify_project_tree |
Read the complete creativity tree |
ramify_node_add |
Add a single node or work placeholder |
ramify_node_batch |
Atomically create a multi-level node tree |
ramify_node_complete |
Write HTML, Markdown, SVG, or media works |
ramify_node_update |
Update title, text, or tree position |
ramify_settings |
Switch themes and interface languages |
Runtime Architecture¶
Ramify UI (DSH overlay iframe)
│ Structured creation/divergence intent
▼
DSH Client UI session bridge ──► Current DSH session and model
│ │
│ Lightweight polling detects changes │ Ramify tools
▼ ▼
Local Ramify runtime ◄──── Projects, nodes, and works
│
└── SQLite + local artifact files
Default ports: DSH Web UI is http://127.0.0.1:3099, Ramify runtime is http://127.0.0.1:9519. After installation, the plugin automatically starts the local canvas, requiring no separate CLI execution; upon uninstallation, it cleans up the runtime it started, while existing Ramify instances are reused and not shut down.
Installation and Enabling¶
Environment requirements:
- Node.js 22.19 or higher version
- DeepSeek Harness 0.1.0-rc.6 (the current test version noted in the README) or a compatible version
Installation from Source (Currently Recommended)¶
git clone https://github.com/yanglongyun/dsh-ramify.git
cd dsh-ramify
npm install
npm run build
dsh plugin --profile web add "$PWD"
dsh web --port 3099
The above commands are from the plugin’s README. The repository can also be accessed via yanglongyun/ramify-dsh on GitHub.
npm Package (After Publishing)¶
dsh plugin --profile web add @ramify/dsh-ramify
dsh web --port 3099
After starting, click Ramify at the bottom of the DSH left sidebar. The workbench will embed into the DSH overlay; the external open button at the top can be used as a standalone window.
Optional Configuration¶
Ports, data directories, and timeouts can be overridden in the profile’s cordis.patch.yml:
- id: ramify
name: '@ramify/dsh-ramify'
config:
port: 9519
dataDir: '/absolute/path/to/ramify-data'
startupTimeoutMs: 5000
shutdownTimeoutMs: 3000
When dataDir is omitted, the default path on Linux is ${XDG_DATA_HOME:-~/.local/share}/ramify/.
Typical Usage¶
It can be initiated directly from the Ramify input field or by requesting the Agent to call it in DSH conversations. An example from the README:
Use Ramify to explore three distinctly different landing page directions for this AI search product, and make previewable pages for me to compare.
After submission, the plugin first creates a project and opens the canvas. The Agent then writes nodes to the same project, allowing you to compare each direction side-by-side in the tree view and further diverge from satisfied nodes.
Applicable Scenarios and Notes¶
Who is it for: Developers or product/design collaboration scenarios that need to explore multiple creative directions in parallel within DSH and wish to retain branching history—such as landing page solutions, interactive prototypes, copy variants, and other previewable outputs.
Security and Permissions: The plugin runs with the current dsh process permissions, starting the Ramify runtime locally and reading/writing local data. Before installation, it is recommended to review the source code and MIT license to confirm that dependencies and runtime behavior meet your environment requirements. The plugin does not receive or store model API Keys; model calls are handled by the current DSH session.
Ecosystem Note: DSH adheres to the “everything is a plugin” philosophy; SkillHub is a community-maintained plugin directory, with no official affiliation with DeepSeek or幻方.
Conclusion¶
Ramify consolidates “multi-solution generation—horizontal comparison—node-level branching” into the DSH workbench, reducing the back-and-forth between chat and local files. If you are performing creative iterations in Harness, you can obtain the plugin from the community directory or GitHub and install it according to the README.
- Community Directory: skillhub.cn/plugins/yanglongyun/ramify-dsh
- Source Repository: github.com/yanglongyun/ramify-dsh