Skip to content

Version 1.0.0

Choose a tag to compare

@knight22-21 knight22-21 released this 04 Sep 15:34
· 137 commits to main since this release

Added

  • Web search — web_search tool queries Brave Search API or any self-hosted SearXNG instance. Configured via cfg.brave.api_key or cfg.searchx.base_url. Provider can be overridden per call.
  • URL fetching — fetch_url tool fetches any URL and returns plain text. HTML is stripped automatically using a stdlib parser. No extra dependencies required.
  • Image understanding — read_image tool loads PNG, JPEG, GIF, or WebP files and passes them to the LLM as native image content blocks (Anthropic and OpenAI). Gracefully degrades on providers without vision support.
  • Jupyter notebook tools — notebook_read, notebook_edit, and notebook_run let the agent inspect, modify, and execute notebooks in place. Requires nbformat; execution delegates to jupyter nbconvert.
  • Session todo list — todo_write and todo_read tools give the agent a persistent task list scoped to the current session, backed by the existing SQLite store.
  • Effort levels — --effort low|medium|high|xhigh|max controls max_tokens and temperature per run. Changeable mid-session with /effort.
  • Anthropic extended thinking — activated at xhigh or max effort when extended_thinking = true in config. Thinking blocks are surfaced in the terminal and in stream-json output.
  • Bare mode — --bare flag skips DEVAGENT.md injection, CodePrism overlay, and the permission gate. Intended for scripted or CI use.
  • stream-json output — --output-format stream-json emits one JSON line per agent event to stdout, making it easy to pipe agent output into CI tooling or other processes.
  • /effort and /think REPL commands — change effort level and toggle extended thinking live without restarting the session.
  • /undo and /diff REPL commands — /undo rolls back the last file write; /diff shows a unified diff of all files changed this session.
  • Shell escape in REPL — prefix any line with ! to run a shell command inline without leaving the agent session.
  • Inline diff rendering — file edits and writes emit a unified diff; the terminal renders it with colour-coded +/- lines immediately after each tool call.
  • Sub-agent spawning — spawn_agent tool lets the agent delegate subtasks recursively to independent sub-agents.
  • Peer result sharing — read_peer_results lets orchestrated workers inspect outputs from completed sibling tasks before starting their own work.
  • Dependency context injection — workers that depend on other tasks automatically receive a summary of those tasks' outputs in their system prompt.
  • DEVAGENT.md — devagent init-project scaffolds a project instruction file and .devagent/ directory. The agent reads and injects it into every session's system prompt.
  • Project memory — named facts can be persisted across sessions in .devagent/memory.json and are injected as context on each run.
  • --allow-tools — shorthand flag to auto-allow specific tool names without writing full allow rules.

Changed

  • SearchXConfig gains a base_url field (default http://localhost:8888) so self-hosted SearXNG instances can be pointed at from TOML config.
  • build_registry now wires the active LLM provider and session ID through to vision and todo tools respectively.

Fixed

  • Session ID and provider were not passed from DevAgentSession into build_registry, so vision tool image encoding and session-scoped todo storage were silently skipped. Now correctly wired.