DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

dsh-self-evolve

Self Evolve

由 Agent 编写的 DeepSeek Harness 程序性记忆:一个受保护的 skill_manage 工具、一个可选择启用的回合后审查器,以及一个可选的 Jev 决策门。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Kosello/dsh-self-evolve#ce43a82ab89cd79c9aa18fc8b0f208751bf2dfa7
README兼容性版本

兼容性与来源证明

Self Evolve 以 dsh-self-evolve 发布,当前版本为 0.4.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/10/28

版本

0.4.0stable
2026/10/28

相关插件

正在加载相关插件…

最新版
0.4.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/28
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Hindsight Coding Agents@vectorize-io/hindsight-coding-agents面向编程代理的仅反思式 Hindsight 长期记忆(可插拔支持多种运行框架:opencode、……),自动在后台导入(无需设置 CLI)。Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Mnemondsh-mnemon面向 DeepSeek Harness 的可组合、基于视图的上下文。开箱即用的可插拔来源与策略、分层记忆和自我演进技能。

README

dsh-self-evolve

Agent-authored procedural memory for DeepSeek Harness. The agent saves a proven procedure as a SKILL.md in a root the harness already scans, and future sessions follow it instead of rediscovering it — with the guards, budgets and approvals an unattended self-improvement loop needs.

This is a fork of jianghuife/dsh-self-evolve (MIT), ported to DSH 0.2.1-rc.2 and extended. The upstream proof of concept was a single 0.1.0 release; this fork keeps its small core and adds the missing safety rails plus the automatic half of the loop.

Status: 0.4.0, 106 tests, typechecked against DSH 0.2.1-rc.2. Not published to npm; install from GitHub or a local checkout.

What it does

CapabilityDetails
skill_manage toollist, create, patch, edit, delete (archives), write_file, remove_file, pin, unpin
User + project scope~/.dsh/skills and <project>/.dsh/skills, plus flat <name>.md skills
Read before writea skill must be loaded with the skill tool before it can be patched, edited, deleted or pinned
Duplicate refusalcreate rejects near-duplicates and names the skill to patch instead
Credential + lint scanblocks credential-shaped text; warns on oversized bodies, incident-log shape, references sprawl, destructive shell idioms
Staged approvalsoptional writeApproval; review diffs with /skills pending, settle with approve/reject
Post-turn revieweropt-in fork of the finished turn that patches or creates skills, isolated from the main transcript
Jev gateoptional TypeSafe Jev call that can cancel a pointless review, with deterministic fallback
Curatormechanical aging: stale after 30 days, archived after 90, pinned skills exempt, only agent-authored skills, never hard-deleted
Usage ledgerrecords loads and review-gate decisions for tuning

Requirements

  • DeepSeek Harness 0.2.1-rc.2 (the tested target; other 0.2.x may work).
  • Node.js 22.19 or newer.
  • Optional: a TypeSafe API key (TYPESAFE_API_KEY) only if you enable the Jev gate.

Install

From GitHub (once the repository is published):

dsh plugin --profile web add github:Kosello/dsh-self-evolve

From a local checkout:

git clone https://github.com/Kosello/dsh-self-evolve.git
cd dsh-self-evolve
npm ci
npm run build          # produces dist/ (also committed for GitHub installs)
dsh plugin --profile web add "$PWD"

Then restart the profile. The plugin activates as the self-evolve row and adds skill_manage together with the /skills command. See docs/installation.md for manual wiring, environment files, verification and uninstall.

Configure

Everything is optional; defaults keep the plugin useful and quiet. Put overrides on the row in your profile's cordis.patch.yml:

- id: self-evolve
  config:
    readBeforeWrite: true        # default
    writeApproval: false         # set true to review every write
    review:
      enabled: true              # the reviewer spends tokens; opt in
      turnInterval: 10
      toolCallThreshold: 15
      gate: jev                 # counters (default) or jev
      jev:
        model: jev-latest
        apiKeyEnv: TYPESAFE_API_KEY
        confidentNo: 0.75

The full key reference, including the reviewer and gate budgets, is in docs/configuration.md.

Enabling the Jev gate

The gate is off unless you ask for it, and it degrades to counters when it cannot run. Give the harness the key through a dedicated env file rather than the profile YAML:

install -m 600 /dev/null ~/.dsh/typesafe.env
printf 'TYPESAFE_API_KEY=%s\n' "$YOUR_KEY" >> ~/.dsh/typesafe.env
mkdir -p ~/.config/systemd/user/deepseek-harness.service.d
printf '[Service]\nEnvironmentFile=%%h/.dsh/typesafe.env\n' \
  > ~/.config/systemd/user/deepseek-harness.service.d/typesafe.conf
systemctl --user daemon-reload
systemctl --user restart deepseek-harness.service

Use

The model gets one new tool:

ActionPurpose
listskills across both scopes, with uses and layout
createnew skill; scope: "user" | "project"
patchexact-text replace inside SKILL.md (preferred update)
editreplace body/description wholesale
deletearchive (never hard-delete)
write_file / remove_filesupporting files under the skill directory
pin / unpinexempt a skill from curator aging

Humans get the /skills command:

/skills pending | diff <id> | approve <id|all> | reject <id|all>
/skills approval on|off
/skills review on|off|now

Worked examples are in docs/usage.md.

How the loop fits together

turn ends ──▶ counters due? ──▶ (optional) Jev gate ──▶ fork reviewer
                                                        │
                                          skill_manage ─┴─▶ ~/.dsh/skills/<name>/SKILL.md
                                                        │
                                          next session ─┴─▶ skill catalog (progressive disclosure)

The reviewer and gate are described in docs/review-loop.md; the module map is in docs/architecture.md.

Safety model

  • No secrets in the repository. API keys are read from the process environment; the profile YAML holds names, never values.
  • The gate is advisory. It can only cancel a review it is confident is pointless; permissions, approvals and write guards stay deterministic.
  • The reviewer writes through skill_manage, so read-before-write, duplicate refusal, credential scanning and staged approval all still apply.
  • The review child inherits the parent toolset, but its scope is narrowed to skill + skill_manage right after activation; DSH has no per-activation tool filter, so this is defence in depth, not a sandbox. Run with writeApproval: true when reviewing untrusted conversations.
  • Outbound data: only the Jev gate sends anything off-machine — a bounded digest (user message, assistant message, tool count, loaded skill names, turn index), never tool output.

Details and threat model: docs/security.md.

Development

npm ci
npm run check       # tsc against DSH 0.2.1-rc.2
npm test            # 106 unit/integration tests
npm run build       # dist/index.js
npm run smoke       # built tool → real dsh-skill + dsh-skill-filesystem catalog
npm run gate-stats  # summarize ~/.dsh/self-evolve/gates.jsonl
npm run verify      # check + test + build + smoke

CI runs the same checks on every push (.github/workflows/ci.yml).

Compatibility and known limits

  • Built and tested against DSH 0.2.1-rc.2; the plugin API is young and may move.
  • The reviewer needs the subagent service and a provider (fork by default).
  • Tool narrowing for the review child is post-hoc; see the security doc.
  • Review children run on the parent's model, so the reviewer is the expensive part of the loop. Counters, cooldown and per-session caps bound it.
  • No memory store: durable facts belong to whatever memory layer your profile composes (for example an MCP memory server), not to this plugin.

License and attribution

MIT. The upstream copyright notice is retained in LICENSE; this fork's changes are offered under the same terms. Upstream: jianghuife/dsh-self-evolve.