aios@ccmai — /aios/changelog

AIOS

changelog — full history from the start

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.runsven 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

  • MIT license added.

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/shexec /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
© 2026 CCMAIMIT Licensev0.17.1ultrabeta