Back to Explore

askmanu/acorn

GitHub
1 watchersOpen source

Last release:

Acorn is an LLM agent framework for building long running agents with structured I/O. It supports type-safe inputs and outputs, automatic tool calling, multi turn agentic loops, and integrations like LiteLLM, with options for streaming responses and provider caching or failover. It is useful for implementing agent workflows that call tools, recover from parse errors, and can branch into sub agents.

Project status

  • The repository appears actively maintained, with ongoing commits and multiple recent version updates between 2026-02 and 2026-04, including an upstream push on 2026-04-04.
  • The apparent update cadence is roughly weekly to biweekly in this window (for example, 0.7.3 on 2026-03-24, 0.8.0a1 on 2026-03-25, and 0.8.0 and 0.8.1 on 2026-04-02).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • 0.8.1

    Release 0.8.1 does not include any publisher-provided release notes. The provided diff is dominated by documentation updates and examples, plus a version bump in acorn/_version.py.

    Features
  • 0.8.0

    Release 0.8.0 (0.8.0a2) introduces two major internal capabilities: a Service abstraction for grouping tool methods with lifecycle hooks, and an optional search-based tool discovery mode that hides most tool schemas from the LLM prompt. Module execution now calls Service setup/teardown around the run, and tool schema generation changes when tool_discovery is set to "search".

    BreakingFeatures
  • 0.8.0a1

    Release 0.8.0a1 is a pre-release focused on switching Acorn to an async-first API model. The documented breaking change is that Module.__call__ is now async, requiring sync callers to use run() and async callers to await the call.

    BreakingFeatures
  • 0.7.3

    Release 0.7.3 makes a targeted change to dependency resolution. The only code diff is in pyproject.toml, where litellm is now pinned to a specific version.

  • 0.7.2

    Release 0.7.2 primarily adds a new model config option, `litellm_params`, which is forwarded to LiteLLM when calling the LLM. The rest of the diff is documentation and GitHub Pages deployment workflow changes, with no additional library behavior changes shown in the provided diff.

    Features
  • 0.7.1

    Acorn 0.7.1 adds Jinja2-based system prompt templating via a new Template type, and updates documentation. The code diff also introduces additional LLM generation parameter plumbing (beyond max_tokens) and changes how system_prompt file paths are resolved. Branching documentation appears to be added/expanded, with at least one code change affecting branch caching behavior.

    BreakingFeatures
  • 0.6.2

    Release 0.6.2 has release notes that only state it is being published as a proxy for 0.6.1. The actual diff shows no core-library change, but there are substantial updates to the Gradio examples and demo UI, including a new example module and changes to how step logs are rendered.

    Features
  • 0.6.1

    Release 0.6.1 focuses on adding branching support, refreshing the examples, and introducing a GitHub Actions workflow to deploy demos to HuggingFace Spaces. The diff also includes deeper core changes in the Module base class, beyond what the release notes explicitly mention.

    BreakingFeatures
  • 0.5.1

    Release 0.5.1 does not include any publisher-provided release notes. The code diff shows version bumps plus a new “model fallbacks” capability wired into LiteLLM calls, along with related validation and documentation updates.

    Features
  • 0.4.4

    Release 0.4.4 updates the package version and makes small but meaningful changes to how model configuration is validated and forwarded to the LiteLLM client. It also updates internal progress documentation to describe additional phases and new example usage (streaming and caching), but the code diff shown only includes client/config wiring changes.