DeepSeek Harness plugin

deepjit

DeepJIT: JIT-compile repeated agent workflows into skills and flow templates for deepseek-harness (dsh)

Jump to install

Source facts

Repository
fly3366/DeepJIT
Latest update
Aug 21, 2026
Category
Workflow & Automation
GitHub stars
2
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/fly3366/DeepJIT
Plugin: deepjit
Author: fly3366

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

<p align="center"> <img src="assets/banner.jpeg" alt="DeepJIT banner" width="800"> </p>

DeepJIT

A JIT compiler plugin for deepseek-harness (dsh).

中文文档

Overview

DeepJIT watches agent execution traces, mines recurring "hot" workflows, and compiles them with an LLM into reusable skills (markdown) or flows (step templates) — then feeds them back into the running harness, no restart. It is for anyone who repeats similar multi-tool workflows and wants dsh to turn them into fast, reusable assets.

traces ──► SQLite ──► hot-path mining ──► LLM compile ──► skills / flows ──► dsh
  • Artifacts live under ~/.dsh/deepjit/ and hot-reload into dsh.
  • JIT never compiles its own tools, so it can't feed on itself.
  • Lifecycle (compiler-style): an AOT pass validates flows against the live tool

registry and constant-folds literal args; tiering promotes hot, reliable skills to flows and deoptimizes unreliable flows; GC prunes stale artifacts.

Compatibility

| Item | Value | |---|---| | DSH version | @deepseek-ai/dsh 0.1.0-rc.8 (runtime-verified) | | DSH mainline | b150a551 (static-checked 2026-08-21; used APIs unchanged) | | Verified commit | 5869674 (2026-08-13) | | Node | ^22.19 \|\| >=24 | | Profiles | headless, web |

dsh is pre-release; APIs may drift. Pins @deepseek-ai/* to 0.1.0-rc.6.

Install / Uninstall

# install (git, no npm release needed)
dsh plugin --profile web add github:fly3366/DeepJIT

# disable for one profile
dsh plugin --profile web remove deepjit

# fully remove local data
rm -rf ~/.dsh/deepjit

Quick start

dsh plugin --profile headless add github:fly3366/DeepJIT
DEEPSEEK_API_KEY=... dsh --profile headless "read package.json and tsconfig.json, then summarize"
# repeat similar tasks; deepjit mines and compiles hot flows automatically
dsh --profile headless "use deepjit_status to list compiled artifacts"

Configuration

Override in cordis.patch.yml or a profile patch. Key options (full list in [src/config.ts](src/config.ts)):

KeyDefaultDescription
enabledtruemaster switch
summarizeIntervalMs600000JIT cycle (mine + compile)
minRepeat3min occurrences for a hot sequence
argumentAwarefalseinclude sorted arg-key signatures in mined sequences
minFlowSteps2min tool steps a flow must have to be compiled
minPatternValue6min value score (count × steps) to justify a compile
flushBatchSize200trace rows per batched SQLite write
maxPendingCalls10000cap for in-memory pending/raw maps (bounds memory)
minerMaxRows20000max trace rows read per session per mining cycle
transcriptMaxRows2000max tool rows read per compile transcript
gcEnabled / gcStaleMs / gcProtectMstrue / 14d / 1dGC: disable artifacts unused beyond gcStaleMs after a gcProtectMs grace
dryRunfalsepublish artifacts as disabled; enable manually via deepjit_status
traceRetentionMs / patternRetentionMs7d / 7dprune trace rows / stale uncompiled patterns older than this
deoptMinUses / deoptMaxSuccessRate5 / 0.5disable a flow used ≥N times with success rate ≤ this (deoptimization)
qualityMinUses / minQuality5 / 0disable active artifacts used ≥N times whose quality score < minQuality (0 = off)
promoteMinUses / promoteMinSuccessRate5 / 0.8recompile a hot, reliable skill's pattern as a flow (promotion)
llmProvider / llmModeldeepseek-official / (session)compile model; empty = reuse session model
localeautoen / zh / auto (dsh locale → LANG → English)

Sensitive: no keys are stored. The compile call uses dsh's credential service or the launching environment's DEEPSEEK_API_KEY.

Permissions & data

  • Files: writes only under ~/.dsh/deepjit/ (SQLite traces, skills, flows, log);

reads session JSONL via ctx.sessionPersistence for compile drill-down.

  • Network: LLM calls go through dsh's ctx.llm (DeepSeek provider); no other network access.
  • Credentials: none stored; resolved by dsh or the environment.
  • User data: stores compact execution traces (tool args/results, message text).
  • Tools: flow steps run through ctx.tools.execute and the normal permission gates.
  • Observability: dsh's OTel telemetry covers agent sessions only; DeepJIT keeps its

own counters (traces flushed, compiles, LLM latency, GC/deopt/promote) and emits GenAI semantic-convention spans (gen_ai.*: system/model/usage tokens) for each LLM call. Read counters via deepjit_status {action:"metrics"}; spans export via dsh-o11y-plugin when present.

Troubleshooting

  • Log: ~/.dsh/deepjit/deepjit.log. Database: ~/.dsh/deepjit/deepjit.db.
  • MISSING_CREDENTIAL → export DEEPSEEK_API_KEY or store it in dsh's Models page.
  • TRANSPORT/NO_ADAPTER on compile → usually a transient LLM call failure; deepjit retries and falls back to the next cycle.
  • Roll back: dsh plugin --profile <p> remove deepjit, then rm -rf ~/.dsh/deepjit.

Development

npm install && npm test     # node:test, run natively via Node type stripping
npm run typecheck && npm run build

See [CONTRIBUTING.md](CONTRIBUTING.md) and [AGENTS.md](AGENTS.md).

License & security

[MIT](LICENSE). Report vulnerabilities privately per [SECURITY.md](SECURITY.md).