Memory
DSH-AGINT
Anmulzhao/DSH-AGINT · ★ 8
Self-evolving agent framework on DeepSeek Harness (dsh): 40 Cordis plugins, 4 presets, memory · reflection · gates · metrics · an auditable evolution loop.
Manifest details
安装
dsh plugin --profile web add 'github:Anmulzhao/DSH-AGINT#32275668e6c911e931ee91ecff4f7877d9bb482c'GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
AGINT
English | 中文
A self-evolving agent framework built on DeepSeek Harness (
dsh).
v0.15.0 · 40 Cordis plugins (36 mount declarations) · 1 preset · 25 preset tool rows · 27 cron jobs. For live numbers, see the LOCAL-STATE block at the end of AGENTS.md.
- Philosophy: beauty = simple + true + dependable + proactive + safe. When two of these conflict, the earlier one wins. Full text: Wiki PHILOSOPHY.
- Position:
dshis the upstream runtime. AGINT is a specification plus a component set on top of it. It is not a fork. AGINT is not an AGI implementation. It is the engineering skeleton that leads toward AGI: memory, reflection, constraints, metrics, evaluation. Every new feature must pass D-QAF evaluation. - Constitution: the D-QAF four-stage pipeline, the HARM four-dimension metrics, and the evolution memory layer. See
docs/evolution-framework.md. Automation is the default. Human approval is only a fallback. Every new mechanism ships with a kill-switch, enabled out of the box, with a configured degraded fallback and an audit exit.
Four layers
| Layer | Content | Location |
|---|---|---|
| bundle | The whole: the dsh bundle package @agint/host (all plugins plus mount patches) |
package.json + cordis.patch.yml |
| preset | The Zhinjin (智进) persona, its tool set, and its skills; 1 preset: agint (main line) |
presets/agint/ |
| plugin | 40 Cordis plugins (36 mount declarations) in 8 groups (memory / scheduling / reflection / quality / closed loop / execution / observation / perception). List: docs/plugins/ |
plugins/agint-*/ |
| data | Memory / rules / metrics / dreams / reviews | Runtime data. It does not enter the repository. |
Install
Prerequisites: Node.js ≥ 20 · python3 · dsh ≥ 0.1.7-rc.1 (matrix in VERSION) · the target profile is initialized (run dsh web once for web, or launch the desktop app once for desktop).
git clone https://github.com/Anmulzhao/DSH-AGINT.git ~/projects/AGINT
cd ~/projects/AGINT
./install/install.sh --profile=web # web is the default; use --profile=desktop for the desktop profile
After the install, restart the target profile (re-open dsh web, or quit and re-open the desktop app). The bundle layer and the profile layer do not hot-reload. To remove AGINT, run ./install/uninstall.sh.
One preset serves every profile:
$DSH_HOME/.agent-presets/agint/holds a single file set shared by web and desktop. Its 25 tool declarations therefore anchor to.agint-bundle/plugins/(the bundle's main mount source) and do not vary with--profile— installing web and then desktop will not point the first one at an empty directory. The installer verifies all 25 targets exist and reports any that are missing.
Four hard rules:
- Always name the exact version when you upgrade
dsh.npm i -g @deepseek-ai/dsh@latestsilently downgrades. - The
node_modulesentry inside the package is a junction to the officialdshpackage.rm -rffollows the link and deletes that package. Keep it when you uninstall. - If the install ends with no error but nothing looks installed, the bundle is most likely not registered in
dsh.profile.bundles(install step 3.5). !!jsincordis.patch.ymlmust be a scalar. A block collection or a template makes the whole bundle patch fail to parse.dshthen silently skips@agint/host, and the UI shows no error. Runnode bin/check-patch-yaml.mjsafter you edit the file.
For more troubleshooting, see docs/dsh-integration.md. For container deployment, use docker/.
Repository self-checks
After you change a plugin, run four steps: node bin/check-patch-yaml.mjs (the patch YAML parses) → node bin/check-wiring.mjs (the wiring is live) → node bin/check-dsh-compat.mjs (dsh compatibility) → node bin/check-boundary.mjs (the capability boundary is clean). The other self-checks (manifest / tool schema / memory layer / LOCAL-STATE write-back) carry their own usage notes in the scripts under bin/.
Documentation map
| What you want | Where to go |
|---|---|
| Runtime state (real numbers, authoritative) | The LOCAL-STATE block at the end of AGENTS.md |
| Architecture / plugin detail | docs/architecture.md · docs/plugins/ |
dsh integration / install troubleshooting |
docs/dsh-integration.md |
| Security boundary / kill-switch list | docs/security-boundary.md |
| Capability ownership / boundary rules | docs/capability-boundary.md |
| Known gaps (read this before you draw a conclusion) | docs/known-limitations/ |
| Ops SOP / pitfall records / evaluation scenarios | docs/operations/ · docs/lessons/ · eval/scenarios/ |
| Roadmap / changelog / PHILOSOPHY | GitHub Wiki |
Docs under docs/ are written in Chinese. This README is the only English entry point.
Three environment variables: DSH_HOME (the dsh data root, default $HOME/.dsh); AGINT_PROFILE (the default target profile for install.sh, web if unset); AGINT_HOME, which has two meanings — install.sh reads it as the source root, while plugins read it as the data root. Set it wrong and the system writes data into the repository directory. The design note is in docker/entrypoint.sh.
License
MIT