Install
$ agentstack add mcp-asimons81-hermes-dreaming ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
hermes-dreaming
[](https://github.com/asimons81/hermes-dreaming/actions/workflows/ci.yml)
A standalone, open-source staged self-improvement engine for Hermes-style memory, user, skill, and fact updates. It scans explicit source inputs, stages proposed changes in a reviewable artifact directory, and only writes to live state after an explicit apply step.
Hermes plugin
This repo now ships as a proper Hermes plugin too.
Install from GitHub with:
hermes plugins install asimons81/hermes-dreaming --enable
For a local checkout during development:
hermes plugins install file:///path/to/hermes-dreaming --enable
Once installed, use:
hermes dreaming review --help
Update the installed checkout with:
hermes dreaming update
Use hermes dreaming update --check if you only want the status check.
The plugin also bundles a Hermes skill named dreaming. Load that bare name inside Hermes if you want the guided staged workflow.
Onboarding docs
docs/onboarding.mdis the shortest path from "what is this" to the full loop.docs/install-update.mdcovers plugin install and safe fast-forward updates.docs/quickstart.mdis the copy/paste offline demo.docs/personas.mdshows how different operators use the same loop.docs/safety.mdspells out what Dreaming can and cannot mutate.
Current status
- Full feature set: create, review/open, summarize, approve, reject, diff, validate, apply, discard, compact, report-card, install-cron, status, update, all implemented
- Live memory mutation with score gating, idempotence, backups, and capacity enforcement
- Run ledger + DREAMS.md diary for auditability
- Hermes-native plugin: install once, use everywhere
- Recent-session reader with fallback chain (SessionDB → SQLite → pointer-log)
- Cron installer for nightly dry-run review
- Test suite passes locally
Install
For end-user installs, use the plugin path in docs/install-update.md. For local development:
python -m pip install -e .[dev]
If you want the optional OpenAI-compatible provider:
python -m pip install -e .[llm]
CLI
# Create an artifact from sources
dreaming create --live-root ./live --artifact-root ./artifacts --source ./sources
# Review: create and validate without applying
dreaming review --live-root ./live --artifact-root ./artifacts --source ./sources
# Open an existing artifact and print next steps
dreaming review --open ./artifacts/
dreaming summarize ./artifacts/
dreaming approve ./artifacts/ all
dreaming reject ./artifacts/ --reason "too broad"
# Inspect an artifact
dreaming diff ./artifacts/ --live-root ./live
# Validate a staged artifact
dreaming validate ./artifacts/ --live-root ./live
# Apply approved changes
dreaming apply ./artifacts/ --live-root ./live --backup-root ./backups
# Preview the apply without writing live state or creating backups
dreaming apply ./artifacts/ --live-root ./live --backup-root ./backups --dry-run
# Apply only high-priority memory and user updates, skip skills and facts
dreaming apply ./artifacts/ --live-root ./live --backup-root ./backups --priority high --target-kind memory,user
# Undo an apply: restore live files from the recorded backups
dreaming revert ./artifacts/ --live-root ./live --backup-root ./backups --yes
# Discard a staged artifact
dreaming discard ./artifacts/ --archive-root ./archive
# Show artifacts that are approved and ready to apply
dreaming inbox --artifact-root ./artifacts --apply-ready
# List available analysis providers
dreaming providers list
# Stage from the last 5 local sessions in one step (replaces manual harvest + create)
dreaming create --from-sessions 5 --live-root ./live --artifact-root ./artifacts
dreaming discard ./artifacts/ --archive-root ./archive
# Compact terminal (applied/discarded) artifacts to an archive
dreaming compact --artifact-root ./artifacts --archive-root ./archive
# Install a nightly review-only cron job
dreaming install-cron --schedule "0 3 * * *"
# Render a local operator digest
dreaming digest ./artifacts/ --weekly
# Show artifact status
dreaming status --artifact-root ./artifacts
# Safely update the installed checkout
dreaming update
dreaming update --check
Quickstart demo fixture
If you want the shortest path to "oh, I get it," use examples/quickstart/. It is an offline fixture, so no API key or external model access is required. If the dreaming entrypoint is not installed yet, swap in python -m hermes_dreaming for the same commands.
- Fixture notes:
examples/quickstart/README.md - Onboarding path:
docs/onboarding.md - Install and update:
docs/install-update.md - Runnable walkthrough:
docs/quickstart.md - Persona examples:
docs/personas.md - Safety boundaries:
docs/safety.md
Command notes
report-cardrenders a redacted shareable summary from an existing artifact and can write a JSON companion with--json.digestrenders a local operator brief to stdout only. It can include--weeklyrollups, but it does not send anything to Telegram. If you want delivery later, wrap the command in a separate transport layer that consumes stdout.createandreviewaccept repeatable--source,--from-sessions N(or--recent Nalias),--from-since 7d, and--no-llm(shorthand for--provider offline-marker). Harvest stats (sessions,redactions) print to stdout before staging.review --openprints the artifact path and the next commands.applyaccepts--dry-runfor previews,--priority low,normal,highto filter proposals, and--target-kind memory,user,skill,factto filter by destination. Filters compose; filtered-out proposals stay approved so a later apply with a different filter can still land them.revertrestores live files from the recorded backups and rolls the artifact back fromappliedtoreverted. Requires--yesfor non-interactive use. Drift detection records an audit event when the live file changed after apply, but the restore still runs.inboxsupports--apply-readyto show only artifacts where every proposal is approved (or already applied) and the artifact is instaged,approved, orappliedstatus. The inbox digest also surfaces a "Ready to apply" section.providers listintrospects the three built-in providers (offline-marker, openai-compatible, ollama) without pinging external services.--no-llmis a shorthand for--provider offline-markeroncreateandreview.- OpenAI-compatible and Ollama providers fail closed on malformed output, and each proposal must carry confidence, snippet, provenance, and approved fields before it can be written.
summarizeprints a concise decision brief for an existing artifact.approveandrejectupdate artifact metadata only, they do not touch live roots.rejectrequires a non-empty--reasonat the command layer; any code path (CLI, library, plugin) is constrained by the same rule.diffaccepts optional--live-rootand renders unified diffs when the live target root is available.applyapplies already approved proposals.--approvestill works as a compatibility shortcut for recording approvals before apply.updatesupports--remote,--branch,--check, and--no-verify.
Dream markers
The offline provider looks for explicit DREAM: lines in the source bundle.
DREAM: memory: Keep updates short and concrete.
DREAM: user: Prefer concise status updates.
DREAM: fact: {"type": "preference", "key": "tone", "value": "casual"}
DREAM: skill: path=skills/review.md | Preserve review gates and backups.
Artifact layout
Each run writes a staged artifact directory containing:
manifest.jsonREPORT.mdsources.jsonlproposals.jsonlaudit.jsonl
The artifact is intentionally simple, deterministic, and easy to review on disk or in git.
Repo docs
CONTRIBUTING.mdis the contributor guide and local workflow contractSECURITY.mdcovers private vulnerability reportingCODE_OF_CONDUCT.mdsets the collaboration rulesbrief.mdhas the project brief and non-goalsspecs/mvp-implementation-plan.mddescribes the current implementation contract and package layoutdocs/release-checklist.mdis the pre-release checklistreviews/final-sanity.mdrecords the most recent QA passresearch/upstream-overlap.mdcaptures the upstream overlap notes and references
Contributing
If you want to contribute, start with CONTRIBUTING.md.
- Use the issue templates so the scope and intent are clear.
- Run
pytest -q,python -m build --wheel, andgit diff --checkbefore requesting review. - If your change touches live roots, artifact roots, or writeback behavior, state that explicitly.
- If you change release-facing text or safety rules, make sure the docs still match shipped behavior.
Development
pytest -q
python -m pip install build
python -m build --wheel
The repo is intentionally self-contained and safe for public release review.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: asimons81
- Source: asimons81/hermes-dreaming
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.