Skip to main content
SqliteChannel keeps each conversation as rows in a SQLite table. One file holds as many conversations as you like, each under its own name. Several threads or processes can post at once, and any SQLite client can query the history. Reference: SqliteChannel.

Two agents, one conversation

fetch_messages() returns each row with its id and a UTC created_at timestamp.

A concurrent fan-out into one table

ConcurrentWorkflow runs its agents in parallel threads. SQLite and the channel’s lock serialise the writes.

MixtureOfAgents with an audit trail

Every worker’s answer in every layer is stored, named like Bull (layer 1/2), followed by the aggregator’s answer.

One file, one conversation per ticket

Give each conversation its own name. Channels with different names share the file but never see each other’s messages.
To continue a ticket later, in any process, open the same name. The agent reads the earlier turns first:

MajorityVoting with queryable votes

The rows are the task under user, each reviewer’s answer, then the Consensus-Agent’s verdict.

Clean up

Next steps