---
title: "SQLite（sqlite）"
---

`sqlite` 后端把会话持久化到一个本地 SQLite 文件，底层使用 Google ADK 的 `DatabaseSessionService`。它不依赖外部数据库服务，但与 `local` 不同，会话会落盘，因此可以**跨进程、跨重启保留**。

## 何时使用

- 单机部署且需要持久化；
- 本地开发但希望保留历史会话；
- 数据量不大、无需分布式访问的场景。

## 用法

```python
from veadk import Agent, Runner
from veadk.memory.short_term_memory import ShortTermMemory

stm = ShortTermMemory(
    backend="sqlite",
    local_database_path="./short_term_memory.db",  # 数据库文件位置
)

agent = Agent(name="demo")
runner = Runner(agent=agent, short_term_memory=stm, app_name="memory_demo")
```

若数据库文件不存在，VeADK 会自动创建（包括所需的父目录）。

## 参数

| 参数 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- |
| `local_database_path` | `str` | `/tmp/veadk_local_database.db` | SQLite 文件路径，会被解析为绝对路径。 |

其余通用参数见[短期记忆 · 参数](/cn/docs/framework/memory/short-term#参数)。

<Callout type="info">
也可以用 `db_url` 直接给出连接串，例如 `ShortTermMemory(db_url="sqlite:///./test.db")`；此时 `backend` 与 `local_database_path` 都会被忽略。
</Callout>

需要分布式持久化？请改用 [MySQL](/cn/docs/framework/memory/short-term/mysql) 或 [PostgreSQL](/cn/docs/framework/memory/short-term/postgresql)。
