Skip to content

Commit b0ee86a

Browse files
committed
docs(unlabel): un-label CLAUDE/Gemini/etc. agent docs to OpenAI-API-shape
Per the architectural rule that all agents are OpenAI-API clients of the single MIOS_AI_ENDPOINT (Law 5: UNIFIED-AI-REDIRECTS), strip vendor labels from every agent-identity file and from CREDITS / README prose. Filenames preserved for tooling discovery (CLAUDE.md, GEMINI.md, AGENTS.md, .clinerules, .cursorrules, .github/ai-instructions.md) -- content is now vendor-neutral pointers to the canonical prompt. Specific edits: - CLAUDE.md: header re-titled 'Agent entry point (un-labeled)'; new USER-variable resolution section explains the placeholder convention. - GEMINI.md: header re-titled 'Agent entry point (un-labeled)'; native generativelanguage.googleapis.com explicitly noted as not used in-image. - CLAUDE.AUDIT.md: header generalized to 'any OpenAI-API-compatible agent'; loading-instruction examples now show four concrete CLI forms (Claude Code, Gemini CLI, Codex CLI, mios-llm). - README.md: 'your Cursor, Cline, Gemini, and Claude Code installs' was vendor-named; replaced with 'any OpenAI-API-compatible editor/CLI client (no vendor lock-in)'. - install-mios-agents.sh: rebranded 'mios-claude'/'mios-gemini' wrapper binaries to 'mios-agent-claude'/'mios-agent-gemini' so the canonical installer has a 'mios-agent-*' generic prefix; banner messages now say '[agent] launching with system prompt' instead of vendor-specific text. mios-llm wrapper banner now spells out 'OpenAI /v1/chat/completions' protocol. - CREDITS.md section 22 rewritten as 'AI agents used in this project (un-labeled, OpenAI-API-shaped)'. Table column renamed from 'Vendor' to 'Discovery file / What looks for it / OpenAI-API client wiring / Upstream docs (link only)'. New '$USER variable resolution at build entry' subsection documents the placeholder convention end-to-end: shell scripts use $USER/$HOME/~, PowerShell uses $env:USERNAME/$env:USERPROFILE, markdown aggregates use literal USER (substituted by bootstrap installer's sed pass), profile/env templates use MIOS_USER/MIOS_HOSTNAME with three-layer override. Only other user-related identifiers permitted are 'MiOS' (brand) and 'mios' (default account name).
1 parent 4622d34 commit b0ee86a

6 files changed

Lines changed: 143 additions & 58 deletions

File tree

CLAUDE.AUDIT.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
11
# CLAUDE.AUDIT.md
22

3-
Read-only audit-mode system prompt for Claude Code operating against
4-
`'MiOS'` (https://github.com/mios-dev/MiOS). Loaded with
5-
`claude --append-system-prompt "$(cat CLAUDE.AUDIT.md)"`. Replaces the
6-
runtime CLAUDE.md operating context for the duration of the audit.
3+
Read-only audit-mode system prompt for any OpenAI-API-compatible agent
4+
operating against `'MiOS'` (https://github.com/mios-dev/MiOS). Filename
5+
preserved for tooling discovery only -- the prompt is vendor-neutral and
6+
applies to every editor/CLI client routed through `MIOS_AI_ENDPOINT`.
7+
8+
Load it as the agent's system prompt before the audit session. Examples
9+
(use whichever maps onto your local CLI):
10+
11+
```
12+
agent --append-system-prompt "$(cat CLAUDE.AUDIT.md)" # Claude Code
13+
gemini --system-prompt "$(cat CLAUDE.AUDIT.md)" # Gemini CLI
14+
OPENAI_BASE_URL=$MIOS_AI_ENDPOINT codex --instructions CLAUDE.AUDIT.md
15+
mios-llm "$(cat CLAUDE.AUDIT.md)" # vendor-neutral
16+
```
17+
18+
Replaces the runtime `CLAUDE.md` operating context for the duration of
19+
the audit.
720

821
---
922

CLAUDE.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
# CLAUDE.md
22

3-
> Claude agent entry point. Pointer file -- no MiOS-internal documentation.
3+
> Agent entry point (un-labeled). Pointer file -- no MiOS-internal
4+
> documentation. The filename exists for tooling discovery only; the
5+
> content is vendor-neutral and OpenAI-API-shaped.
46
5-
MiOS targets the OpenAI public API surface at
7+
'MiOS' targets the OpenAI public API surface at
68
`MIOS_AI_ENDPOINT=http://localhost:8080/v1` (Architectural Law 5:
7-
UNIFIED-AI-REDIRECTS). All Claude/Cline/Cursor/Codex/Gemini sessions resolve
8-
the same canonical prompt regardless of which repo they were invoked from.
9+
UNIFIED-AI-REDIRECTS). Every editor/CLI agent that picks up this file
10+
resolves the same canonical prompt regardless of which repo it was
11+
invoked from. No vendor branding lives in this file.
912

1013
## Canonical prompt
1114

@@ -23,6 +26,8 @@ Highest layer present wins; `$MIOS_AI_SYSTEM_PROMPT` overrides them all.
2326
|---|---|
2427
| API Reference | https://platform.openai.com/docs/api-reference |
2528
| Models catalog | https://platform.openai.com/docs/models |
29+
| Chat Completions | https://platform.openai.com/docs/api-reference/chat |
30+
| Responses | https://platform.openai.com/docs/api-reference/responses |
2631
| Function calling / tools | https://platform.openai.com/docs/guides/function-calling |
2732
| Structured outputs | https://platform.openai.com/docs/guides/structured-outputs |
2833
| Embeddings | https://platform.openai.com/docs/guides/embeddings |
@@ -31,10 +36,24 @@ Highest layer present wins; `$MIOS_AI_SYSTEM_PROMPT` overrides them all.
3136
| Moderation policy | https://platform.openai.com/docs/guides/moderation |
3237
| `agents.md` convention | https://agents.md/ |
3338

39+
## USER variable resolution (build entry)
40+
41+
Every `USER`-marked placeholder in this codebase is overridable at build
42+
entry. The bootstrap installer detects the running user's identity at
43+
install time, propagates it into `/etc/mios/install.env` and
44+
`~/.config/mios/profile.toml`, and substitutes the placeholder before
45+
the image is built. Day-0 shipped artifacts therefore default to the
46+
literal `USER` token wherever shell expansion is unavailable (e.g.
47+
inside markdown aggregates); shell scripts use `$USER`, `$HOME`,
48+
`$env:USERNAME`, `$env:USERPROFILE`, etc. so resolution happens at
49+
runtime. The only other user-related identifier permitted in the
50+
codebase is `mios` / `MiOS`, the project's own brand and default
51+
account name.
52+
3453
## Local trace
3554

36-
`API.md` in this repo tracks the served subset of the OpenAI surface for the
37-
deployed LocalAI build. Verify any specific endpoint with
55+
`API.md` in this repo tracks the served subset of the OpenAI surface
56+
for the deployed LocalAI build. Verify any specific endpoint with
3857
`GET /v1/models` against `MIOS_AI_ENDPOINT` before relying on it.
3958

4059
## Operating context

CREDITS.md

Lines changed: 47 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -340,40 +340,46 @@ the source of truth for a given concern. When in doubt, these win:
340340
| `etc/skel/.config/mios/` | User dotfile templates seeded on `useradd -m` | <https://github.com/mios-dev/mios-bootstrap/tree/main/etc/skel> |
341341
| `image-versions.yml` | Mirror of base-image digest pins | <https://github.com/mios-dev/mios-bootstrap/blob/main/image-versions.yml> |
342342

343-
## 22. AI agents used in this project
344-
345-
> **All agents in this project conform to OpenAI API standards and patterns.**
346-
> Architectural Law 5 (**UNIFIED-AI-REDIRECTS**): every agent listed below
343+
## 22. AI agents used in this project (un-labeled, OpenAI-API-shaped)
344+
345+
> 'MiOS' treats every editor/CLI agent as an *OpenAI-API-compatible client*
346+
> rather than as a vendor brand. The agent-identity files in this repo
347+
> (`CLAUDE.md`, `GEMINI.md`, `AGENTS.md`, `.clinerules`, `.cursorrules`,
348+
> `.github/ai-instructions.md`) exist for tooling discovery only -- their
349+
> filenames are conventions the upstream tools look for; their contents
350+
> are vendor-neutral pointers to the same canonical prompt.
351+
>
352+
> **Architectural Law 5 -- UNIFIED-AI-REDIRECTS.** Every client below
347353
> resolves through `MIOS_AI_ENDPOINT=http://localhost:8080/v1`, an
348-
> OpenAI-public-API-compatible surface served by `etc/containers/systemd/mios-ai.container`
349-
> (LocalAI). Vendor-hardcoded URLs (`api.openai.com`, `api.anthropic.com`,
354+
> OpenAI-public-API-compatible surface served by
355+
> `etc/containers/systemd/mios-ai.container` (LocalAI). Vendor-native URLs
356+
> (`api.openai.com`, `api.anthropic.com`,
350357
> `generativelanguage.googleapis.com`, `api.cline.bot`, `api.cursor.com`,
351358
> `api.githubcopilot.com`, etc.) are forbidden in the deployed image and
352-
> fail audit. Each agent below is therefore a *client* of the same
353-
> OpenAI-shaped `/v1` surface; differences are presentation-layer only.
359+
> fail audit. Differences between clients are presentation-layer only.
354360
>
355-
> **OpenAI patterns adopted across every agent:**
361+
> **OpenAI patterns adopted across every client:**
356362
> Chat Completions (`POST /v1/chat/completions`), Responses
357363
> (`POST /v1/responses`), function calling / tool-use schema, structured
358364
> outputs (`response_format: json_schema`, `strict: true`), embeddings
359365
> (`POST /v1/embeddings`), MCP tool invocation, model discovery
360366
> (`GET /v1/models`), JSONL training format, and `Authorization: Bearer ...`
361367
> auth. Each surface is anchored in section 7 above.
362368
363-
Coding/development AI agents that have first-class identity files in this
364-
repo. Each resolves the same canonical 'MiOS' system prompt at
365-
`/usr/share/mios/ai/system.md` (overridable via `/etc/mios/ai/system-prompt.md`
366-
and `~/.config/mios/system-prompt.md`); the agent-specific files below are
367-
thin pointers, not separate prompts.
368-
369-
| Agent | Vendor | Identity file in this repo | OpenAI-API conformance | Vendor / docs |
370-
|---|---|---|---|---|
371-
| **Claude / Claude Code** | Anthropic | `CLAUDE.md`, `.claude/settings.local.json` | Routed via `MIOS_AI_ENDPOINT` (OpenAI Chat Completions / Responses); native Anthropic Messages API not used in-image | <https://www.anthropic.com/> -- <https://docs.claude.com/en/docs/claude-code/overview> |
372-
| **GitHub Copilot** | GitHub | `.github/ai-instructions.md` | Repo-side instructions only; in-image AI use re-routed to `MIOS_AI_ENDPOINT` | <https://github.com/features/copilot> -- <https://docs.github.com/en/copilot> |
373-
| **Cline** (VS Code) | Cline | `.clinerules` | Configured to point its "OpenAI-Compatible" provider at `MIOS_AI_ENDPOINT` | <https://cline.bot/> -- <https://github.com/cline/cline> |
374-
| **Cursor** (editor) | Cursor / Anysphere | `.cursorrules` | "OpenAI-compatible" custom-model path set to `MIOS_AI_ENDPOINT` | <https://cursor.com/> -- <https://docs.cursor.com/> |
375-
| **Google Gemini / Gemini CLI** | Google | `GEMINI.md` | Uses Gemini CLI's OpenAI-compatibility flag against `MIOS_AI_ENDPOINT`; native `generativelanguage.googleapis.com` not used in-image | <https://gemini.google.com/> -- <https://github.com/google-gemini/gemini-cli> |
376-
| **OpenAI Codex CLI** (and any agents.md-aware tool) | OpenAI / community | `AGENTS.md` (agents.md standard) | Native OpenAI client; `OPENAI_BASE_URL` overridden to `MIOS_AI_ENDPOINT` for in-image use | <https://github.com/openai/codex> -- <https://agents.md/> |
369+
The discovery files below are listed by **filename convention** (what the
370+
tool looks for) and **client wiring** (how it resolves to the OpenAI-shaped
371+
endpoint). Vendor names appear only as the upstream link target so a
372+
reader can reach the tool's docs; they are not load-bearing in any
373+
configuration in this repo.
374+
375+
| Discovery file | What looks for it | OpenAI-API client wiring | Upstream docs (link only) |
376+
|---|---|---|---|
377+
| `CLAUDE.md`, `.claude/settings.local.json` | A CLI agent that auto-loads `CLAUDE.md` from cwd | Wrapped via `mios-agent-claude` -- prompt injected; no network setting required because the wrapper exec's the local CLI which is configured against `MIOS_AI_ENDPOINT` | <https://docs.claude.com/en/docs/claude-code/overview> |
378+
| `.github/ai-instructions.md` | Editor assistants that read `.github/` instruction files | Repo-side instructions only; in-image traffic still routes to `MIOS_AI_ENDPOINT` | <https://docs.github.com/en/copilot> |
379+
| `.clinerules` | A VS Code agent that reads `.clinerules` from project root | "OpenAI-Compatible" provider in the agent's settings points at `MIOS_AI_ENDPOINT` | <https://github.com/cline/cline> |
380+
| `.cursorrules` | An editor that reads `.cursorrules` from project root | "OpenAI-compatible" custom-model path set to `MIOS_AI_ENDPOINT` | <https://docs.cursor.com/> |
381+
| `GEMINI.md` | A CLI that auto-loads `GEMINI.md` from cwd | Vendor-CLI's OpenAI-compatibility flag pointed at `MIOS_AI_ENDPOINT`; native vendor endpoint not used in-image | <https://github.com/google-gemini/gemini-cli> |
382+
| `AGENTS.md` (agents.md standard) | Any agents.md-aware client (Codex CLI, etc.) | `OPENAI_BASE_URL` env var overridden to `MIOS_AI_ENDPOINT` | <https://agents.md/> -- <https://github.com/openai/codex> |
377383

378384
Aliasing files that all point to the same canonical prompt:
379385

@@ -394,6 +400,24 @@ Aliasing files that all point to the same canonical prompt:
394400
| `mios-mcp.service` | Local MCP server runtime | `usr/lib/systemd/system/mios-mcp.service`, `usr/libexec/mios/mcp-server-runner` |
395401
| `mios-mcp-init.sh` | MCP pre-flight (sqlite vault + dirs) | `usr/libexec/mios/mcp-init.sh` |
396402
| `usr/bin/mios` | Single CLI entrypoint that resolves `MIOS_AI_ENDPOINT` for every agent | `usr/bin/mios` |
403+
| `mios-llm` | Vendor-neutral OpenAI `/v1/chat/completions` wrapper (`install-mios-agents.sh`) | `/usr/local/bin/mios-llm` |
404+
| `mios-agent-claude`, `mios-agent-gemini` | Thin wrappers that pre-load the canonical system prompt before exec'ing the local CLI binary; no vendor logic beyond the exec | `/usr/local/bin/mios-agent-{claude,gemini}` |
405+
406+
### `USER` variable resolution at build entry
407+
408+
Every `USER` token in this codebase is a *placeholder*, not a hardcoded
409+
identity. Resolution happens at install/build entry:
410+
411+
| Site | Form | Resolved by |
412+
|---|---|---|
413+
| Shell scripts (`*.sh`) | `$USER`, `$HOME`, `~` | The login shell at runtime |
414+
| PowerShell scripts (`*.ps1`) | `$env:USERNAME`, `$env:USERPROFILE` | PowerShell at runtime |
415+
| Markdown aggregates | literal `USER` | The bootstrap installer's sed pass at install entry (`install.sh` / `install.ps1` reads detected username and substitutes) |
416+
| Profile / env templates | `MIOS_USER`, `MIOS_HOSTNAME` | `etc/mios/profile.toml` -> `/etc/mios/install.env` -> `~/.config/mios/profile.toml` (three-layer override; highest wins) |
417+
418+
The only other user-related identifiers permitted in the codebase are
419+
the `MiOS` brand and the `mios` default account name; both are project
420+
conventions, not personal identities.
397421

398422
## 23. Where each thing came from (origin summary)
399423

GEMINI.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,29 @@
11
# GEMINI.md
22

3-
> Gemini agent entry point. Canonical prompt: `/usr/share/mios/ai/system.md`.
3+
> Agent entry point (un-labeled). Pointer file -- no MiOS-internal
4+
> documentation. The filename exists for tooling discovery only; the
5+
> content is vendor-neutral and OpenAI-API-shaped.
6+
7+
> Canonical prompt: `/usr/share/mios/ai/system.md`.
48
59
## Loading order
610

711
1. Load `/usr/share/mios/ai/system.md`.
812
2. Apply `/etc/mios/ai/system-prompt.md` if present (host override).
913
3. Apply `~/.config/mios/system-prompt.md` if present (user override).
1014

11-
## Gemini deltas
15+
## OpenAI-API-compatible endpoint
16+
17+
All clients route through `MIOS_AI_ENDPOINT=http://localhost:8080/v1`
18+
(Architectural Law 5: UNIFIED-AI-REDIRECTS). The vendor's native API
19+
surface (`generativelanguage.googleapis.com`) is not used in-image;
20+
the vendor CLI's OpenAI-compatibility flag points at `MIOS_AI_ENDPOINT`.
21+
22+
## Operating deltas
1223

13-
- **cwd:** `/` is the repo root and system root.
14-
- **Read-only tools:** `read_file`, `list_directory`, `glob`, `search_file_content`
15-
- **Mutating tools (confirm first):** `write_file`, `replace`, `run_shell_command`
24+
- **cwd:** `/` is the repo root and the deployed system root.
25+
- **Read-only tools:** `read_file`, `list_directory`, `glob`,
26+
`search_file_content`.
27+
- **Mutating tools (confirm first):** `write_file`, `replace`,
28+
`run_shell_command`.
1629
- **Memory:** `/var/lib/mios/ai/memory/<agent-id>/`

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,9 @@ What you actually get out of the box:
3737
- **k3s + Ceph** for when you want to grow the box into a one-node cluster
3838
without re-imaging.
3939
- **Local AI surface**, OpenAI-compatible at `http://localhost:8080/v1`. Every
40-
agent and tool on the system targets that one endpoint, so your Cursor,
41-
Cline, Gemini, and Claude Code installs all talk to the same brain.
40+
agent and tool on the system targets that one endpoint via
41+
`MIOS_AI_ENDPOINT`, so any OpenAI-API-compatible editor/CLI client (no
42+
vendor lock-in) talks to the same brain.
4243
- **Real security defaults**: SELinux enforcing, fapolicyd deny-by-default,
4344
USBGuard, CrowdSec sovereign-mode IPS, kernel-lockdown integrity, MOK-
4445
signed kernel modules. Not the security-theater kind.

install-mios-agents.sh

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
#!/usr/bin/env bash
2-
# 'MiOS' Agent Launcher Installer
2+
# 'MiOS' Agent Launcher Installer (vendor-neutral)
3+
#
4+
# Installs three thin wrappers under /usr/local/bin/ that pre-load the
5+
# canonical 'MiOS' system prompt before launching an OpenAI-API-compatible
6+
# CLI client:
7+
#
8+
# mios-agent-claude -- wraps the local 'claude' binary if present
9+
# mios-agent-gemini -- wraps the local 'gemini' binary if present
10+
# mios-llm -- generic OpenAI /v1/chat/completions client
11+
#
12+
# All three resolve through MIOS_AI_ENDPOINT (Architectural Law 5:
13+
# UNIFIED-AI-REDIRECTS) and emit OpenAI-shaped requests. The first two
14+
# wrappers exist only because their underlying CLI binaries take a
15+
# system-prompt argument; the wrappers themselves do not contain any
16+
# vendor logic beyond that single CLI invocation.
17+
#
318
# Run: bash /path/to/install-mios-agents.sh
419
set -euo pipefail
520

@@ -32,35 +47,35 @@ sudo cp "$PROMPT_SRC" /usr/share/mios/ai/system.md
3247
sudo cp "$PROMPT_SRC" /etc/mios/ai/system-prompt.md
3348
echo "Installed system prompt to /usr/share/mios/ai/system.md"
3449

35-
# ── Install mios-claude ──
36-
sudo tee /usr/local/bin/mios-claude > /dev/null <<'SCRIPT'
50+
# -- Install mios-agent-claude (wraps the 'claude' CLI if present) --
51+
sudo tee /usr/local/bin/mios-agent-claude > /dev/null <<'SCRIPT'
3752
#!/usr/bin/env bash
3853
set -euo pipefail
3954
PROMPT_FILE=""
4055
for p in /usr/share/mios/ai/system.md /etc/mios/ai/system-prompt.md /system-prompt.md "${PWD}/system-prompt.md" "${PWD}/CLAUDE.md"; do
4156
[[ -r "$p" ]] && PROMPT_FILE="$p" && break
4257
done
43-
[[ -z "$PROMPT_FILE" ]] && { echo "mios-claude: no system prompt found" >&2; exit 1; }
44-
echo "→ Claude Code with system prompt: $PROMPT_FILE" >&2
58+
[[ -z "$PROMPT_FILE" ]] && { echo "mios-agent-claude: no system prompt found" >&2; exit 1; }
59+
echo "[agent] launching with system prompt: $PROMPT_FILE" >&2
4560
exec claude --append-system-prompt "$(cat "$PROMPT_FILE")" "$@"
4661
SCRIPT
47-
sudo chmod 755 /usr/local/bin/mios-claude
48-
echo "Installed /usr/local/bin/mios-claude"
62+
sudo chmod 755 /usr/local/bin/mios-agent-claude
63+
echo "Installed /usr/local/bin/mios-agent-claude"
4964

50-
# ── Install mios-gemini ──
51-
sudo tee /usr/local/bin/mios-gemini > /dev/null <<'SCRIPT'
65+
# -- Install mios-agent-gemini (wraps the 'gemini' CLI if present) --
66+
sudo tee /usr/local/bin/mios-agent-gemini > /dev/null <<'SCRIPT'
5267
#!/usr/bin/env bash
5368
set -euo pipefail
5469
PROMPT_FILE=""
5570
for p in /usr/share/mios/ai/system.md /etc/mios/ai/system-prompt.md /system-prompt.md "${PWD}/system-prompt.md" "${PWD}/GEMINI.md"; do
5671
[[ -r "$p" ]] && PROMPT_FILE="$p" && break
5772
done
58-
[[ -z "$PROMPT_FILE" ]] && { echo "mios-gemini: no system prompt found" >&2; exit 1; }
59-
echo "→ Gemini CLI with system prompt: $PROMPT_FILE" >&2
73+
[[ -z "$PROMPT_FILE" ]] && { echo "mios-agent-gemini: no system prompt found" >&2; exit 1; }
74+
echo "[agent] launching with system prompt: $PROMPT_FILE" >&2
6075
exec gemini --system-prompt "$(cat "$PROMPT_FILE")" "$@"
6176
SCRIPT
62-
sudo chmod 755 /usr/local/bin/mios-gemini
63-
echo "Installed /usr/local/bin/mios-gemini"
77+
sudo chmod 755 /usr/local/bin/mios-agent-gemini
78+
echo "Installed /usr/local/bin/mios-agent-gemini"
6479

6580
# ── Install mios-llm ──
6681
sudo tee /usr/local/bin/mios-llm > /dev/null <<'SCRIPT'
@@ -74,7 +89,7 @@ done
7489
ENDPOINT="${MIOS_AI_ENDPOINT:-http://localhost:8080/v1}"
7590
MODEL="${MIOS_AI_MODEL:-mi-os-7b}"
7691
USER_PROMPT="${*:-What are the six 'MiOS' Architectural Laws, in order?}"
77-
echo "→ Local LLM ($MODEL @ $ENDPOINT) with system prompt: $PROMPT_FILE" >&2
92+
echo "[agent] $MODEL @ $ENDPOINT (OpenAI /v1/chat/completions) prompt: $PROMPT_FILE" >&2
7893
curl -sS "$ENDPOINT/chat/completions" \
7994
-H "Content-Type: application/json" \
8095
-d "$(jq -n --arg model "$MODEL" --arg sys "$(cat "$PROMPT_FILE")" --arg user "$USER_PROMPT" \
@@ -94,9 +109,9 @@ echo "First line:"
94109
head -1 /usr/share/mios/ai/system.md
95110
echo ""
96111
echo "Launcher path check (should show clean paths, no brackets):"
97-
grep "for p in" /usr/local/bin/mios-claude
112+
grep "for p in" /usr/local/bin/mios-agent-claude
98113
echo ""
99114
echo "Done. Run:"
100-
echo " mios-claude"
101-
echo " mios-gemini"
102-
echo " mios-llm 'your question here'"
115+
echo " mios-agent-claude # if the 'claude' CLI binary is installed"
116+
echo " mios-agent-gemini # if the 'gemini' CLI binary is installed"
117+
echo " mios-llm 'your question here' # vendor-neutral, OpenAI /v1 only"

0 commit comments

Comments
 (0)