Skip to content

Commit 07f568d

Browse files
committed
docs: self-contained README, no external issue/PR references
1 parent ef1e6f6 commit 07f568d

1 file changed

Lines changed: 19 additions & 21 deletions

File tree

‎README.md‎

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@
33
[![ci](https://github.com/TheStreamCode/hermes-muse-code/actions/workflows/ci.yml/badge.svg)](https://github.com/TheStreamCode/hermes-muse-code/actions/workflows/ci.yml)
44

55
Use Meta **Muse Spark** in [Hermes Agent](https://github.com/NousResearch/hermes-agent)
6-
billed to your **Muse Code monthly subscription** — no pay-as-you-go API key.
6+
billed to your **Muse Code monthly subscription** — no pay-as-you-go API key required.
77

8-
Hermes' built-in `meta-ai` provider only accepts explicit API keys, so
9-
subscription users burn pay-as-you-go tokens there while the same model bills
10-
to their subscription elsewhere (upstream: Hermes issue
11-
[#102535](https://github.com/NousResearch/hermes-agent/issues/102535), PR
12-
[#102536](https://github.com/NousResearch/hermes-agent/pull/102536) — macOS
13-
only). This plugin closes the gap wherever the `omp` CLI is installed by
14-
reusing its Muse Code login.
8+
Hermes' built-in Meta provider only accepts explicit API keys, so subscribers
9+
end up metered twice: once for the subscription, once per token. This plugin
10+
adds a `muse-code` provider that reuses the local `omp` login, routing the
11+
same models through the subscription you already pay for.
1512

1613
## Requirements
1714

15+
- Hermes Agent `>= 0.21.3`
1816
- The `omp` CLI (Oh My Pi) with an active Muse Code login
1917

2018
One-time login (browser OAuth, done once in `omp`):
@@ -36,28 +34,27 @@ hermes plugins install TheStreamCode/hermes-muse-code --enable
3634
hermes chat -m muse-spark-1.3 --provider muse-code
3735
```
3836

39-
Or pick provider `muse-code` from `hermes model`. Available models are the
40-
Muse Spark family (`muse-spark-1.1/1.2/1.3`, `-contributor` tiers).
37+
Or pick provider `muse-code` from `hermes model`. Serves the Muse Spark
38+
family (`muse-spark-1.1` / `1.2` / `1.3`, including `-contributor` tiers).
4139

4240
## Configuration
4341

4442
| Variable | Purpose | Default |
4543
|---|---|---|
46-
| `MUSE_CODE_SUB_TOKEN` | Explicit subscription key. Wins over the auto-fetch; set this to pin a key manually. | _(fetched from `omp`)_ |
44+
| `MUSE_CODE_SUB_TOKEN` | Explicit subscription key. Wins over the auto-fetch; set it to pin a key manually. | _(resolved from `omp`)_ |
4745
| `HERMES_MUSE_CODE_SUB_AUTO` | Set to `0` to disable the automatic `omp` lookup. | `1` |
4846

4947
## How it works
5048

51-
On load the plugin runs `omp token muse-code --raw` (a JSON blob;
52-
`omp` owns OAuth + refresh), extracts the subscription-bound `apiKey`
53-
field, and exposes it as `MUSE_CODE_SUB_TOKEN` for a regular `api_key`
54-
provider against `https://api.meta.ai/v1` over the Responses API
55-
(`codex_responses`, same wire as the bundled `meta-ai` provider, so prompt
56-
caching applies). The key lives only in process memory and is never logged.
57-
Each fresh `hermes` process resolves a fresh key; explicit configuration
58-
always keeps priority. A standalone login flow inside the plugin is
59-
deliberately out of scope: Meta's OAuth client is private to the official
60-
apps, so reusing their login is the only stable path.
49+
On load the plugin runs `omp token muse-code --raw` (`omp` owns OAuth and
50+
refresh), takes the subscription-bound `apiKey` from the returned credential,
51+
and exposes it as `MUSE_CODE_SUB_TOKEN` for a standard `api_key` provider
52+
against `https://api.meta.ai/v1` over the Responses API — the same wire as
53+
the bundled Meta provider, so prompt caching applies. The key lives only in
54+
process memory and is never logged. Every fresh `hermes` process resolves a
55+
fresh key; explicit configuration always takes precedence. A standalone login
56+
flow inside the plugin is deliberately out of scope: the OAuth client belongs
57+
to the official apps, so reusing their login is the only stable path.
6158

6259
## Troubleshooting
6360

@@ -68,6 +65,7 @@ apps, so reusing their login is the only stable path.
6865
- **Long-lived gateway workers** — the key is resolved once per process:
6966
`hermes chat` always gets a fresh one, but restart gateway workers after
7067
an `omp` credential rotation.
68+
- **No `omp` on PATH** — the plugin silently skips; install `omp` first.
7169

7270
## Contributing
7371

0 commit comments

Comments
 (0)