odai-dsh-agent 0.0.10 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -3
- package/package.json +1 -1
- package/preset/odai/runtime/index.mjs +425 -43
- package/preset/odai/runtime/role-overlays.mjs +2 -2
- package/preset/odai/runtime/route-card.mjs +1 -0
- package/preset/odai/runtime/router.mjs +105 -19
- package/preset/odai/runtime/routing-config.mjs +82 -8
- package/preset/odai/runtime/semantic-memory-store.mjs +452 -0
- package/preset/odai/runtime/semantic-memory.mjs +840 -0
- package/preset/odai/runtime/skill-bundle.mjs +16 -2
- package/preset/odai/runtime/skill-evolution.mjs +1413 -0
- package/preset/odai/skills/odai/manifest.json +1 -1
- package/preset/odai/skills/odai/references/leverage.md +1 -1
- package/src/installer.mjs +1 -0
package/README.md
CHANGED
|
@@ -13,7 +13,9 @@ $DSH_HOME/.agent-presets/odai/
|
|
|
13
13
|
.odai-agent.json
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
The composition preserves every capability row and setting from the `standard` agent surface in `@deepseek-ai/dsh@0.1.0-rc.6`, then adds the scoped Odai runtime in default `auto` mode. Release verification compares the complete derived composition against that exact DSH Standard source; a missing, added, reordered, or changed Standard row fails the probe. Host-owned persistence, sandbox, approval, registries, and base controller selection remain in the selected DSH profile. Ordinary requests stay on that controller. A complete contextual
|
|
16
|
+
The composition preserves every capability row and setting from the `standard` agent surface in `@deepseek-ai/dsh@0.1.0-rc.6`, then adds the scoped Odai runtime in default `auto` mode. Release verification compares the complete derived composition against that exact DSH Standard source; a missing, added, reordered, or changed Standard row fails the probe. Host-owned persistence, sandbox, approval, registries, and base controller selection remain in the selected DSH profile. Ordinary requests stay on that controller. A complete contextual or explicit planning gap upgrades the same turn only when a planner mapping exists; the controller's durable `request/header` proves the actual route. Reviewer starts a verified child only from a complete hash-addressed evidence packet; without one it can run only as a read-only same-turn check and cannot claim independent acceptance. `execute` remains an explicit comparison mode: planner gaps delegate, while reviewer gaps delegate only from a complete hash-addressed evidence packet; an incomplete reviewer packet starts no child. `observe` changes no model and starts no child; it injects a local evidence-and-decision protocol and makes an unresolved high-impact turn read-only. For DSH compaction, an explicit user-selected summary reasoning effort overrides only that auxiliary call. When omitted, same-provider/model compaction inherits the session's current reasoning effort for cache compatibility; a cross-model target removes an effort matching that durable route, while a distinct preselected effort is preserved because the request envelope exposes no stronger provenance.
|
|
17
|
+
|
|
18
|
+
The preset includes the same local long-term semantic memory runtime as the Plugin. Default `auto` mode performs no hidden model call: it automatically captures only high-confidence durable statements from the direct-human message authenticated by the latest open-turn session event, keeps ambiguous or conflicting candidates inert, and recalls only bounded active global/project records as untrusted historical context. The controller-only `odai_memory` tool provides inspection, search, confirmation, correction, physical forgetting, exact-phrase clearing, and `auto`/`off` mode changes. Recognized secrets, contact identifiers, sensitive personal categories, temporary instructions, hypotheses, quotes, and code are rejected; the current user and project authority always override memory. State lives at `$DSH_HOME/odai/memory/store.json`, outside `.agent-presets`, so install, update, and uninstall preserve it. An invalid or symlinked store fails closed. The matcher is not a replacement for protecting the underlying DSH session history from sensitive input.
|
|
17
19
|
|
|
18
20
|
## Install
|
|
19
21
|
|
|
@@ -51,9 +53,9 @@ The Agent ships no researcher, planner, executor, reviewer, or frontend model ma
|
|
|
51
53
|
前端制作用 provider-f/model-frontend,输出上限 4096。
|
|
52
54
|
```
|
|
53
55
|
|
|
54
|
-
The controller calls `odai_routing_config` to persist that explicit choice. Researcher activation is task-gated but not price-aware: its mapping enables the narrow trigger and does not guarantee lower cost. The tool repeats that warning whenever a researcher mapping is shown; Odai must use authoritative provider prices and measured usage instead of inventing either. The user does not edit Agent files, YAML, or JSON and does not add trigger terms to later tasks. Mappings live in `$DSH_HOME/odai/routing.json`, outside the managed preset, so installer updates do not report them as drift. Audit evidence likewise lives under `$DSH_HOME/odai/session-evidence/` instead of using private DSH session-event types, so changing or removing the preset cannot make a session unreadable. Changes apply from the next user turn. If reasoning effort is omitted, the target provider/model uses its own default rather than inheriting the source controller's setting. Plugin and Agent read the same stores when both are deliberately present.
|
|
56
|
+
The controller calls `odai_routing_config` to persist that explicit choice. Researcher activation is task-gated but not price-aware: its mapping enables the narrow trigger and does not guarantee lower cost. The tool repeats that warning whenever a researcher mapping is shown; Odai must use authoritative provider prices and measured usage instead of inventing either. The user does not edit Agent files, YAML, or JSON and does not add trigger terms to later tasks. Mappings live in `$DSH_HOME/odai/routing.json`, outside the managed preset, so installer updates do not report them as drift. Audit evidence likewise lives under `$DSH_HOME/odai/session-evidence/` instead of using private DSH session-event types, so changing or removing the preset cannot make a session unreadable. Changes apply from the next user turn. Each controller turn receives a fresh merged effective-mapping snapshot, with persisted mappings preferred over deployment mappings and provenance shown even after compaction. The tool also exposes the latest current-session actual route receipt; configured targets alone never prove that a responsibility ran. If reasoning effort is omitted, the target provider/model uses its own default rather than inheriting the source controller's setting. Plugin and Agent read the same stores when both are deliberately present.
|
|
55
57
|
|
|
56
|
-
Researcher and frontend are optional prefetch/production upgrades whose missing mappings keep the original route without claiming success. Planner, executor, and reviewer are independent optional responsibilities; if a needed one has no mapping, high-impact work fails closed and remains read-only, while lower-impact work continues only where it does not depend on the missing independent responsibility. Odai never chooses a model or price on the user's behalf.
|
|
58
|
+
Researcher and frontend are optional prefetch/production upgrades whose missing mappings keep the original route without claiming success. Planner, executor, and reviewer are independent optional responsibilities; if a needed one has no mapping, high-impact work fails closed and remains read-only, while lower-impact work continues only where it does not depend on the missing independent responsibility. Same-turn responsibility upgrades are verified against DSH's effective request header; mismatch or missing evidence is recorded and cannot silently authorize writes. A generic subagent is not a responsibility route. A manual responsibility child must use an `odai-<responsibility>` label and cannot finish successfully without a matching actual-route receipt. Odai never chooses a model or price on the user's behalf.
|
|
57
59
|
|
|
58
60
|
## Controller output policy
|
|
59
61
|
|
|
@@ -87,6 +89,16 @@ The Agent keeps the managed preset's complete skill copy as its `bundled` defaul
|
|
|
87
89
|
|
|
88
90
|
An independent install must be a complete directory bundle containing `SKILL.md`, `manifest.json`, and every manifest-declared file. The runtime checks SemVer 2.0.0 `skillVersion`, an exact supported `runtimeContract`, complete-file SHA-256 integrity, and same-version content conflicts. Prompt governance and routing role contracts are selected atomically for one agent turn; project sources are scoped by that session's cwd, and changes are reconsidered on the next user turn. Explicit deployment `skillPath` or `ODAI_SKILL_PATH` remains highest priority and requires a DSH restart.
|
|
89
91
|
|
|
92
|
+
## Controlled skill evolution
|
|
93
|
+
|
|
94
|
+
Explicit user governance refinements live in `$DSH_HOME/odai/skill-evolution`, outside `.agent-presets/odai`. Agent install, update, repair, and uninstall therefore leave them intact; the Plugin reads the same default store when both surfaces are deliberately installed. This overlay is independent of the selected `bundled`/`auto`/`user` source. A custom `governance.evolutionRoot` is a deployment override and must match across Agent and Plugin to remain shared.
|
|
95
|
+
|
|
96
|
+
`odai_skill_evolution` can propose exact replacements only in existing governance Markdown: `SKILL.md`, `assets/task-state.md`, `assets/routing-roles/*.md`, and `references/*.md`. Manifest changes, executable/runtime files, undeclared paths, symlinks, stale hashes, and untracked edits are rejected. Candidates store immutable base/result snapshots and content-addressed provenance. The first `propose` call writes nothing and returns `PROPOSE ODAI EVOLUTION <proposal-digest>`, bound to the complete proposed input. Retrying that exact proposal writes a candidate only when the current open turn's latest direct-human message contains exactly one text block equal to the phrase, byte for byte.
|
|
97
|
+
|
|
98
|
+
`propose` and `rebase` never activate. Validation returns a phrase bound to the exact generation. Any `SKILL.md` or `references/dao.md` change, including additive preamble or core-section text, is `breaking`; so is any replacement that does not preserve its old text. These require `ACTIVATE BREAKING ODAI EVOLUTION <generation-id>` instead of the standard activation phrase. Model text and arguments, synthetic messages, multi-block or whitespace-altered text, stale confirmations, and other action or generation phrases cannot authorize writes. Audit evidence is derived from the authenticated session event, not supplied by the model. The tool stays discoverable without an unconditional evolution system-prompt section.
|
|
99
|
+
|
|
100
|
+
An active generation survives package updates. When its base differs from the newly bundled upstream, Odai keeps the active result visible with `rebaseRequired`; clean rebases produce another inactive candidate, while conflicts preserve base/ours/theirs evidence and do not change the pointer. Rebase is generation-bound. Rollback and deactivation phrases also bind the current active generation, preventing stale pointer authorization. `rollback` is limited to a previously active validated generation. Child agents cannot use this tool. Stop DSH before updating the Agent and restart it so the process loads the new bundled bytes. Explicit `skillPath`/`ODAI_SKILL_PATH` bypasses evolution, and `ODAI_DISABLE_EVOLUTION=1` provides an emergency startup bypass without deleting state.
|
|
101
|
+
|
|
90
102
|
## Status and uninstall
|
|
91
103
|
|
|
92
104
|
```sh
|