@rayu-dev/rayu-cli 1.5.12 → 1.5.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -9
- package/dist/rayu.js +57087 -51792
- package/package.json +1 -1
- package/scripts/postinstall.cjs +15 -0
package/README.md
CHANGED
|
@@ -51,6 +51,51 @@ Or reinstall the latest directly:
|
|
|
51
51
|
npm install -g @rayu-dev/rayu-cli
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
Prefer `rayu update`: it resolves the latest version once, installs that **exact**
|
|
55
|
+
version, and then verifies what actually landed on disk. A plain
|
|
56
|
+
`npm install -g @rayu-dev/rayu-cli@latest` resolves the mutable `latest` tag a
|
|
57
|
+
second time and can silently reinstall the version you already have when npm
|
|
58
|
+
serves cached registry metadata (packuments are cached for 5 minutes), which
|
|
59
|
+
looks like a successful update that changed nothing.
|
|
60
|
+
|
|
61
|
+
When a newer version is published, Rayu shows a one-line notice above the prompt
|
|
62
|
+
and in the welcome box at launch, with a link to
|
|
63
|
+
[the changelog](https://rayucode.com/changelog). Nothing is installed until you
|
|
64
|
+
run `rayu update` yourself.
|
|
65
|
+
|
|
66
|
+
### Automatic updates (opt-in)
|
|
67
|
+
|
|
68
|
+
Auto-updates are **off by default**. Rayu tells you an update exists but never
|
|
69
|
+
replaces your install behind your back. To turn them on, set `autoUpdates` in
|
|
70
|
+
`~/.rayu/config.json`:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"autoUpdates": true
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
To silence update checks and notices entirely:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
export DISABLE_AUTOUPDATER=1
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Two things to know before enabling automatic updates:
|
|
85
|
+
|
|
86
|
+
- **Node version.** Rayu requires **Node.js 18 or newer**. npm only *warns* when
|
|
87
|
+
a package's `engines` requirement isn't met, so if a future release raises that
|
|
88
|
+
floor, an automatic update could replace a working install with one that
|
|
89
|
+
refuses to start until you upgrade Node. `rayu update` has the same
|
|
90
|
+
constraint, but you choose when it happens.
|
|
91
|
+
- **Duplicate installs.** If Rayu is installed under two different npm prefixes
|
|
92
|
+
(for example once with `sudo`, landing in `/usr/local`, and once without,
|
|
93
|
+
landing in `~/.npm-global`), an update writes to whichever prefix npm is
|
|
94
|
+
configured for — which may not be the copy your shell actually runs. The result
|
|
95
|
+
is a "successful" update where `rayu --version` never changes. `rayu update`
|
|
96
|
+
detects this and tells you which copy is shadowing which; the automatic updater
|
|
97
|
+
does not. Run `which -a rayu` to check, and remove the copy you don't want.
|
|
98
|
+
|
|
54
99
|
---
|
|
55
100
|
|
|
56
101
|
## Uninstall
|
|
@@ -127,15 +172,27 @@ rayu --print --output-format json "list top-level folders" | jq .result
|
|
|
127
172
|
|
|
128
173
|
## Providers
|
|
129
174
|
|
|
130
|
-
Rayu
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
|
135
|
-
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
|
175
|
+
Rayu speaks **four wire formats**, so one provider entry can serve models that use
|
|
176
|
+
different protocols. Which format a request uses is decided per **model**, not per
|
|
177
|
+
provider:
|
|
178
|
+
|
|
179
|
+
| Provider | Models it serves | Wire format(s) | Auth |
|
|
180
|
+
|----------|------------------|----------------|------|
|
|
181
|
+
| **Anthropic** | Claude | Anthropic Messages | `ANTHROPIC_API_KEY` |
|
|
182
|
+
| **AWS Bedrock** | Claude **and** gpt-oss / qwen / deepseek / mistral / … | Anthropic Messages for Claude, OpenAI Chat for the rest | `AWS_BEARER_TOKEN_BEDROCK` (Bedrock API key) |
|
|
183
|
+
| **Microsoft Azure** | Claude **and** GPT deployments | Anthropic Messages for Claude, OpenAI Responses for the rest | `ANTHROPIC_FOUNDRY_API_KEY` / `AZURE_OPENAI_API_KEY` |
|
|
184
|
+
| **Google Vertex AI** | Gemini, Claude, **and** Llama / Mistral / Qwen (MaaS) | GenAI, Anthropic Messages, OpenAI Chat | Google OAuth / ADC |
|
|
185
|
+
| **OpenAI-compatible** | NVIDIA, DeepSeek, Kimi, OpenRouter, GLM, Ollama, LM Studio, … | OpenAI Chat | `RAYU_OPENAI_API_KEY` or per-provider key |
|
|
186
|
+
| **Anthropic-compatible** | LongCat, Ollama Cloud | Anthropic Messages | Bearer key |
|
|
187
|
+
| **GitHub Copilot** | Copilot models | OpenAI Chat | GitHub OAuth device flow |
|
|
188
|
+
| **Kiro** | Claude via AWS CodeWhisperer | CodeWhisperer event-stream | API key or `kiro-cli` login |
|
|
189
|
+
| **Rayu (hosted)** | Curated hosted models | Anthropic Messages | Your Rayu account (JWT) |
|
|
190
|
+
| **Custom** | Anything you declare | **you pick**: OpenAI Chat, OpenAI Responses, or Anthropic Messages | your key |
|
|
191
|
+
|
|
192
|
+
**Custom providers need no code change.** Run `/connect` → *Custom provider*, give
|
|
193
|
+
it a name, pick the API format its endpoint speaks, enter the base URL, the model
|
|
194
|
+
ids and your key. Declare whether it supports reasoning and images so Rayu never
|
|
195
|
+
sends a parameter your endpoint would reject.
|
|
139
196
|
|
|
140
197
|
**Google Gemini** is available three ways:
|
|
141
198
|
1. **Gemini API key** (`GEMINI_API_KEY`) via the OpenAI-compatible endpoint
|