docs(agents): Routstr is now the AI upstream (githappens node)
Record the working node, the fund/refund recipe, the aggregator outage, the 'orangesync bad key' trap, and that Netlify snapshots env at deploy (redeploy after env changes).
This commit is contained in:
parent
00aab5369b
commit
972941d688
1 changed files with 13 additions and 10 deletions
23
AGENTS.md
23
AGENTS.md
|
|
@ -126,16 +126,19 @@ session with **no other memory of this project**. So:
|
|||
override the Netlify gateway (any OpenAI-compatible endpoint). For a
|
||||
**sats-only** provider use Routstr (`SASQUATCH_AI_BASE=https://api.routstr.com/v1`,
|
||||
key = a cashu…/sk- session token; `SASQUATCH_MODELS` must match `PROXY_MODELS`).
|
||||
⚠️ The **aggregator `api.routstr.com` is DOWN** (404 everywhere) but the
|
||||
network is alive: nodes announce on Nostr as **kind 38421** with the endpoint
|
||||
in a `u` tag (`d=<pubkey>`), and ~9 were serving models on 2026-09-27
|
||||
(e.g. `https://ai.orangesync.tech`, `routstr.cypherpunk.today`,
|
||||
`routstr.githappens.space`). To use a node: fund an `sk-` key via
|
||||
`POST <node>/v2/lightning/invoice {amount_sats,purpose:"create"}` (or import a
|
||||
Cashu token via `GET <node>/v1/balance/create?initial_balance_token=cashuA…`),
|
||||
then set `SASQUATCH_AI_BASE=<node>/v1`, `SASQUATCH_AI_KEY=sk-…`,
|
||||
`SASQUATCH_MODELS=<slugs>` in Netlify env — **no client redeploy needed** (the
|
||||
server falls back to its configured model if the client's slug isn't allowed).
|
||||
⚠️ The **aggregator `api.routstr.com` is DOWN** (404) — use a **node**.
|
||||
Nodes announce on Nostr as **kind 38421** with the endpoint in a `u` tag.
|
||||
**Live + working (2026-09-27): `https://routstr.githappens.space`** (accepts
|
||||
the minibits mint; `gemini-3-6-flash` answers). Others were up too but
|
||||
`ai.orangesync.tech` issued an `sk-` key that its own inference endpoint
|
||||
rejected ("User not found") — always test inference before committing funds.
|
||||
Funding: `POST <node>/lightning/invoice {amount_sats,model}` → pay bolt11 →
|
||||
`GET <node>/lightning/invoice/<id>/status` → `api_key` (`sk-…`). Refund:
|
||||
`POST <node>/v1/balance/refund` → a Cashu token (recoverable/portable).
|
||||
Then set `SASQUATCH_AI_BASE=<node>/v1`, `SASQUATCH_AI_KEY=sk-…`,
|
||||
`SASQUATCH_MODELS=<slugs>` — **Netlify snapshots env at deploy, so redeploy
|
||||
after changing it**. The proxy substitutes its first allowed model when the
|
||||
client's slug isn't allowed, so the client list need not match.
|
||||
**AI answers are Pro-only**: free users get the static FAQ/glossary + local
|
||||
relay lookups only (`if (isPro)` gates the AI block in `SasquatchGuide`).
|
||||
Pro access (`useSasquatchPro`) is granted by a provider-authored zap receipt,
|
||||
|
|
|
|||
Loading…
Reference in a new issue