v0.18 — 2026-08-31 19:48
↓
no LLM 76179b138ab6c706a3d7863222941193 ·
with Qwen 712edc7f0663069b18eded912fe327d6
new features
- local LLM — Qwen3.5-9B: the bundled local model is now
Qwen3.5-9B (Q4_K_M), replacing Qwen3-8B — better reasoning and tool calling. llama-server upgraded to b10655 (CPU-dispatched: runs on any x86-64, from SSE4.2 to AVX-512).
fixes
- cloud empty responses: the Ollama Hardened server now serves
qwen3.5:9b with a 32K context window (OLLAMA_CONTEXT_LENGTH=32768) instead of the 4K default — fixes empty responses where reasoning + tool-calling exhausted the context.
- agent empty-response diagnostics: on an empty response the agent now reports the cause (
finish_reason, reasoning characters emitted) instead of the generic "(empty model response)".
v0.17.1 — 2026-08-30 14:10
↓
no LLM d6d942c698304ab06f5f18375a6a91ac ·
with Qwen 767268c82d19416a4c1a75e7e5f8d8b4
fixes
- audio:
aios-audio.service was never enabled (missing multi-user.target.wants symlink) — audio-detect.py didn't run at boot and asound.conf kept the hardcoded plughw:1,0. Now enabled, analog card auto-detected.
- sven:
run_command passed both stdin and input to subprocess.run — sven update/upgrade/install failed with "stdin and input arguments may not both be used". Fixed.
- sudo: agent now detects NOPASSWD (
sudo -n true). Live runs sudo directly; installed asks for /sudo <password> (in-memory only, never persisted).
v0.17 — 2026-08-30 01:48
↓
no LLM 056e8457f260453fdd615e86c7af7b21 ·
with Qwen f2b1608e520653ad1f5af544aa92979b
new features
- sudo with password:
/sudo <password> (cached in session) + run_command uses sudo -S; the agent accepts the password in local and cloud modes (no NOPASSWD needed).
- audio-detect.py: autodetects the analog sound card and writes
asound.conf dynamically — audio works on any hardware.
i18n
- All comments and user-facing strings translated to English (agent, installer, README, docs, scripts). Fixes
<think> tag corruption.
quotes
- 5 Terminator quotes (T1 + T2) and 2 Matrix quotes (the full red pill / blue pill monologue + "Whoa. Déjà vu."). Quote lists unified (
setup.py was missing Blade Runner) + shuffle-cycle picker to avoid repeats.
fixes
- Don't auto-open Firefox for the API key (ask first).
- Login cursor: remove
vt.global_cursor_default=0 from the disk GRUB entry.
- Audio/voice/chat patches.
- Restore
scripts/aios-diag exec bit.
license
v0.16 — August 2026
↓
no LLM 2f6b6f898d68df17f1f988b572c50b5d ·
with Qwen 4a2e2ca255eab7c141c73b071f2519ce
voice (TTS/STT) — independent voice: section from chat
- Config:
voice: section in config.yaml (tts/stt/tts_lang), separate from cloud: (chat). Setup (live and aios-install) lets you choose TTS (off/espeak/gemini/openai), STT (off/vosk/gemini/openai) and language; voice keys go to ~/.aios/.env apart from the chat key.
- TTS (
voice.py): local espeak-ng (no key), Gemini gemini-2.5-flash-tts and OpenAI gpt-4o-mini-tts. Skips code blocks/tables and speaks in a thread. espeak-ng installed via sven.
- STT (
voice.py): local vosk, Gemini and OpenAI (records with arecord).
- Commands:
/voice (toggles, persists) and /mic (records + transcribes + sends).
- Icon:
VOX/MIC block in the i3 bar.
fixes
- Beep/tic did not sound:
aplay --buffer-size=512 --period-size=512 (buffer == period) failed silently on some codecs; removed. aios-diag now collects audio state.
- Loading bar in English: the LLM progress bar text switched to English.
v0.15 — August 2026
↓
no LLM 3e2cee39411c80c8d63669577a7be858 ·
with Qwen 715a34b398e34d1487a0b0c496917967
fixes for LLM boot and screenshot
- LLM loading stuck at 85%:
select + buffered readline left listening stuck; fix: reader thread + queue (no select).
- Printscreen (
Print): inline scrot with % + && + nested quotes broke the i3 parser; fix: dedicated scripts/screenshot.sh.
v0.14 — August 2026
agent: executes real tools
import sys in agent.py: fixed NameError swallowed by the stream except (the agent seemed "mute").
- Tool visible before executing: the
⚙ tool(...) is shown before execute_tool.
run_command with correct stdin: /dev/null by default + auto-y for sven prompts.
- Tool
list_desktop_apps: parses /usr/share/applications/*.desktop.
- Grounding: sven always with sudo, never end the turn with a promise.
local LLM loading
- Real progress bar in
_start_local_model: real phases from the llama-server log.
screenshots and diagnostics
- Printscreen:
scrot to ~/screenshots/; documented in shortcuts.txt.
aios-diag: collects diagnostics, redacts keys, uploads tar.zst via rsync to a write-only diag account.
v0.13 — August 2026
stability fixes
- Live→menu loop:
_live_flow returns True and main() breaks.
- Internet with retry: waits for DHCP after WiFi association.
- Delete/arrows in
_read_line: escape sequences handled.
- sven timeout 600s: generous timeout for
sven install/upgrade/sync.
- Chat without staircase effect:
_out() writes explicit CRLF.
v0.12 — August 2026
ollama-hardened support (Moonlight)
- X-API-Key:
auth_type (bearer/x-api-key); verify=False only for x-api-key.
- Provider "Ollama Hardened":
webuillama.ccmai.org:8443, Moonlight-16B-A3B.
- Fix reading key of custom provider; hardened Caddyfile → 401 without a valid key.
v0.11 — August 2026
local LLM improvements (accuracy / anti-hallucination)
- AIOS grounding:
_AIOS_GROUNDING injects AIOS invariants into the system prompt.
- Verification discipline: check current state with a tool first.
- Sampling per official Qwen3 doc: thinking 0.6/0.95, no-thinking 0.7/0.8.
- Reasoning_content echo: captured and returned in multi-turn history.
v0.10 — August 2026
local thinking switch + relative context/threads
- Local thinking mode (Qwen3-8B): ON/OFF via
local.think (default OFF).
- Empirically verified: Qwen3 reasoning goes in
delta.reasoning_content, not delta.content.
- Fix context/threads in disk install: uses
_detect_cpu() + _auto_context().
- Hot
/think command: toggle without leaving the agent.
v0.9 — August 2026
fix: mute agent
- Symptom: agent stopped responding (blank response) on long tool calls with vision coordinates.
- Root cause:
chat.py swallowed agent.run() return; stream cut left empty content.
- Fixes: show run() return, raw SSE stream log in
/tmp/aios-stream.log, single retry on empty stream.
v0.8 — August 2026
distro kernel (#5) — generic hardware
- Kernel 6.18.10 config expanded: wifi, DRM, NVMe, UAS, ethernet, ALSA HDA + USB audio.
- linux-firmware in
/lib/firmware (~534MB) + iwlwifi symlinks.
- Verified on HP Notebook (AMD APU + RTL8723BE + RTL8106E).
setup.py — option 5 WIFI SETUP
- Scans SSIDs, generates wpa_supplicant config, connects and verifies.
- Persistence on installed system via systemd-networkd.
- Bug fix:
aios-wifi.service path → replaced by networkd.
infrastructure
- sven DB sync + ghost-state registry; libinput chain; busybox applets. MILESTONE: complete AIOS on real hardware.
v0.7 — August 2026
physical milestone
- Full boot of AIOS LFS on real hardware verified (2 Aug 2026).
- ISO boots from USB with Rufus in DD mode.
- Installer copies to SSD; machine boots from disk with AIOS banner and login.
- Fixed live initrd init to wait for the boot device (30 s,
[ -b ] loop).
- Expanded device list (
sdc, sdd, hd*, nvme*, mmcblk*).
- Clear message
AIOS: boot media not found + busybox shell.
v0.6 — August 2026
aios-install v1.1.2 — kernel panic fix
- Fix: kernel panic when booting from hard disk (
exit code=0x7f00).
- Octal escape in
sed pattern → double backslash fix.
- Fallback
exec /bin/sh → exec /bin/busybox sh.
- Active wait loop (30 s) for the root device;
switch_root.
v0.5 — August 2026
aios-install
- v1.1.0: change root/aios passwords during install (
getpass, chpasswd).
- v1.1.1: silent boot on disk (timeout=0, quiet, real root=).
- Removed
nokaslr; print_box centered.
v0.4 — August 2026
setup.py
validate_api_key in a daemon thread with join(timeout=12).
os._exit(0) at the end to force exit.
- API key saved correctly in
~/.aios/.env.
- LOCAL menu with Qwen3-8B-Instruct;
print_box centered.
v0.3 — August 2026
fix GRUB bootloader on disk installs
grub-mkconfig (graphical, hung in VirtualBox) replaced by a fixed text-mode grub.cfg.
set default=0, set timeout=5, menuentry "AIOS LFS".
- UUIDs and "Arch Linux" references removed.
v0.2 — August 2026
SRE Agent with native function calling on Qwen2.5-7B-Instruct
- Model fixed to Qwen2.5-7B-Instruct; 13 tools.
- Procedural Skill-Pro memory, context compression via
/v1/tokenize.
- Setup wizard with 7 providers; RAM detection and auto context scaling.
- Anti-loop; readline history; Ctrl+C interrupt.
v0.1 — August 2026
SRE Agent with native function calling on Qwen3-8B
- Complete repository rewrite; lightweight SRE agent via llama.cpp server.
- Tools:
run_command, read_file, write_file.
- Conversational support; basic security (destructive-command warning).
← back to ccmai.org