Back to directory

dsh-muse

Maintenance: Active

ttmouse/dsh-muse

Muse-like persistence for DSH: durable autonomy across restarts + silent proactive heartbeat

View on GitHub
$ dsh plugin add dsh-muse

Install

dsh has no central install command — add this plugin’s entry (documented in its README below) to your profile or patch config, then restart.

How installs work

0

stars

0

forks

TypeScript

Language

MIT

License

2026-10-04

Created

2026-10-17

Last push

README

dsh-muse

Give your DSH agent Muse-like persistence: authorize once, and it keeps working across restarts — plus a silent heartbeat that only speaks when there is something worth saying.

中文说明

What is this

Three DSH plugins + a set of experience recipes that replicate the core feel of Meta Muse: one long-lived conversation where the agent watches, keeps going, and only speaks when it matters.

Piece What it does
muse/ — @deepseek-ai/dsh-muse Persists your grant with proof of the original human message; a keeper re-arms disarmed active goals on session resume, so long-running goals survive process restarts
tool-muse/ — @deepseek-ai/dsh-tool-muse The muse_autonomy model tool: only a direct human request can grant or revoke autonomy; auto-continuations and subagents are always rejected
tool-memory/ — @deepseek-ai/dsh-tool-memory memory_save tool + per-turn memory injection over a human-editable plain-text memory file (~/.dsh/memories/main.md) — the "gets smarter over time" piece
docs/ Mechanism analysis, proactivity design (event-driven + speak/not-speak gate), install notes, release checklist

Security boundary inherited from dsh-goal: activation never auto-inherits. Manual disarm always wins; paused/blocked goals are never auto-resumed.

Install

Requires a DSH runtime whose plugin tree includes the goal family (dsh-goal, dsh-goal-round-driver).

# in your profile directory, e.g. ~/.dsh/profiles/web
dsh plugin --profile web add <published-package-or-git-url>   # both packages

Developing from a clone (verified on a fresh git clone):

pnpm install && pnpm build && pnpm -r test && pnpm test:timers

Then add both bundles to your profile's dsh.profile.bundles list, after the goal family. Packages carry their own dsh.bundle.patch metadata, so the plugin panel recognizes them as profile-level plugins. If your runtime version differs from the peer range, grant a per-profile compatibility exemption (compatibility.json).

A ready-made composition example lives at composition example examples/muse.cordis.yml and install notes in docs/install-notes.md.

Experience it

  1. Continuous pursuit — in a new session:

    Create a long-term goal: <your task>. I'm leaving — keep going autonomously, don't ask me, until it's done.

    Watch it call create_goal, then muse_autonomy { autonomy: true }, then run goal rounds back to back.

  2. Survives restarts — stop the runtime, start it again, reopen the session, say "continue". The keeper re-arms the goal from the persisted grant; no re-authorization needed.

  3. Silent heartbeat — schedule a recurring check with "check but don't speak unless there's something worth saying" semantics. See docs/experience-guide.md and docs/proactivity-design.md.

Docs

Status

The timer-first loop has package and CLI integration tests, including real AgentLoop + JSONL cold recovery. Current work focuses on bounded progress in the same conversation, waiting/completion state and quiet reflection; external events and other conversations are deferred. See docs/timer-first.md for behavior, verification and remaining limits.

License

MIT

Timer-first progress loop / 定时推进闭环 — same-session routines, waiting/completion state, native cold wake, non-human mailbox delivery and proposal-only reflection.

AD

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.