Перейти к содержанию

Roadmap

glia follows one principle when adding features: a new primitive must not add hidden control flow. If a feature can't be made inspectable, it doesn't ship.

v0.1 — thesis proven (this release)

  • Transparent agent loop (run / run_events) with a full event stream
  • Tools from typed functions (@tool) + ToolRegistry
  • Provider boundary + ClaudeLLM (Anthropic) and EchoLLM (offline)
  • Serialisable Trajectory; checkpoint/resume (durable execution)
  • Context engineering: SummarizingCompactor, TrimmingCompactor
  • Guardrails (input/output validators)
  • Structured outputs (provider-agnostic, via forced tool call)
  • Subagents (any agent → a tool)
  • Evals-as-tests harness
  • Zero-dependency core, py.typed, green CI, runnable offline examples

v0.8 — a real GUI — shipped

  • [x] Redesigned desktop shell: conversation sidebar with persistent history
  • [x] Markdown + code rendering, theme toggle, glass-box drawer, prompt chips

v0.7 — observability & polish — shipped

  • [x] OpenTelemetry span exporter driven off the event stream
  • [x] Redesigned desktop shell UI + an animated README hero
  • [ ] A local trace viewer for saved trajectories

v0.6 — record & replay — shipped

  • [x] Record/replay cassettes (RecordingLLM / ReplayLLM / use_cassette)

v0.5 — reach & rigor — shipped

  • [x] OpenAILLM provider (OpenAI-compatible; streaming + tools)
  • [x] Interactive approval UI in the desktop shell (approve/deny from the window)
  • [x] MCP tool bridge (glia.integrations.mcp, [mcp] extra)
  • [x] mypy as a CI gate; coverage restored to ~95%; README hero image

v0.4 — local models — shipped

  • [x] OllamaLLM provider (stdlib HTTP, streaming + tools) for local open models
  • [x] Ollama mode in the desktop shell (Qwen, DeepSeek, Llama, …)
  • [x] A second hosted provider (OpenAI) — shipped in v0.5

v0.3 — the desktop shell — shipped

  • [x] glia-shell graphical chat app with a live glass-box event panel
  • [x] Pure-stdlib local server; native window via pywebview + browser fallback
  • [x] Offline demo mode + optional Anthropic key; downloadable per-OS binaries
  • [ ] Interactive approval UI in the shell (approve/deny tools from the window)

v0.2 — ergonomics & throughput — shipped

  • [x] Streaming token output through the event stream (ModelDelta events)
  • [x] Parallel tool execution (asyncio.gather) with preserved event ordering
  • [x] Human-in-the-loop tool approval as a first-class, inspectable gate (pulled forward from v0.4)
  • [ ] Retry/backoff policy as an explicit, inspectable wrapper (not hidden magic)
  • [ ] RunResult niceties: per-tool timings, cost summary helpers

v0.3 — interop

  • [ ] MCP tool bridge: expose MCP servers as glia tools, and glia tools as MCP
  • [ ] OpenTelemetry span exporter driven off the event stream
  • [ ] Prompt-caching hints on the Claude adapter (stable-prefix breakpoints)

v0.4 — reliability

  • [ ] Pluggable persistence backends for checkpoints (file, sqlite, redis)
  • [ ] Deterministic replay: re-run a saved trajectory against a recorded provider
  • [x] Human-in-the-loop tool approval as a first-class, inspectable gate (shipped in v0.2)

Later

  • [ ] TypeScript port once the Python core stabilises (same glass-box contract)
  • [ ] A tiny local trace viewer that renders a Trajectory as a timeline

Non-goals (on purpose)

  • A graph/DSL orchestration engine — use LangGraph.
  • A hosted runtime/sandbox — use the Claude Agent SDK / Managed Agents.
  • A role-play "crew" abstraction — use CrewAI.
  • Anything that requires the core to grow a heavy dependency.