Skip to content

v0.8.0

Choose a tag to compare

@guanyilun guanyilun released this 13 Apr 18:04
· 906 commits to main since this release

Highlights

Three-tier context management

Context now works like shell history — continuous, persistent across restarts, no sessions to manage. Content flows through three tiers at decreasing resolution:

  1. Active context — full tool outputs and file contents in the LLM conversation
  2. Nuclear memory — one-liner summaries stay in-context so the agent always has a timeline (read-only items like grep/read_file are dropped since the agent can re-read them)
  3. History file~/.agent-sh/history persists across restarts, shared across shells

The system adapts to your model's context window — a 200k model gets generous budgets, an 8k model gets tighter limits. Use /compact to manually free up space, or let it happen automatically.

See Context Management for the full design philosophy and details.

Overlay chat panel

Ctrl+\ opens a floating overlay panel for a separate agent conversation without leaving your current terminal context. Markdown rendering, scrolling, input history — all composited over your terminal.

Provider capabilities

Models can now be configured with per-model capabilities (contextWindow, reasoning) in provider settings:

{
  "providers": {
    "my-provider": {
      "models": [
        { "id": "model-a", "contextWindow": 200000, "reasoning": true },
        { "id": "model-b", "contextWindow": 32000 }
      ]
    }
  }
}

New slash commands

Command Description
/compact Manually compact conversation (shows before/after token stats)
/context Show context budget usage
/thinking [level] Set reasoning effort (off, low, medium, high)

Other changes

  • Fix table renderer misalignment with CJK/wide characters
  • Fix provider:register not injecting models into agent loop modes
  • Terminal buffer tools (terminal_read, terminal_keys) for bridge extensions
  • shell:pty-resize bus event for overlay/panel responsiveness