Akasha OS

Using Preview 0.18.0 Utiliser la Preview 0.18.0

Intro

Intro

After install and model setup, Preview opens on Chat. The left rail shows Chat, Agents, Create (when installed), and Memory. Everything else lives under More — Notes, Library, Tasks, Files, Models, Providers, Settings, Caps, Audit, DeclUI modules, Scenarios, and Feedback. Network is an Allow network grant (status / Settings), not a rail tab. Create is the image and media studio. Each section below is how to operate one of those surfaces. Prefer the local model offline; turn on network only when you mean to search, browse, or fetch.

Après install et réglage des modèles, Preview ouvre sur Chat. Le rail gauche montre Chat, Agents, Create (quand installé) et Memory. Tout le reste est sous Plus — Notes, Bibliothèque, Tâches, Fichiers, Modèles, Providers, Paramètres, Caps, Audit, modules DeclUI, Scénarios et Retour. Le réseau est un grant Autoriser le réseau (statut / Paramètres), pas un onglet du rail. Create est le studio image / média. Chaque section ci-dessous explique une de ces surfaces. Préférez le modèle local hors ligne ; n’activez le réseau que pour chercher, parcourir ou télécharger.

Chat / Sessions

Chat / Sessions

Parallel conversations persist across restart. Each session keeps its own history and can pick its own model from the combo (fallback: the default instruct model). Streaming replies come from the local backend when routing is local_only; once GGUFs are on disk, chat works with Allow network off. Stop cancels the in-flight model.infer; Copy puts a message (or Troubleshooting body) on the clipboard. Fork from here opens a branch session from a message; after an interrupt you can continue the turn. Live status shows while awaiting tokens. Before infer, Preview injects mem.context (session hits, user facts, and product-doc RAG chunks from FEATURES / STATUS / TESTER). Under context pressure (or after repeated steers), instincts may offer Create | Later for a reusable skill (Settings → Me, on by default). User and assistant messages use distinct bubbles. Background agents attached via /agent or assistant delegation show as cards in the thread. Attach images or documents (PDF, txt, md) from the paperclip — documents are read into context for the model.

Les conversations parallèles survivent au redémarrage. Chaque session garde son historique et peut choisir son modèle dans le combo (sinon le modèle instruct par défaut). Les réponses en flux viennent du backend local quand le routage est local_only ; une fois les GGUF sur disque, le chat marche avec Autoriser le réseau éteint. Stop annule le model.infer en cours ; Copier met un message (ou le corps Dépannage) dans le presse-papiers. Créer une branche ici ouvre une session dérivée depuis un message ; après une interruption vous pouvez continuer le tour. Un statut live s’affiche pendant l’attente de tokens. Avant l’inférence, la Preview injecte mem.context (hits de session, faits utilisateur, et chunks RAG produit depuis FEATURES / STATUS / TESTER). Sous pression de contexte (ou après des steers répétés), les instincts peuvent proposer Créer | Plus tard pour une skill réutilisable (Paramètres → Moi, activé par défaut). Les messages user et assistant ont des bulles distinctes. Les agents de fond via /agent ou délégation apparaissent en cartes dans le fil. Joignez images ou documents (PDF, txt, md) depuis le trombone — les documents sont lus en contexte pour le modèle.

Slash commands (popup above the input with /): /commands, /help (system snapshot), /agent <task>, /notes, /notenew, /notesearch, /audit [n], /kill / /pause, /image <prompt>, and /speak <text>. Chat « crée un module … » (or “create a module”) launches a scaffold agent. Markdown renders agent actions in the thread.

Commandes slash (popup au-dessus de la saisie avec /) : /commands, /help (instantané système), /agent <tâche>, /notes, /notenew, /notesearch, /audit [n], /kill / /pause, /image <prompt> et /speak <texte>. Le chat « crée un module … » lance un agent de scaffold. Le markdown affiche les actions d’agent dans le fil.

Canvas

Canvas

Session-scoped vector drawing surface shared by you and agents. Open it with /canvas or the session-bar Canvas toggle (Salon / Canvas) — not a primary-rail tab. Humans get Select (move / delete / align / rotate), Pan + scroll zoom, pen, line, spline, path, rect, ellipse, and text labels; layers (hide / lock / opacity); grid and snap; semantic scenes and shared guides; export PNG, SVG, or JSON (round-trip import). Agents use the bundled WASM canvas.* tools and can read / review the document. A CPU-only validator checks geometry every few mutations. Document: var/sessions/<id>/canvas.json. Distinct from Create on the primary rail (image / media studio).

Surface de dessin vectoriel liée à la session, partagée avec les agents. Ouvrez-la avec /canvas ou le bascule Canvas de la barre de session (Salon / Canvas) — pas un onglet du rail principal. Humains : Select (déplacer / supprimer / aligner / rotation), Pan + zoom molette, stylo, ligne, spline, path, rect, ellipse, labels texte ; calques (masquer / verrouiller / opacité) ; grille et aimantation ; scènes sémantiques et guides partagés ; export PNG, SVG ou JSON (import aller-retour). Les agents utilisent les outils WASM canvas.* et peuvent lire / revoir le document. Un validateur CPU vérifie la géométrie toutes les quelques mutations. Document : var/sessions/<id>/canvas.json. Distinct de Create sur le rail principal (studio image / média).

Models

Models

The Models tab lists installed offerings, loads them, and downloads alternatives from share/models/catalog-offerings.json into share/models/. Live metrics (TTFT, tok/s, VRAM / RAM / disk) appear in the sidebar and on this tab. A green banner appears when newer packs fit your detected VRAM tier. After a download, restart so etc/modeld.yaml sees new paths. CLI: aos-session --download-models <id>….

L’onglet Models liste les offres installées, les charge et télécharge des alternatives depuis share/models/catalog-offerings.json vers share/models/. Des métriques live (TTFT, tok/s, VRAM / RAM / disque) apparaissent dans la barre latérale et ici. Une bannière verte s’affiche quand de nouvelles offres tiennent dans votre palier VRAM. Après un téléchargement, redémarrez pour que etc/modeld.yaml voie les chemins. CLI : aos-session --download-models <id>….

Optional image and TTS packs (for example local:sd-v1-5, Piper en_US / fr_FR, plus Flux2-class, Ideogram4-class, Piper en_GB in 0.9.0) are not in the zip; first-run does not pull them. Download also fetches bin/sd / bin/piper (and sidecars via extra_files) if missing. Settings / Models pick the default image pack and Piper voice; honor them after restart. Without weights or engine, Preview writes a visible stub PNG or short WAV so the pipeline stays testable.

Les packs image et TTS optionnels (par ex. local:sd-v1-5, Piper en_US / fr_FR, plus Flux2-class, Ideogram4-class, Piper en_GB en 0.9.0) ne sont pas dans le zip ; le premier lancement ne les télécharge pas. Download installe aussi bin/sd / bin/piper (et les sidecars via extra_files) s’ils manquent. Settings / Models choisissent le pack image et la voix Piper par défaut ; honorez-les après redémarrage. Sans poids ou moteur, la Preview écrit un PNG stub visible ou un court WAV pour garder le pipeline testable.

Memory

Memory

Memory V2 is the Preview default: structured cognitive memory with a decision journal and Mind Palace supervision views on the Memory rail. Legacy fact writes stay in sync via shadow projection. On top of that layer: Remember / Recall / list / edit / delete for long-term user facts. Typed relations similar, updates, and supersedes auto-link on close remembers. Session and user hits assemble as mem.context for chat and agents. Agents also use episodic memory and memory.remember / memory.recall. Bootstrap is memory-first: task.assess then structured mem.bootstrap (active facts and similar neighbors; superseded omitted).

Memory V2 est le défaut Preview : mémoire cognitive structurée avec un journal de décisions et des vues Mind Palace sur le rail Memory. Les écritures de faits legacy restent synchronisées en shadow. Par-dessus : Remember / Recall / lister / éditer / supprimer pour les faits utilisateur long terme. Les relations typées similar, updates et supersedes se lient automatiquement. Hits de session et utilisateur forment mem.context pour le chat et les agents. Les agents ont aussi une mémoire épisodique et memory.remember / memory.recall. Le bootstrap est memory-first : task.assess puis mem.bootstrap structuré (faits actifs et voisins similaires ; les supersédés sont omis).

Auto-remember from chat (Settings → Me, on by default): after each turn, low-priority mem.extract proposes durable facts → mem.user.remember with source=chat. Secrets (API keys, tokens, IBAN-like) are never auto-stored (audited). The Memory list shows a [chat] badge on extracted facts. Extraction is non-blocking and skips if a previous extract is still running.

Mémorisation auto depuis le chat (Paramètres → Moi, activée par défaut) : après chaque tour, un mem.extract basse priorité propose des faits durables → mem.user.remember avec source=chat. Les secrets (clés API, tokens, IBAN-like) ne sont jamais auto-stockés (audité). La liste Memory affiche un badge [chat] sur les faits extraits. L’extraction est non bloquante et saute si une extraction précédente tourne encore.

Notes

Notes

Dual-surface WASM module (notes.aospkg), under More → Notes. Human UI: title + body → Create; tags, live search, and delete so large collections stay findable. Agent tools: notes.create, notes.update, notes.search, notes.delete, and related intents. Same data for humans and agents. On boot, share/modules/notes.aospkg is copied to var/modules/notes when the manifest hash or WASM fingerprint differs, so a Preview update does not keep a stale module. notes.read accepts title, name, path, or slug. Via agent: Agents tab or Chat /agent with a task such as “create a note titled cohort with content hello”.

Module WASM dual-surface (notes.aospkg), sous Plus → Notes. UI humaine : titre + corps → Créer ; tags, recherche live et suppression pour les grandes collections. Outils agent : notes.create, notes.update, notes.search, notes.delete, et intents liés. Les mêmes données pour humains et agents. Au boot, share/modules/notes.aospkg est recopié vers var/modules/notes si le hash manifest ou l’empreinte WASM diffère, pour qu’une update Preview ne garde pas un module périmé. notes.read accepte title, name, path ou slug. Via agent : onglet Agents ou Chat /agent avec une tâche du type « create a note titled cohort with content hello ».

Tasks

Tasks

Dual-surface WASM module (tasks.aospkg). Human UI: Tasks under More when installed — create / list / complete / reopen via declarative widgets. Agent tools: tasks.create, tasks.list, tasks.update, tasks.complete. Same JSON store under /documents/tasks/tasks.json. Preinstalled official app: uninstall persists; host upgrades do not reinstall it. Skill tasks ships under share/skills/.

Module WASM dual-surface (tasks.aospkg). UI humaine : Tâches sous Plus lorsque installé — créer / lister / terminer / réouvrir via widgets déclaratifs. Outils agent : tasks.create, tasks.list, tasks.update, tasks.complete. Même store JSON sous /documents/tasks/tasks.json. Application officielle préinstallée : la désinstallation persiste ; une mise à jour du core ne la réinstalle pas. La skill tasks est livrée sous share/skills/.

Modules (declarative_ui)

Modules (declarative_ui)

Installed packages with ui.mode=declarative_ui get a dynamic entry under More → Modules (or a named DeclUI tab). Notes, Tasks (More when installed), and ext-rt stay off the generic Modules list. The local catalogue also lists experimental Illustration Studio 0.7.23 (same module in the Win / Linux / Mac Preview zips; install via Settings → Local module catalogue; wgpu edit view ≠ beauty). The host paints ui/index.html — no webview, no free HTML/JS UI. Widgets include column / row, heading, text, markdown, stat_row, table, line_chart, form (JSON Schema), button, select / radio / checkbox / textarea, bar_chart, image, and audio.

Les paquets installés avec ui.mode=declarative_ui obtiennent une entrée dynamique sous Plus → Modules (ou un onglet DeclUI nommé). Notes, Tâches (Plus si installé) et ext-rt restent hors de la liste Modules générique. Le catalogue local liste aussi le Studio Illustration 0.7.23 expérimental (même module dans les zips Preview Win / Linux / Mac ; installer via Paramètres → Catalogue local de modules ; vue d’édition wgpu ≠ beauté). L’hôte peint ui/index.html — pas de webview, pas d’UI HTML/JS libre. Widgets : column / row, heading, text, markdown, stat_row, table, line_chart, form (JSON Schema), button, select / radio / checkbox / textarea, bar_chart, image et audio.

Intent module.ui validates the document fail-closed; invalid ui/index.html shows an error banner (no partial widgets). Button and form submits use the same cap review as module.invoke. Install still requires confirmation; refuse → quarantine. Settings → Local module catalogue lists the local signed catalogue and can uninstall non-bundled modules under Installed modules (not notes / tasks / ext-rt).

L’intent module.ui valide le document en fail-closed ; un ui/index.html invalide affiche une bannière (pas de widgets partiels). Soumissions bouton / formulaire : même revue de caps que module.invoke. L’install exige encore une confirmation ; refus → quarantaine. Paramètres → Catalogue local de modules liste le catalogue local signé et peut désinstaller les modules non bundle sous Modules installés (pas notes / tasks / ext-rt).

Agents

Agents

Observe / Think / Act with capability checks, confirmation, and audit. Create an agent with a task and a model (or /agent <task> from Chat). Goal loop: goal.complete / goal.fail; max steps and timeout come from Settings defaults. task.assess classifies simple vs complex; complex activates the planner skill. Shipped skills: notes-writer, research, file-author, planner, tasks. Tools may be native, WASM module, MCP, or runtime (plan / spawn / memory). Sub-agents: agent.spawn / agent.await. Mid-task user.ask pauses in the linked chat (Blocked) until the next reply (FIFO; 10 min timeout).

Observe / Think / Act avec contrôles de caps, confirmation et audit. Créez un agent avec une tâche et un modèle (ou /agent <tâche> depuis Chat). Boucle de goal : goal.complete / goal.fail ; max steps et timeout depuis Paramètres. task.assess classe simple vs complexe ; le complexe active la skill planner. Skills livrées : notes-writer, research, file-author, planner, tasks. Outils : natifs, module WASM, MCP ou runtime (plan / spawn / mémoire). Sous-agents : agent.spawn / agent.await. user.ask en cours de tâche met en pause dans le chat lié (Blocked) jusqu’à la prochaine réponse (FIFO ; timeout 10 min).

Sensitive actions raise a blocking confirmation banner; Deny once, Accept another; timeout = deny (fail-closed). Open Detail (Agents tab or chat card) for live state, step n/max, tokens, duration, simple/complex badge, skills and MCP servers, parent / children, Sources (web / document / fetch), and the step timeline (agent.trace). Controls: Pause, Resume, Retry, Kill, Steer. Advanced Runtime (Native vs Codex / Claude / Grok) runs allowlisted local CLIs under the worker via harness.run — details on GitHub docs/harness.md — with the same Steer / Pause / Kill. Schedules (schedule.create / list / cancel) live under Settings → Advanced → Schedule; ticker min interval 30s; persist in var/schedules/.

Une action sensible affiche une bannière de confirmation ; Deny une fois, Accept une autre ; timeout = refus (fail-closed). Ouvrez Détail (onglet Agents ou carte chat) pour l’état live, step n/max, tokens, durée, badge simple/complexe, skills et serveurs MCP, parent / enfants, Sources (web / document / fetch) et la timeline (agent.trace). Contrôles : Pause, Reprendre, Retry, Kill, Steer. Le Runtime Avancé (Native vs Codex / Claude / Grok) lance des CLI locaux allowlistés sous le worker via harness.run — détail docs/fr/harness.md — avec les mêmes Steer / Pause / Kill. Les schedules (schedule.create / list / cancel) sont dans Paramètres → Avancé → Planif ; intervalle min 30 s ; persistance dans var/schedules/.

On the Agents tab, Name is required and becomes the label on the agent thread and linked chat cards. In Room sessions, the salon member picker lists built-in roster personas and your library Task agents — one row each (ephemeral /agent spawns are excluded).

Dans l’onglet Agents, le champ Nom est obligatoire et devient l’étiquette du fil agent et des cartes chat liées. En session Salon, le sélecteur de membres liste les personas du roster intégré et vos agents Task de la bibliothèque — une ligne chacun (les spawns éphémères /agent sont exclus).

Caps

Caps

Caps tab: list capabilities by holder (cap.list) and revoke (audited). Hot-grant via cap.request still requires trust plus confirmation. Module install and tool invoke paths go through the same review surface — nothing auto-approves a new package.

Onglet Caps : lister les capacités par détenteur (cap.list) et révoquer (audité). Le hot-grant via cap.request exige toujours trust plus confirmation. Install de module et invoke d’outil passent par la même revue — rien n’auto-approuve un nouveau paquet.

Audit

Audit

Append-only hashed journal of signed events. Audit tab → Refresh. The Health panel (E23) shows runtime canary, SLO/EWMA, residual anomaly, and stderr clusters from health.snapshot — the same snapshot Help → Troubleshooting consumes. Kill aos-auditd: chat must continue; the supervisor restarts auditd in the background. Slash /audit [n] shows the last n events in Chat.

Journal hashé append-only d’événements signés. Onglet Audit → Refresh. Le panneau Santé (E23) montre canary runtime, SLO/EWMA, anomalie résiduelle et clusters stderr depuis health.snapshot — le même snapshot que consomme Aide → Dépannage. Tuer aos-auditd : le chat doit continuer ; le superviseur relance auditd en arrière-plan. Slash /audit [n] montre les n derniers événements dans Chat.

Providers

Providers

Providers tab: add / list / test / remove OpenAI-compatible cloud endpoints and loopback (Ollama / vLLM / LM Studio). API keys live in the encrypted vault, never in the provider file. Chat combo groups local vs provider. Routing local_only (default) still allows loopback; WAN cloud needs balanced plus Allow network. Infer with secret data stays local. Native Messages / Gemini / Bedrock APIs are not shipped — OpenAI-compat only.

Onglet Providers : ajouter / lister / tester / retirer des endpoints cloud OpenAI-compat et loopback (Ollama / vLLM / LM Studio). Les clés API vivent dans le vault chiffré, jamais dans le fichier provider. Le combo Chat groupe local vs provider. Le routage local_only (défaut) autorise encore le loopback ; le cloud WAN exige balanced plus Allow network. L’inférence avec données secret reste locale. Pas d’API natives Messages / Gemini / Bedrock — OpenAI-compat seulement.

Settings

Paramètres

Preferences persist in var/run/preferences.json (migrated from onboarding.json if needed). Pills: Me (language en / fr; auto-remember; instincts “Suggest skills when context is high”); Models (Inference auto / gpu / cpu with mid-token migrate; routing local_only / balanced; LAN cluster); Image (default image pack and Piper voice); Trust (default trust low / medium); Agent (default model, max steps 1–128, timeout 60–86400 s); Web (search engine, browse max chars, fetch max bytes; Allow network). Advanced folds: Secrets vault (Brave / GitHub / OpenAI keys — master key in OS keyring, file 0600 fallback with AOS_SECRETS_FILE_KEY=1; in-Settings keygen); Catalogue — Local module catalogue Install / Installed modules Uninstall, plus opt-in community Git index; Schedule; Backup. Typing in Settings filters Me / Models / Trust and the expert folds.

Les préférences persistent dans var/run/preferences.json (migrées depuis onboarding.json si besoin). Pilules : Moi (langue en / fr ; mémorisation auto ; instincts « Proposer des skills quand le contexte est élevé ») ; Modèles (Inférence auto / gpu / cpu avec migrate mid-token ; routage local_only / balanced ; cluster LAN) ; Image (pack image et voix Piper par défaut) ; Confiance (trust défaut low / medium) ; Agent (modèle, max steps 1–128, timeout 60–86400 s) ; Web (moteur, max chars browse, max bytes fetch ; Autoriser le réseau). Plis Avancé : coffre Secrets (clés Brave / GitHub / OpenAI — clé maître dans le keyring OS, repli fichier 0600 avec AOS_SECRETS_FILE_KEY=1 ; keygen intégré) ; Catalogue — Catalogue local de modules Installer / Modules installés Désinstaller, plus index Git communautaire opt-in ; Planif ; Sauvegarde. La recherche dans Paramètres filtre Moi / Modèles / Confiance et les plis experts.

Network

Network

Default mode is offline_strict (deny-by-default egress). Enable Allow network in the status area or Settings → Web before search, browse, or fetch. Intents: web.search (engine auto = Brave → DuckDuckGo → Bing, or force one), web.browse (HTML → plain text, no JavaScript), net.fetch (URL into the logical FS, default /downloads/), and files.generate (md / txt / json / csv / png / pdf). Without a Brave key, auto falls through to DuckDuckGo then Bing HTML. Optional keys live under Settings → Secrets vault. JavaScript-rendered pages need an optional headless-browser MCP (Network).

Mode défaut : offline_strict (egress deny-by-default). Activez Autoriser le réseau dans la zone de statut ou Paramètres → Web avant recherche, browse ou fetch. Intents : web.search (moteur auto = Brave → DuckDuckGo → Bing, ou forcer un), web.browse (HTML → texte, pas de JavaScript), net.fetch (URL dans le FS logique, défaut /downloads/), et files.generate (md / txt / json / csv / png / pdf). Sans clé Brave, auto bascule sur DuckDuckGo puis Bing HTML. Clés optionnelles sous Paramètres → Coffre à secrets. Les pages rendues en JavaScript demandent un MCP navigateur headless optionnel (Network).

Create & TTS

Create & TTS

Intents media.image.generate / media.audio.generate write PNG / WAV under /downloads; cap media.generate; audited. Options are a closed deny_unknown_fields object (size, steps, CFG, seed, sampler, negative, Piper knobs). Unknown keys are refused and audited; aos-sd maps only allowlisted flags — never a free-form argv string. Placement Manager treats media weights as evictable shards vs the loaded LLM.

Les intents media.image.generate / media.audio.generate écrivent PNG / WAV sous /downloads ; cap media.generate ; audité. Les options sont un objet fermé deny_unknown_fields (taille, steps, CFG, seed, sampler, negative, knobs Piper). Les clés inconnues sont refusées et auditées ; aos-sd ne mappe que des flags allowlistés — jamais une chaîne argv libre. Le Placement Manager traite les poids média comme shards évincables face au LLM chargé.

Primary-rail Create is the image / media studio: prompt, size, steps, CFG, seed, sampler, catalogue style / LoRA / VAE, composition canvas, upscale, and history (reload prompt / composition from PNG sidecars). From Chat, a generated PNG offers Open in studio. Slash /image shows the PNG in the thread. Slash /speak opens an in-chat TTS card (voice + knobs) then Generate; agents may still call the audio intent directly. Download media packs from Models first (engine arrives with the pack). In Create you can pass a reference image, use Fix a region to repaint part of a result, and generate short video clips (2–4 s) when a Wan or LTX pack is installed.

Create sur le rail principal est le studio image / média : prompt, taille, steps, CFG, seed, sampler, style / LoRA / VAE du catalogue, canvas composition, upscale et historique (recharge prompt / composition depuis les sidecars PNG). Depuis Chat, un PNG généré propose Ouvrir dans le studio. Slash /image affiche le PNG dans le fil. Slash /speak ouvre une carte TTS (voix + knobs) puis Generate ; les agents peuvent encore appeler l’intent audio directement. Téléchargez d’abord les packs média dans Modèles (le moteur arrive avec le pack). Dans Create vous pouvez passer une image de référence, utiliser Corriger une zone pour repeindre une partie du résultat, et générer des courts clips vidéo (2–4 s) quand un pack Wan ou LTX est installé.

Tap the painted ? in the Create header for the in-app guide: prompt, reference photo, Fix a region, video mode, size and quality, Generate, negative prompt, LoRA from the model list, pack-default VAE, and Composition.

Touchez le ? peint dans l’en-tête Créer pour le guide intégré : prompt, photo de référence, Corriger une zone, mode vidéo, taille et qualité, Générer, prompt négatif, LoRA depuis la liste du modèle, VAE par défaut du pack, et Composition.

Extend Preview

Étendre la Preview

Preview is meant to be extended on the host without waiting for a bootable image. The extension surfaces below are what ships in 0.9.0.

La Preview est faite pour être étendue sur l’hôte sans attendre une image bootable. Les surfaces ci-dessous sont celles livrées en 0.9.0.

Dual-surface WASM modules

Modules WASM dual-surface

A module is a sandboxed WASM package (wasmtime) with tools humans and agents share. Notes and Tasks are the bundled examples: same store, human tab, agent intents. Scripted packages go through ext-rt (module.scaffold / module.package) then install with cap review.

Un module est un paquet WASM sandboxed (wasmtime) dont les outils sont partagés humains / agents. Notes et Tasks sont les exemples bundle : même store, onglet humain, intents agent. Les paquets scriptés passent par ext-rt (module.scaffold / module.package) puis install avec revue de caps.

declarative_ui (no webview)

declarative_ui (pas de webview)

Set ui.mode=declarative_ui and ship a closed widget tree in ui/index.html. The host validates via module.ui and paints egui widgets — there is no sandboxed HTML/JS compositor in Preview. Schema export: docs/bridge/aos-proto-decl-ui.json. Optional ui JSON on module.scaffold; package / compile copy a real tree (default: heading + form + table on the primary tool).

Réglez ui.mode=declarative_ui et livrez un arbre de widgets fermé dans ui/index.html. L’hôte valide via module.ui et peint des widgets egui — pas de compositeur HTML/JS sandboxé en Preview. Schéma : docs/bridge/aos-proto-decl-ui.json. Champ ui JSON optionnel sur module.scaffold ; package / compile copient un vrai arbre (défaut : heading + form + table sur l’outil principal).

Scaffold / package / install

Scaffold / package / install

From Chat, ask « crée un module … » (or “create a module”) — the host launches an agent (fallback if the model dumps UI JSON instead of agent.spawn). Scenarios can launch the same scaffold → package → install path for a script module. Step-by-step without cargo: first module. Settings → Local module catalogue → Install reads the local signed catalogue (share/modules/catalogue.yaml + ed25519); hash check on install.

Depuis Chat, demandez « crée un module … » — l’hôte lance un agent (filet si le modèle dump du JSON d’UI au lieu de agent.spawn). Scénarios peut lancer le même chemin scaffold → package → install pour un module script. Pas à pas sans cargo : premier module. Paramètres → Catalogue local de modules → Installer lit le catalogue local signé (share/modules/catalogue.yaml + ed25519) ; contrôle de hash à l’install.

Skills

Skills

Declarative recipes under share/skills/, overridable under var/skills/. Agents load them by name; authoring also exposes skill.create. Ten minutes, no cargo: write a skill (copy morning-brief or write ping).

Recettes déclaratives sous share/skills/, surchargeables sous var/skills/. Les agents les chargent par nom ; l’authoring expose aussi skill.create. Dix minutes, sans cargo : écrire un skill (copier morning-brief ou écrire ping).

MCP stdio

MCP stdio

As client: copy share/mcp/servers.yaml.example, add stdio servers, and reference vault secrets with ${secret:name}. MCP tools appear in the agent Detail panel alongside native and module tools. Native web.browse does not run page JavaScript; a headless-browser MCP you install is the Preview path for SPA / hydrated pages, and it does its own network egress (not wrapped by net.connect). Server façade: optional aos-mcpd exposes akasha_models / akasha_infer / akasha_mem_* over stdio so external IDEs can use a running Preview.

En client : copiez share/mcp/servers.yaml.example, ajoutez des serveurs stdio, et référencez les secrets du vault avec ${secret:name}. Les outils MCP apparaissent dans le panneau Détail de l’agent à côté des outils natifs et modules. web.browse natif n’exécute pas le JavaScript de la page ; un MCP navigateur headless que vous installez est le chemin Preview pour les SPA / pages hydratées, et il sort sur le réseau tout seul (pas encadré par net.connect). Façade serveur : aos-mcpd optionnel expose akasha_models / akasha_infer / akasha_mem_* en stdio pour que des IDE externes utilisent une Preview déjà lancée.

As server: optional bin/aos-mcpd (not started by session) exposes akasha_models / akasha_infer / akasha_mem_* so Claude Code, Codex, Cursor, or Copilot can use a running Preview. Example config: share/mcp/akasha-mcp.example.json. Details: docs/mcp-server.md.

En serveur : bin/aos-mcpd optionnel (pas démarré par la session) expose akasha_models / akasha_infer / akasha_mem_* pour que Claude Code, Codex, Cursor ou Copilot utilisent un Preview lancé. Exemple : share/mcp/akasha-mcp.example.json. Détail : docs/fr/mcp-server.md.

Providers as extension

Providers comme extension

Beyond local GGUF, add OpenAI-compat cloud or loopback providers from the Providers tab. Keys stay in the vault. Loopback works under local_only; remote cloud needs balanced routing and network grant.

Au-delà des GGUF locaux, ajoutez des providers cloud OpenAI-compat ou loopback depuis l’onglet Providers. Les clés restent dans le vault. Le loopback marche sous local_only ; le cloud distant exige le routage balanced et le grant réseau.

Full shipped catalogue: docs/FEATURES.md on GitHub. Stuck or need an overlay update: Troubleshoot & Updates. Feedback and cohort protocol: feedback. What Preview will not do: limits.

Catalogue livré complet : docs/fr/FEATURES.md sur GitHub. Bloqué ou besoin d’une superposition : Diagnostic & MAJ. Feedback et protocole de cohorte : feedback. Ce que la Preview ne fera pas : limits.

Network