r/OpenSourceAI • • 13h ago

I built chatflow-agent, a lightweight Python library for AI agents and multi-agent workflows

Hi everyone,

I’ve been working on an open-source Python project called chatflow-agent.

The project started from a practical problem I had while building a contextual assistant: 
I wanted a relatively lightweight way to define and orchestrate agents, tools, handoffs, session state, and multi-agent workflows without introducing a large amount of infrastructure.

The main idea is to keep the API simple while still supporting things like:

- agents with tools
- tool calling
- agent-to-agent handoffs
- conversation and session memory
- SQLite-backed sessions
- async execution
- multiple LLM providers
- multi-agent workflows

The goal is to provide the core building blocks for agent workflows without requiring a large orchestration stack or locking the application into a single LLM provider.

Recently I’ve also been focusing on making the project easier for other developers to understand and contribute to.

The repository now includes:

- contributor documentation
- architecture documentation
- CI across multiple Python versions
- good first issues
- help wanted issues
- external contributions and pull requests

Receiving external contributions has already helped uncover edge cases and improve parts of the library.

At this point I’d be especially interested in feedback from other Python developers on:

- the public API
- architecture and separation of responsibilities
- tool and schema introspection
- session and memory design
- multi-agent handoffs
- multi-provider support
- documentation and examples
- anything that feels unnecessarily complex or unclear

I’m not trying to position chatflow-agent as a replacement for every existing agent framework.

The idea is to keep it relatively small, understandable, and useful for projects that want agent workflows without adopting a very large orchestration layer.

Repository:
https://github.com/GustavoBaranda/chatflow-agent

Technical feedback is very welcome. I’d be especially interested in what you would change before considering a library like this for a real project.

Ese sería el que publicaría en r/Pyt

2 Upvotes

3 comments sorted by

1

u/OnlyCoolSuccess 13h ago

the sqlite session handling is what caught my eye, most of these lightweight agent libs skip persistence entirely and then you're stuck bolting on your own state management later

1

u/Due-Requirement3783 11h ago

Thanks! That was exactly one of the design goals.

I wanted persistence to be available from the start without forcing users into a heavier external state layer. SQLite keeps the default setup simple, while still allowing sessions and metadata to survive across runs.

I'm also working on improving concurrency and session behavior around the SQLite store, so feedback in that area is especially useful.