Introduction¶
In DeepSeek Harness (DSH), many processes cannot be covered by a single prompt: tasks of the same type occur repeatedly in different sessions, and tool-call sequences are often already established. Relying on humans to organize these experiences into prompts is prone to missing steps and difficult to allow subsequent sessions to automatically load them.
dsh-forge focuses on these repeated and successful session trajectories: it monitors the harness’s live session event stream, identifies the same normalized first intent being successfully completed in 2 or more sessions, and then forges this path into a loadable skill.
What is this¶
activeing123/dsh-forge is a DeepSeek Harness community plugin licensed under MIT. Its one-sentence positioning is:
Skill self-forging for DeepSeek Harness: watch session traces, detect repeated successful tasks, and forge them into reusable skills.
The plugin runs in the following environment:
Node.js >=20
@deepseek-ai/cordis ^4.0.1
It uses capabilities provided by harness itself:
session/event
ctx.llm
ctx.fs
ctx.skills
The project declares zero external dependencies, no cloud account or private assets required.
Core Features¶
Monitor Session Traces¶
The plugin monitors the DeepSeek Harness live session event stream and accumulates the following information per session:
user intents
tool-call sequences
completion state
This information is used to determine if a task has been successfully completed and if it is worth consolidating into a skill.
Detect Repeated Successful Tasks¶
When the same normalized first intent is successfully completed in 2 or more sessions, the plugin automatically triggers a forge.
The trigger conditions can be understood as:
same normalized first intent
>= 2 completed sessions
Generate Skill Content¶
After triggering a forge, the plugin invokes the harness’s own LLM to distill the following content from the session traces:
kebab-case skill name
one-line description
when-to-use guidance
Markdown step instructions
The final output is in the official skill format SKILL.md, with YAML frontmatter containing:
name
description
whenToUse
Write and Register Skills¶
Skill files are written to:
.dsh-forge/skills/<name>/SKILL.md
Subsequently, they are registered via the following interface:
ctx.skills
Once registered, future sessions can load the skill via the skill tool.
Web Panel and Agent Tools¶
The plugin provides a Web client furnace panel, containing:
forge current session
live trace statistics
It also registers a model-visible tool:
forge_skill
This tool allows the agent to trigger a forge during task execution.
Installation and Activation¶
First declare the plugin, then install, and finally restart the web process.
1. Add the plugin line in the patch file¶
Add in cordis.patch.yml:
- id: dsh-forge
name: dsh-forge
This step declares dsh-forge as an available plugin in the profile.
2. Install to web profile¶
Run:
dsh plugin --profile web add dsh-forge
During installation, the content of dsh.bundle declared in the dependency package.json is added to the profile’s dsh.profile.bundles layer stack.
3. Restart dsh web¶
dsh web
After restarting, the plugin begins to monitor:
session/event
Typical Usage¶
Manually Forge Current Session¶
Define and run in DSH web UI as a dynamic plugin:
lib/index.js(host)
lib/client.js(client)
Then press in the furnace panel:
forge current session
This method is suitable when you have confirmed that the task path of the current session is worth consolidating, and you want to manually trigger a forge once.
Automatic Forging¶
Let two sessions with the same first intent successfully complete.
After the above conditions are met, the plugin triggers the first automatic forge.
Configure Skills Write Directory¶
The default write directory is:
.dsh-forge/skills
The configuration item skillsDir is used to specify the directory where SKILL.md is written, and it is parsed based on the session cwd.
If you need to write to another skills root, for example:
.dsh/skills
You can set it via the config block in the profile patch layer:
- insert:
- id: dsh-forge
name: dsh-forge
config:
skillsDir: '.dsh/skills'
Skill Visibility and File Copy¶
Forged skills are registered via ctx.skills at runtime, making them visible to each live session.
The filesystem copy is used to persist skill files. This copy needs to be located in a discoverable skills root to be discovered by the dsh-skill-filesystem provider.
You can understand the relationship between the two as:
ctx.skills registration -> live sessions can load the skill
filesystem SKILL.md copy -> persistent file for provider discovery
Applicable Scenarios and Notes¶
Suitable for the following scenarios:
- You have repeatedly completed similar tasks in DeepSeek Harness.
- You want to consolidate successful paths into loadable
SKILL.md. - You use the web profile and want to view the forge panel via the DSH web UI.
- You want the plugin to not depend on cloud accounts or private assets.
Pay attention to the following points before use:
- The plugin runs within the host
dshprocess and accesses session and runtime capabilities provided by harness:
session/event
ctx.llm
ctx.fs
ctx.skills
Therefore, you should check the source code before installing.
- Confirm the license:
MIT
- Confirm host dependencies:
Node.js >=20
@deepseek-ai/cordis ^4.0.1
- Confirm that the skills write directory conforms to your skills root rules. The default value is:
.dsh-forge/skills
Conclusion¶
The value of dsh-forge lies in converting repeated successful sessions into reusable skill assets, rather than simply keeping a dialogue record. It completes the loop from a successful path to a loadable skill for subsequent sessions by monitoring session traces, detecting repeated successful tasks, generating SKILL.md, and registering it into the harness runtime.
GitHub:
https://github.com/activeing123/dsh-forge
The community directory is an independent site, not officially affiliated with DeepSeek / Hypothesis, nor is it an official app store. Verified materials do not provide a confirmable directory page URL; if you enter from the community directory, you can find the plugin by looking up the directory index.