aegis-desktop 0.7.8 → 0.8.0
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 +16 -17
- package/lib/local/engine.js +225 -188
- package/lib/local/local.js +433 -0
- package/lib/local/tools.js +7 -56
- package/lib/settings.js +28 -31
- package/main.js +44 -7
- package/package.json +9 -4
- package/renderer/app.js +211 -266
- package/renderer/budget.js +22 -17
- package/renderer/index.html +8 -3
- package/renderer/usage.js +4 -4
- package/vendor/env-file.js +182 -0
- package/lib/local/endpoints.js +0 -228
- package/lib/local/ollama.js +0 -77
- package/lib/local/providers.js +0 -679
- package/renderer/preset-fill.js +0 -79
package/README.md
CHANGED
|
@@ -25,9 +25,8 @@ Either way, on first launch:
|
|
|
25
25
|
3. Pick a model class from the picker at the bottom of the composer.
|
|
26
26
|
|
|
27
27
|
The published package is [`aegis-desktop`](https://www.npmjs.com/package/aegis-desktop)
|
|
28
|
-
on npm; this repo is its source.
|
|
29
|
-
|
|
30
|
-
account, either the pooled margin or the BYOK handling fee.
|
|
28
|
+
on npm; this repo is its source. Both classes bill your AEGIS account — either
|
|
29
|
+
the pooled margin, or the BYOK handling fee on top of your own provider key.
|
|
31
30
|
|
|
32
31
|
## Using it
|
|
33
32
|
|
|
@@ -50,21 +49,18 @@ with **Settings → "Confirm before running tools"** — on by default.
|
|
|
50
49
|
|
|
51
50
|
## Model classes
|
|
52
51
|
|
|
53
|
-
Pick
|
|
52
|
+
Pick either of two routes from the model-class picker, switchable
|
|
54
53
|
mid-conversation with context intact:
|
|
55
54
|
|
|
56
55
|
| Class | Transport | Key held in | Billed? |
|
|
57
56
|
|---|---|---|---|
|
|
58
57
|
| **Aegis Cloud** | `aegiscloud.org` — one entry, **Nexus**; the pool auto-routes across whichever providers are live | main process | yes — pooled margin |
|
|
59
|
-
| **Ollama** | local `ollama` daemon | no key needed | **no** — nothing leaves the machine |
|
|
60
|
-
| **Custom OpenAI-compatible** (LM Studio, vLLM, llama.cpp, an Ollama shim) | direct from the desktop app, **local base URLs only** | main process — never sent to the renderer | **no** — free lane, local only |
|
|
61
|
-
| **Anthropic-compatible** (a local Messages-format gateway — LiteLLM, claude-code-router) | direct from the desktop app, **local base URLs only** | main process | **no** — free lane, local only |
|
|
62
58
|
| **Bring your own key** | your provider key, relayed by AEGIS — see below | main process | yes — flat AEGIS handling fee |
|
|
63
59
|
|
|
64
|
-
Get a free AEGIS key at **https://aegiscloud.org**. The
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
Get a free AEGIS key at **https://aegiscloud.org**. The local-endpoint classes
|
|
61
|
+
that used to live here — Ollama, and the OpenAI-/Anthropic-compatible direct
|
|
62
|
+
lanes — have been removed; the hosted providers they could reach are on the
|
|
63
|
+
**Bring your own key** class, which bills the handling fee.
|
|
68
64
|
|
|
69
65
|
### Bring your own key (BYOK)
|
|
70
66
|
|
|
@@ -72,10 +68,13 @@ For the providers AEGIS does **not** run in its pool — bring your own key and
|
|
|
72
68
|
the models that key unlocks appear as their own entries, one per provider.
|
|
73
69
|
|
|
74
70
|
1. **Settings** → find the row named `BYOK: <Provider>` (OpenAI, Anthropic,
|
|
75
|
-
DeepSeek, Groq, xAI, Mistral, Gemini, OpenRouter, …)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
DeepSeek, Groq, xAI, Mistral, Gemini, OpenRouter, …), paste your provider key
|
|
72
|
+
and **Save**. There is no base-URL field on these rows: a BYOK turn always
|
|
73
|
+
talks to AEGIS's own relay (`/api/v1/byok/chat/completions`), which is what
|
|
74
|
+
attaches your AEGIS key.
|
|
75
|
+
2. Or skip the UI and put the key in `~/.aegiscode/.env` (`OPENAI_API_KEY=…`,
|
|
76
|
+
`ANTHROPIC_API_KEY=…`); the app reads that file into the environment at
|
|
77
|
+
startup, and a provider with no key saved in Settings is resolved from it.
|
|
79
78
|
3. Select the **Bring your own key** class and pick a model.
|
|
80
79
|
|
|
81
80
|
**What it costs.** AEGIS pays your provider nothing on this lane, so there is no
|
|
@@ -92,7 +91,7 @@ handling fee has to be billed somewhere. With no AEGIS key connected the class
|
|
|
92
91
|
shows every model but says exactly that, rather than failing opaquely.
|
|
93
92
|
|
|
94
93
|
Note that a **BYOK turn is single-shot** — the relay takes no `tools` parameter,
|
|
95
|
-
so the agentic tool loop below is off for these models. Use
|
|
94
|
+
so the agentic tool loop below is off for these models. Use the **Aegis Cloud**
|
|
96
95
|
class when you want file and shell access.
|
|
97
96
|
|
|
98
97
|
## Tools available to the model
|
|
@@ -283,7 +282,7 @@ node ../test/desktop-shell.mjs # headless IPC smoke test (no Electron binary n
|
|
|
283
282
|
main.js Electron main process — window + IPC shell only
|
|
284
283
|
preload.js Context-isolated IPC bridge exposed to the renderer
|
|
285
284
|
renderer/ UI (vanilla JS, no framework)
|
|
286
|
-
lib/local/ Model classes,
|
|
285
|
+
lib/local/ Model classes, agentic tool loop, prompt
|
|
287
286
|
lib/local/queue.js The shared work queue (~/.aegiscode/queue.jsonl)
|
|
288
287
|
lib/local/autonomous.js The unattended worker — directive, digest, commits
|
|
289
288
|
lib/local/session-rounds.js Session-scoped tool-round ledger (in-memory)
|