From 2609d04b8771127a62d19d80466e0685f5042edb Mon Sep 17 00:00:00 2001
From: zFarbp
Date: Wed, 23 Sep 2026 15:27:19 +0200
Subject: [PATCH 1/4] feat: add Muse Code as a first-class provider
Read-only MSP sessions under ~/.local/share/muse, muse exec inject, UI/docs
coverage, soft Spark model catalog, and transcript usage with $0 actual spend.
Co-authored-by: Cursor
---
AGENTS.md | 6 +-
README.md | 4 +-
docs/cli/manual.md | 2 +-
docs/provider-freshness.md | 8 +-
docs/screenshots/canvas.png | Bin 564746 -> 551748 bytes
docs/screenshots/sessions.png | Bin 381500 -> 336662 bytes
docs/screenshots/statistics.png | Bin 336552 -> 336864 bytes
docs/screenshots/stats.png | Bin 0 -> 336864 bytes
packages/server/package.json | 2 +-
packages/server/src/check.ts | 2 +
.../src/providers/freshness/fixtures.ts | 41 ++
.../src/providers/freshness/inject-flags.ts | 36 +-
.../server/src/providers/freshness/probe.ts | 10 +
packages/server/src/providers/muse/agents.ts | 86 +++++
.../server/src/providers/muse/discover.ts | 352 ++++++++++++++++++
packages/server/src/providers/muse/index.ts | 121 ++++++
packages/server/src/providers/muse/inject.ts | 213 +++++++++++
packages/server/src/providers/muse/paths.ts | 72 ++++
.../server/src/providers/muse/transcript.ts | 153 ++++++++
packages/server/src/providers/registry.ts | 2 +
packages/server/src/routes/plugins.ts | 38 +-
packages/server/src/routes/run.ts | 19 +-
packages/server/src/routes/search.ts | 1 +
packages/server/src/routes/settings.ts | 9 +-
packages/server/src/server.ts | 5 +
packages/server/src/watch.ts | 22 ++
packages/server/src/workflows/executor.ts | 24 +-
.../server/src/workflows/provider-agent.ts | 3 +
packages/server/test/check.test.ts | 6 +
packages/server/test/cli-inventory.test.ts | 4 +
.../server/test/fixtures/providers/README.md | 4 +
.../session.jsonl | 9 +
.../session.jsonl | 3 +
packages/server/test/inject-flags.test.ts | 2 +-
packages/server/test/muse-provider.test.ts | 144 +++++++
.../server/test/provider-fixtures.test.ts | 39 ++
packages/server/test/skill-invoke.test.ts | 6 +
packages/shared/package.json | 2 +-
packages/shared/src/graph.ts | 1 +
packages/shared/src/session.ts | 3 +-
packages/web/package.json | 2 +-
.../src/components/ProviderFilterChips.vue | 3 +-
packages/web/src/lib/providers.ts | 19 +-
packages/web/src/panels/HandoffModal.vue | 16 +-
packages/web/src/panels/InjectModal.vue | 14 +
packages/web/src/panels/KnotPanel.vue | 13 +-
packages/web/src/panels/McpToolPanel.vue | 1 +
packages/web/src/panels/SessionInfoPanel.vue | 7 +-
packages/web/src/panels/StatsCharts.vue | 2 +-
packages/web/src/theme/theme.css | 5 +
packages/web/src/views/GraphEditor.vue | 2 +-
.../web/src/views/dashboard/ActivityView.vue | 2 +-
.../web/src/views/dashboard/AgentsView.vue | 42 ++-
.../web/src/views/dashboard/FavoritesView.vue | 1 +
packages/web/src/views/dashboard/MetaView.vue | 12 +
packages/web/src/views/dashboard/RunsView.vue | 4 +-
.../web/src/views/dashboard/SkillsView.vue | 2 +-
.../web/src/views/dashboard/UsageView.vue | 62 ++-
.../views/graph-editor/NodeContextMenu.vue | 1 +
59 files changed, 1605 insertions(+), 59 deletions(-)
create mode 100644 docs/screenshots/stats.png
create mode 100644 packages/server/src/providers/muse/agents.ts
create mode 100644 packages/server/src/providers/muse/discover.ts
create mode 100644 packages/server/src/providers/muse/index.ts
create mode 100644 packages/server/src/providers/muse/inject.ts
create mode 100644 packages/server/src/providers/muse/paths.ts
create mode 100644 packages/server/src/providers/muse/transcript.ts
create mode 100644 packages/server/test/fixtures/providers/muse/sessions/01a0ce3e-daea-76f0-99fc-d53076374955/session.jsonl
create mode 100644 packages/server/test/fixtures/providers/muse/sessions/01a0ce3e-daea-76f0-99fc-d53076374955/subagent/39e5d5fc-1c2e-4acc-a294-741942f8fbbf/session.jsonl
create mode 100644 packages/server/test/muse-provider.test.ts
diff --git a/AGENTS.md b/AGENTS.md
index a533372..89bf1b4 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -1,7 +1,7 @@
# threadle — agent instructions
threadle is a local-first node-graph patchbay for CLI agent sessions (Claude Code,
-opencode, Cursor Agent, Antigravity, Codex, GitHub Copilot, Grok Build): observability (blueprints, activity, statistics) plus context
+opencode, Cursor Agent, Antigravity, Codex, GitHub Copilot, Grok Build, Muse Code): observability (blueprints, activity, statistics) plus context
wiring/handoff between sessions on a canvas.
## Vocabulary (UI + docs)
@@ -34,7 +34,7 @@ Plain terms lead. Graph JSON keeps historical type ids for compatibility.
and the built-in `NodeDefinition` catalog (`src/nodes/`). Single source of
truth; UI and server both import it.
- `packages/server` — Hono API (`bin: threadle`). Providers under
- `src/providers/{claude-code,opencode,cursor,antigravity,codex,copilot,grok}` read agent storage **read-only**;
+ `src/providers/{claude-code,opencode,cursor,antigravity,codex,copilot,grok,muse}` read agent storage **read-only**;
all runs/injections go through each tool's CLI or HTTP surface.
- `packages/web` — Vue 3 + Vue Flow. True-black monochrome theme
(`src/theme/theme.css`); no emojis, text glyphs only (❯ ⎇ ⟨/⟩ ▤ ⚙ ✦).
@@ -49,7 +49,7 @@ Plain terms lead. Graph JSON keeps historical type ids for compatibility.
custom nodes / stdlib / recipes. Shared pure helpers live in
`packages/shared` (`judge`, `until`, `wait-idle`, `iterator`, …).
- Never write into `~/.claude/projects`, opencode's SQLite, `~/.cursor`
- chats/transcripts, `~/.gemini/antigravity-cli`, `~/.codex`, `~/.copilot`, or `~/.grok`; parsers must skip unknown
+ chats/transcripts, `~/.gemini/antigravity-cli`, `~/.codex`, `~/.copilot`, `~/.grok`, `~/.muse`, or `~/.local/share/muse`; parsers must skip unknown
record types, not throw (formats are undocumented and churn).
- All list/table UIs: mono micro-labels, right-aligned numeric columns,
`minmax(0, 1fr)` name columns, values ellipsize instead of wrapping.
diff --git a/README.md b/README.md
index 334051b..3904594 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
-Your agents write everything down: transcripts, tool calls, files touched, spend. Then nobody reads it, and the context dies at each tool boundary. threadle reads it, draws it, and lets you wire it into the next run. Every [Claude Code](https://claude.com/claude-code), [opencode](https://opencode.ai), [Cursor](https://cursor.com) `agent`, [Antigravity](https://antigravity.google) `agy`, [Codex](https://github.com/openai/codex), [GitHub Copilot](https://github.com/features/copilot) CLI, and [Grok Build](https://x.ai/cli) session becomes a wireable node. Inspect what happened. Hand context across tools. Run the pipeline.
+Your agents write everything down: transcripts, tool calls, files touched, spend. Then nobody reads it, and the context dies at each tool boundary. threadle reads it, draws it, and lets you wire it into the next run. Every [Claude Code](https://claude.com/claude-code), [opencode](https://opencode.ai), [Cursor](https://cursor.com) `agent`, [Antigravity](https://antigravity.google) `agy`, [Codex](https://github.com/openai/codex), [GitHub Copilot](https://github.com/features/copilot) CLI, [Grok Build](https://x.ai/cli), and [Muse Code](https://dev.meta.ai) session becomes a wireable node. Inspect what happened. Hand context across tools. Run the pipeline.
**Yours, with no catch.** Discovery is read-only against storage you already have. threadle binds `127.0.0.1`, has no account and no telemetry, and does not upload transcripts. Pressing ▶ drives each tool’s own CLI under your credentials. If threadle disappears tomorrow, your sessions are exactly where they always were.
@@ -118,7 +118,7 @@ The full set lives in [`docs/screenshots/`](https://github.com/threadle-sh/threa
## Trust
-Parsers never mutate `~/.claude`, opencode’s SQLite, `~/.cursor`, `~/.gemini/antigravity-cli`, `~/.codex`, `~/.copilot`, or `~/.grok`. Runs spawn the official CLI, and *it* writes new sessions.
+Parsers never mutate `~/.claude`, opencode’s SQLite, `~/.cursor`, `~/.gemini/antigravity-cli`, `~/.codex`, `~/.copilot`, or `~/.grok`, `~/.muse`, or `~/.local/share/muse`. Runs spawn the official CLI, and *it* writes new sessions.
The server rejects foreign `Host` (DNS rebinding) and cross-site write `Origin` (CSRF). There is no remote mode and no auth token. List prices ship bundled (CI-refreshed from [models.dev](https://models.dev)). The process does not fetch them at runtime. Everything threadle persists is under `~/.config/threadle/`.
diff --git a/docs/cli/manual.md b/docs/cli/manual.md
index 6238095..e86244d 100644
--- a/docs/cli/manual.md
+++ b/docs/cli/manual.md
@@ -515,7 +515,7 @@ UI **▶** (no gates) and **≫** use the same `POST /api/run/workflow` path as
| `no skill named "…" found` | Install/unmute the skill, or mute the node in the UI and re-export |
| `nothing to run for "…"` | Path, recipe id, template id, or graph id wrong; run `threadle recipes` / `--list-templates` |
| `threadle server not reachable` | Start `threadle --no-open` before `jobs` / `services` / `skills` / `open` / `run --detach` |
-| Agent CLI not found | Install Cursor `agent` / Claude Code / opencode / Antigravity `agy` / Codex / GitHub Copilot / Grok Build; ensure on `PATH` — or run `threadle check` |
+| Agent CLI not found | Install Cursor `agent` / Claude Code / opencode / Antigravity `agy` / Codex / GitHub Copilot / Grok Build / Muse Code; ensure on `PATH` — or run `threadle check` |
| Wrong project files | Pass `--dir` to the repo root you intend |
| `context not materialized` / blocked ❝ | Wire a session/agent (extracts mid-run), drag from Library, or mute |
diff --git a/docs/provider-freshness.md b/docs/provider-freshness.md
index ba89ce2..317d85b 100644
--- a/docs/provider-freshness.md
+++ b/docs/provider-freshness.md
@@ -1,6 +1,6 @@
# Keeping providers fresh
-Agent CLIs (Claude Code, Cursor `agent`, opencode, Antigravity `agy`, Codex, GitHub Copilot, Grok Build) store transcripts in **undocumented** formats and rename flags without notice. threadle does **not** mirror their configs/APIs with a daily diff bot.
+Agent CLIs (Claude Code, Cursor `agent`, opencode, Antigravity `agy`, Codex, GitHub Copilot, Grok Build, Muse Code) store transcripts in **undocumented** formats and rename flags without notice. threadle does **not** mirror their configs/APIs with a daily diff bot.
## Strategy
@@ -33,7 +33,7 @@ It does **not** parse transcripts or prove schemas (that’s fixture CI).
### What `--providers` adds
-1. **Golden fixtures** (when `packages/server/test/fixtures/providers` is on disk — repo checkout / CI): parse one sample per provider (`fixture:claude-code`, `fixture:cursor`, … `fixture:grok`). Published installs skip these rows.
+1. **Golden fixtures** (when `packages/server/test/fixtures/providers` is on disk — repo checkout / CI): parse one sample per provider (`fixture:claude-code`, `fixture:cursor`, … `fixture:grok`, `fixture:muse`). Published installs skip these rows.
2. **Inject flag probes** for each **installed** CLI — run help and look for inject-critical tokens listed in [`packages/server/src/providers/freshness/inject-flags.ts`](../packages/server/src/providers/freshness/inject-flags.ts):
| Detail | Behavior |
@@ -41,13 +41,15 @@ It does **not** parse transcripts or prove schemas (that’s fixture CI).
| Missing binary | Skip (`ok`) |
| Help text contains any `match` string | `ok` |
| No match | `!!` and non-zero exit |
-| Subcommand help | Some probes use e.g. `opencode run --help` (not only top-level `--help`) |
+| Subcommand help | Some probes use e.g. `opencode run --help` or `muse exec --help` (not only top-level `--help`) |
| Bracket notation | Claude documents `--append-system-prompt[-file]` — both that form and the long flag count |
| Fixture missing | Skip (`ok`) |
| Fixture parse / shape fail | `!!` and non-zero exit |
A `!! flag:` row means “help no longer mentions a string we rely on for inject/run” — confirm with the real CLI before changing adapters (help text and the live flag can diverge). A `!! fixture:` row means a golden sample stopped normalizing.
+**Muse models.** Upstream has no `muse models` list yet. threadle’s model picker scrapes Spark ids from `muse exec --help` / `muse --help`, keeps hardcoded fallbacks, and honors `MUSE_MODELS`. That catalog is soft — expand fallbacks or env when Meta renames Spark ids.
+
## Adding a fixture
1. Anonymize one real transcript line (paths → `/tmp/…`, strip secrets).
diff --git a/docs/screenshots/canvas.png b/docs/screenshots/canvas.png
index 8f0a32b5ac387e16b744a792acf8f9fe345fcd72..6c9a44ffef7c94ead944928cd323a9adcdf5d36e 100644
GIT binary patch
literal 551748
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