返回目錄

dsh-evolve-in-git

精選清單收錄維護狀態: 活躍

kytolly/dsh-evolve-in-git

讓智慧體在自定義 Git 倉庫中持續「進化」的 DeepSeek Harness 外掛。

前往 GitHub
$ dsh plugin add dsh-evolve-in-git

安裝

dsh 沒有統一的安裝指令 —— 把該外掛 README 中的設定行加入你的 profile / patch 設定,然後重啟即可。

查看安裝教學

82

星數

0

Fork

TypeScript

語言

MIT

授權條款

2026-08-21

建立於

2026-09-01

最近推送

README

dsh-evolve-in-git

DeepSeek Harness plugin version 0.6.3 license MIT

English · 中文

Git-backed long-term memory and evolution plugin for DeepSeek Harness.

Contents

What it does

This plugin treats a user-chosen or preconfigured Git repository as the memory store. It can write session notes, branch-specific records, and reusable skill drafts into that repo, then commit them as ordinary Git history.

Install

# example: install into the web profile
 dsh plugin --profile web add github:Kytolly/dsh-evolve-in-git

The bundle inserts one dsh-evolve-in-git row with the plugin defaults. Later profile patches can override repoPath, repoUrl, auth, and the storage roots.

Usage

Natural language

You do not need to remember tool names — describe the outcome and the model selects the right evolve_* / memory_* tool:

You say (or similar) The model uses
"Remember: whenever X happens, do Y" evolve_remember / memory_save
"Any memory about the deploy flow?" evolve_recall / memory_search
"Read my recent memory history" evolve_timeline
"Turn this warning into a reusable skill" evolve_skill_draft → evolve_skill_promote
"What is the memory repo's current state?" evolve_status / evolve_branches
"Undo the last memory commit" evolve_rollback

Commands (/evolve)

For explicit, deterministic control, type /evolve <subcommand>:

/evolve remember warning "pitfall" :: <content>
/evolve search deploy
/evolve skill list
/evolve skill promote evolve-process
/evolve status
/evolve help

The full command reference is under Harness entry points.

Architecture

The package is split into a framework-free core and a thin DSH adapter:

  • src/core.ts (GitMemoryCore) is the portability boundary. It depends only on Node built-ins and sibling core modules — never on @deepseek-ai/* — and resolves config from the on-disk file over the host-provided base.
  • src/index.ts (GitEvolutionService) is the adapter: it registers Cordis tools, the /evolve command, the system-prompt section, the skill provider, and the config-file route, then maps every surface onto GitMemoryCore.
Module Responsibility
src/git.ts Spawns git: clone/open, status, branch ops, push/fetch, commit, git mv, conflicts, rollback.
src/memory.ts + src/memory-index.ts Markdown+YAML-frontmatter scanning, a metadata index cache (HEAD + mtime signature), budgeted recall, timeline.
src/update.ts Versioned update: a new active record plus supersedes/supersededBy; the old file is never deleted.
src/forget.ts Soft-delete (move to archiveRoot) and restore.
src/privacy.ts Sensitive-content detection, sensitivity classification, redaction, export filtering.
src/skill.ts drafts/ ↔ enabled/ skill discovery; promote/demote via git mv; bundled-skill sync.
src/strategy.ts Slug/sanitize, draft generation from a memory, evolution suggestion, preview.
src/harness.ts /evolve command normalization/parsing plus help/usage/safety text.
src/config.ts + src/defaults.ts Config-file read/write/merge and the plugin defaults.
src/invariant.ts No-op invariant companion (the source of truth is the configured Git repo).
src/loopback.ts + src/config-route.ts Loopback-only /api/evolve-git/config route for the config-file editor.
src/client/ Browser settings section (evolve-git slot) and config-file editor.

Data layout

  • Memory — <repo>/<memoryRoot>/<kind>/<timestamp>-<slug>-<id>.md, one Markdown file per record with YAML frontmatter (kind, title, branch, source, tags, createdAt, id, updatedAt, status, supersedes, supersededBy, expiresAt, sensitivity) followed by the body.
  • Skills — <repo>/<skillsRoot>/drafts/<name>/SKILL.md (promotable) and <repo>/<skillsRoot>/enabled/<name>/SKILL.md (discoverable). Promotion is a git mv between the two, never a copy, so it stays reversible and in history.
  • Archive — <repo>/<archiveRoot>/… (same relative layout as memory); evolve_forget moves records here so they leave recall/timeline but stay recoverable. archiveRoot must remain outside memoryRoot.

Config

Web settings UI (v0.1.4+). The plugin ships a browser half that registers a first-level Settings → 演进记忆 section on the web profile's Settings page (via the settings.section slot). The form uses a SettingsScope adapter that reads and writes the per-user config file directly through the loopback-only /api/evolve-git/config route, so what the form shows is exactly what takes effect (defaults overlaid by the file) and saving writes the file immediately. Nested auth is written as one merged object, and the auth.token field is write-only (secret, redacted from read-back). Requires the profile to be restarted after install so the client manifest is rescanned.

在 GitHub 閱讀完整 README →

DSH Plugins 是獨立的 DeepSeek Harness 外掛目錄,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。