dshbase

插件目录 / Automation / DeepJIT

DeepJIT

已验证 · 实测可装 fly3366

✓ 持续维护 基于 10 个官方 DSH 包 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

1Stars
0Forks
0未关闭 issue
TypeScript语言
2026-08-15最近推送
跨平台平台

功能简介

DeepJIT — DSH 插件(编排)

✅
我们的评价
可用 — 实测通过,早期项目

DeepJIT — DSH 插件(编排) 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

DeepJIT banner

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.7 (runtime-verified)
DSH mainline 99f6f02f (static-checked 2026-08-17; 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):

Key Default Description
enabled true master switch
summarizeIntervalMs 600000 JIT cycle (mine + compile)
minRepeat 3 min occurrences for a hot sequence
argumentAware false include sorted arg-key signatures in mined sequences
minFlowSteps 2 min tool steps a flow must have to be compiled
minPatternValue 6 min value score (count × steps) to justify a compile
flushBatchSize 200 trace rows per batched SQLite write
maxPendingCalls 10000 cap for in-memory pending/raw maps (bounds memory)
minerMaxRows 20000 max trace rows read per session per mining cycle
transcriptMaxRows 2000 max tool rows read per compile transcript
gcEnabled / gcStaleMs / gcProtectMs true / 14d / 1d GC: disable artifacts unused beyond gcStaleMs after a gcProtectMs grace
dryRun false publish artifacts as disabled; enable manually via deepjit_status
traceRetentionMs / patternRetentionMs 7d / 7d prune trace rows / stale uncompiled patterns older than this
deoptMinUses / deoptMaxSuccessRate 5 / 0.5 disable a flow used ≥N times with success rate ≤ this (deoptimization)
qualityMinUses / minQuality 5 / 0 disable active artifacts used ≥N times whose quality score < minQuality (0 = off)
promoteMinUses / promoteMinSuccessRate 5 / 0.8 recompile a hot, reliable skill's pattern as a flow (promotion)
llmProvider / llmModel deepseek-official / (session) compile model; empty = reuse session model
locale auto en / 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 and AGENTS.md.

License & security

MIT. Report vulnerabilities privately per SECURITY.md.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 DeepJIT」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:fly3366/DeepJIT

Headless(CLI)profile:

dsh plugin --profile headless add github:fly3366/DeepJIT

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

自动化一项重复工作——调度、串联任务或响应事件——不用你亲手启动。

适合谁

有周期性工作、想 cron 式无人值守而非手动触发的人。

二次开发建议

触发器和任务模板是缝——加事件驱动或文件监听触发,以及更丰富的流程编排。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Automation 里更多

浏览全部 7797 个插件 →