SQLite for Team

Store team sessions and run history in a local SQLite database with SqliteDb.

SqliteDb stores a Team's sessions and run history in SQLite.

Usage

Start in a virtual environment.

SqliteDb uses db_engine, then db_url, then db_file. If none is provided, it creates agno.db in the current directory. The following example uses db_file.

Install dependencies:

uv pip install agno openai ddgs sqlalchemy

Set your OpenAI API key:

export OPENAI_API_KEY=your_api_key
sqlite_for_team.py
from typing import List

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIResponses
from agno.team import Team
from agno.tools.hackernews import HackerNewsTools
from agno.tools.websearch import WebSearchTools
from pydantic import BaseModel

db = SqliteDb(db_file="tmp/data.db")

class Article(BaseModel):
    title: str
    summary: str
    reference_links: List[str]

hn_researcher = Agent(
    name="HackerNews Researcher",
    model=OpenAIResponses(id="gpt-5.2"),
    role="Gets top stories from HackerNews.",
    tools=[HackerNewsTools()],
)

web_searcher = Agent(
    name="Web Searcher",
    model=OpenAIResponses(id="gpt-5.2"),
    role="Searches the web for information on a topic",
    tools=[WebSearchTools()],
    add_datetime_to_context=True,
)

hn_team = Team(
    name="HackerNews Team",
    model=OpenAIResponses(id="gpt-5.2"),
    members=[hn_researcher, web_searcher],
    db=db,
    instructions=[
        "First, search HackerNews for what the user is asking about.",
        "Then, ask the web searcher to search for each story to get more information.",
        "Finally, provide a thoughtful and engaging summary.",
    ],
    output_schema=Article,
    markdown=True,
    show_members_responses=True,
)

hn_team.print_response("Write an article about the top 2 stories on HackerNews")

Run the example

Save the code as sqlite_for_team.py and run it; SQLite creates the local database file as needed:

python sqlite_for_team.py

Parameters

ParameterTypeDefaultDescription
idOptional[str]NoneDatabase ID. Generated when omitted.
db_engineOptional[Engine]NoneSQLAlchemy database engine. Takes precedence over db_url and db_file.
db_urlOptional[str]NoneDatabase URL. Used when db_engine is omitted.
db_fileOptional[str]NoneDatabase file. Creates ./agno.db when no connection option is provided.
session_tableOptional[str]NoneTable for Agent, Team, and Workflow sessions. Uses "agno_sessions" when omitted.
runs_tableOptional[str]NoneStorage name for individual runs. Defaults to agno_runs, or <session_table>_runs when a custom session name is supplied.
memory_tableOptional[str]NoneTable for user memories. Uses "agno_memories" when omitted.
metrics_tableOptional[str]NoneTable for metrics. Uses "agno_metrics" when omitted.
eval_tableOptional[str]NoneTable for evaluation run data. Uses "agno_eval_runs" when omitted.
knowledge_tableOptional[str]NoneTable for knowledge documents. Uses "agno_knowledge" when omitted.
traces_tableOptional[str]NoneTable for traces. Uses "agno_traces" when omitted.
spans_tableOptional[str]NoneTable for spans. Uses "agno_spans" when omitted.
versions_tableOptional[str]NoneTable for schema versions. Uses "agno_schema_versions" when omitted.
components_tableOptional[str]NoneTable for components. Uses "agno_components" when omitted.
component_configs_tableOptional[str]NoneTable for component configurations. Uses "agno_component_configs" when omitted.
component_links_tableOptional[str]NoneTable for component links. Uses "agno_component_links" when omitted.
learnings_tableOptional[str]NoneTable for learnings. Uses "agno_learnings" when omitted.
schedules_tableOptional[str]NoneTable for cron schedules. Uses "agno_schedules" when omitted.
schedule_runs_tableOptional[str]NoneTable for schedule run history. Uses "agno_schedule_runs" when omitted.
approvals_tableOptional[str]NoneTable for human approval requests. Uses "agno_approvals" when omitted.
auth_tokens_tableOptional[str]NoneTable for OAuth tokens. Uses "agno_auth_tokens" when omitted.
service_accounts_tableOptional[str]NoneTable for service accounts. Uses "agno_service_accounts" when omitted.
mcp_oauth_clients_tableOptional[str]NoneTable for MCP OAuth client registrations. Uses "agno_mcp_oauth_clients" when omitted.
mcp_oauth_transactions_tableOptional[str]NoneTable for MCP OAuth transactions. Uses "agno_mcp_oauth_transactions" when omitted.
mcp_oauth_codes_tableOptional[str]NoneTable for MCP OAuth authorization codes. Uses "agno_mcp_oauth_codes" when omitted.
mcp_oauth_refresh_tokens_tableOptional[str]NoneTable for MCP OAuth refresh tokens. Uses "agno_mcp_oauth_refresh_tokens" when omitted.
mcp_oauth_keys_tableOptional[str]NoneTable for MCP OAuth signing keys. Uses "agno_mcp_oauth_keys" when omitted.