distill: An Automatic Conversation Distillation DSH plugin for DeepSeek Harness

loserfox/distill

Skills & AgentsVerified
Listed on 2026-08-20
Page last updated 2026-08-20

A DSH plugin that automatically distills conversations into reusable skills in the background.

Let DeepSeek Harness automatically reflect on conversations in the background, distill reusable skills, and create or update skill files for continuous model evolution.

install
dsh plugin --profile web add github:loserfox/distill
Category
Skills & Agents
Platform
DSH-Plugin
Author
loserfox
Distribution
Plugin

distill Key Features

Background reflectionAuto-create skillsSafe skill updatesConfigurable triggers

distill Repository

loserfox
Publisher
loserfox
Repository
loserfox/distill
20
Stars
2
Forks
0
Watchers
4
Open issues
LanguageTypeScript
License
Website
Repo last push2026-08-17 18:32:04
Repo created2026-08-05 05:12:42
Topics
dsh-plugin
Default branchmain

distill Repo Summary

distill is a DeepSeek Harness (DSH) plugin for automatic conversation distillation, written in TypeScript by LoserFox, licensed under MIT, and last updated in 2026-08. It addresses the problem of skill accumulation: it runs a background subagent that reflects on conversations, automatically distills reusable skills, and creates or updates skill files, allowing the model's capabilities to evolve with usage. Core features include: automatic reflection after each turn, structured skill proposals based on the Hermes Agent prompt, strict ownership protection, and flexible configuration options.

What are the installation and uninstallation steps for the distill DSH plugin?

Installation is done via the DSH plugin command, requiring a local checkout of the repository:

bash
dsh plugin --profile web add github:loserfox/distill

After installation, restart the target profile's DSH process (composite layer changes do not participate in HMR). Verify with dsh --profile web --dump-config | grep distill. Uninstall with dsh plugin --profile web remove distill. The host requires subagent-spawn-in-process and tool-skill to be mounted, which are present by default in the base bundle.

What are the core behaviors and working principles of the distill DSH plugin?

At each turn completion (triggered by agent/turn-stopping), the plugin collects new human user/message events. When the count reaches minUserMessages (default 3), it dispatches a background reflection subagent. This subagent uses a restricted toolset (only the skill viewer), with a prompt adapted from Nous Research's hermes-agent _SKILL_REVIEW_PROMPT, and outputs a structured contract proposing skip, create, or update actions. All proposals are validated, and updates only apply to skills with the distilled-by: dsh-distill marker, ensuring user-written skills are never overwritten.

What configuration options does the distill DSH plugin offer?

Configuration options include: enabled (master switch, default true), minUserMessages (trigger threshold), provider/model (explicit auxiliary routing, must be set together), maxTokens (default 2048), timeoutMs (default 30000), targetRoot (project or user, determining where skills are written), providerName (default spawn), and allowUpdate (default true, allowing updates to previously distilled skills).

What is the model experience impact of the distill DSH plugin?

The main conversation registers no tools or prompts; the plugin never changes its surface. The only model-visible effect is indirect: the background reflection subagent can view skill contents, and written or updated skills appear in the dsh-tool-skill directory in subsequent turns, thus influencing future model behavior.

What are the known limitations of the distill DSH plugin?

Known limitations include: only whole-file updates are supported, no partial patches; ownership markers are source-selective, so older skills may not be updated; checkpoints are derived from memory, potentially reprocessing after restart; project targets require a git root, otherwise fallback to cwd; one in-progress reflection per session; and the reflection subagent depends on the tool-skill tool in the deployment.

View more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ