github TinyAGI/tinyagi v0.0.16

one day ago

TinyAGI v0.0.16

Highlights

  • Zero-Config Onboarding — Completely streamlined the first-run experience. Running tinyagi now auto-creates default settings, bootstraps agent workspace directories, checks dependencies, and launches the daemon — no setup wizard required. Users can add channels later via the web UI or tinyagi channel setup. (8e5a1b9)
  • Live Office Workspace Redesign — Built an immersive pixel-art office scene with animated agent characters, furniture layouts, and a lounge area. Agents are visualized at desks or in the lounge with real-time activity overlays. The conversation panel now renders Markdown with avatar initials and a chat-view style layout matching the rest of TinyOffice. (55a30ad)
  • CLI Adapter Pattern — Extracted provider-specific CLI logic (Claude, Codex, OpenCode) into independent adapter modules implementing a standardized AgentAdapter interface. Reduced invoke.ts from ~400 lines to ~190 and made it straightforward to add new CLI backends. (e60adb4)
  • SSE Event System Redesign — Replaced the chain_* event nomenclature with clearer semantic events: message:incoming, agent:invoke, agent:progress, agent:response, agent:mention, message:done. Extracted office page into composable hooks (use-office-data, use-office-sse, use-scene-layout) and modular components. (d5e0bb7)

New Features

  • Pixel-art office scene with 6 character sprites, 25+ furniture items (desks, PCs, sofas, bookshelves, plants, whiteboards), configurable floor tiles, and wall textures (55a30ad)
  • Conversation panel with Markdown rendering, agent avatar initials, and PromptInput with ArrowUp/Square button layout (55a30ad)
  • Archive panel for viewing past office conversations (55a30ad)
  • Overlay speech bubbles showing real-time agent activity in the office scene (55a30ad)
  • tinyagi channel setup command for interactive channel token configuration, replacing the removed setup wizard (8e5a1b9)
  • Auto-dependency checking on startup: verifies tmux, jq availability and soft-warns if neither claude nor codex CLI is installed (8e5a1b9)
  • Office web UI automatically opens on tinyagi, tinyagi start, and tinyagi restart (8e5a1b9)
  • Agent workspace bootstrapping: auto-creates .claude/, heartbeat.md, and SOUL.md templates in agent directories on first run (8e5a1b9)

Improvements

  • Default agent renamed from default to tinyagi across all routing, config, and fallback logic (8e5a1b9)
  • Channels are now optional — daemon starts successfully without any channels configured (8e5a1b9)
  • SSE events documentation (SSE-EVENTS.md) rewritten with new event design, actual emission points, and visualization requirements (d5e0bb7)
  • Office page decomposed into composable hooks: use-office-data (server state sync), use-office-sse (SSE event handling), use-scene-layout (scene management) (d5e0bb7)
  • Agent team information now includes team ID, grouped teammates by team, and team leader designation (69f4bcb)
  • AGENTS.md restructured with separate sections for Direct Messages and Team Chat Room, with clearer guidelines on when agents should post vs. stay silent (69f4bcb)
  • CLI prefers local repo tinyagi.sh over installed copy when running from source (dev workflow) (8e5a1b9)
  • Removed excessive console logging throughout the codebase (e816856)

Bug Fixes

  • Chat room messages now display in correct chronological order (oldest-to-newest, top-to-bottom) instead of reversed (69f4bcb)

Breaking Changes

  • Setup wizard (setup-wizard.ts) and /setup web page have been removed. Use tinyagi channel setup for channel configuration instead (8e5a1b9)
  • SSE event names changed from chain_* prefix to message:* and agent:* prefix. Clients consuming SSE events must update their event listeners (d5e0bb7)
  • Default agent ID changed from default to tinyagi. Existing configurations referencing default may need to be updated (8e5a1b9)

Architecture

  • New adapter modules at packages/core/src/adapters/: claude.ts, codex.ts, opencode.ts, types.ts, index.ts — each implements AgentAdapter interface with buildArgs(), parseOutput(), and provider metadata (e60adb4)
  • Provider registry pattern with automatic adapter registration and lookup by provider name (e60adb4)
  • Office components extracted to tinyoffice/src/components/office/: pixel-office-scene.tsx, pixel-office-char.tsx, conversation-panel.tsx, archive-panel.tsx, overlay-bubbles.tsx, types.ts (d5e0bb7, 55a30ad)
  • Scene layout engine (use-scene-layout.ts, 443 lines) handles room zones, desk placement, furniture positioning, and agent distribution (55a30ad)

Stats

  • 129 files changed, 3,569 insertions, 1,920 deletions
  • 6 commits from 4 contributors

Changelog (since v0.0.15)

  • 8e5a1b9 refactor(cli): streamline onboarding to single 'tinyagi' command (#244)
  • d5e0bb7 refactor(office): redesign SSE events and extract page components (#245)
  • 55a30ad feat(office): redesign the live office workspace (#212)
  • e60adb4 refactor(core): extract CLI logic into adapter pattern (#242)
  • e816856 chore: remove excessive logs
  • 69f4bcb fix(chatroom): reverse message order for correct chronological display (#241)

Don't miss a new tinyagi release

NewReleases is sending notifications on new releases.