Anna-Team/AnnaDB
Anna-Team/AnnaDB has 62 GitHub stars and 3 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-12 12:29 UTC. Last push 2026-10-23.
Developer-first database
What you can do
- Vector search - HNSW index, cosine/euclidean/dot similarity, optional OpenAI embeddings
- Graph operations - Typed edges, neighbors, BFS traversal, shortest path, ego graph
- Zero config - Keyword recall works immediately; vector search via env var
- Embedded mode - SQLite-like open() API for Rust + PyO3 Python bindings
측정된 스타 증가
- in 24h
- 0
- in 7 days
- 기록 수집 중
- in 15 days
- 기록 수집 중
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalAnnaDB — Embedded AI Agent Memory Engine
AnnaDB is an embedded, local-first memory engine for AI agents. Document-oriented, link-based graph model with vector search, zero-cycle graph traversal, and HTTP-native protocol. Purpose-built for agents that need semantic recall, structured relationships, and durable memory.
Quick start
# Download and start the server
./anna_db --port 10001 --wh-path ./warehouse
# Or use as an embedded Rust library
let mut db = AnnaDB::open("warehouse", None)?;
db.remember("facts", "Paris is the capital of France", None, false, None)?;
let results = db.recall("facts", "paris capital", 5)?;
# Python embedded (pip install)
pip install annadb
from annadb import AnnaDB
db = AnnaDB.open("warehouse")
link = db.remember("facts", "Paris is the capital of France")
docs = db.recall("facts", "paris", k=5)
Features
| Feature | Description |
|---|---|
| Vector search | HNSW index, cosine/euclidean/dot similarity, optional OpenAI embeddings |
| Graph operations | Typed edges, neighbors, BFS traversal, shortest path, ego graph |
| Zero config | Keyword recall works immediately; vector search via env var |
| Embedded mode | SQLite-like open() API for Rust + PyO3 Python bindings |
| HTTP server | POST /tx with TySON, GET /health, zero native dependencies |
| Persistence | WAL + periodic snapshots, crash recovery |
| BSL licensed | Free for individuals, academics, non-profits, companies < $5M |
Architecture
┌─────────────────────────────────────────────────────┐
│ AnnaDB │
│ │
│ HTTP Server (std::net) Embedded (Rust/Python) │
│ POST /tx ← TySON Storage::open() │
│ GET /health │
│ │
│ ┌──────────┐ ┌──────────┐ ┌───────────────────┐ │
│ │ Document │ │ Vector │ │ Graph │ │
│ │ Store │ │ Index │ │ typed edges, BFS │ │
│ │ TySON │ │ HNSW │ │ path, traverse │ │
│ └──────────┘ └──────────┘ └───────────────────┘ │
│ │
│ WAL ─► snapshot.bin ─► warehouse/ │
└─────────────────────────────────────────────────────┘
Usage
Embedded (Rust)
use annadb::AnnaDB;
let mut db = AnnaDB::open("warehouse", None)?;
// Store a document
let link = db.remember("facts", "Paris is in France", Some(("name", "paris")), false, None)?;
// Keyword search
let results = db.recall("facts", "paris", 5)?;
// Graph operations
let alice = db.remember("people", "Alice", None, false, None)?;
let bob = db.remember("people", "Bob", None, false, None)?;
db.relate(&alice, &bob, "knows", None)?;
let neighbors = db.neighbors(&alice, None)?;
HTTP server
# Start server
./anna_db --port 10001 --wh-path ./warehouse
# Store a memory
curl -X POST :10001/tx -d 'remember s|collection|facts| s|content|Paris is in France|'
# Recall
curl -X POST :10001/tx -d 'recall s|collection|facts| s|query|paris| n|5|'
# List collections
curl -X POST :10001/tx -d 'list_collections s|prefix|project:|'
With vector search
# OpenAI embeddings
EMBEDDING_PROVIDER=openai OPENAI_API_KEY=sk-... ./anna_db
# Local model (build from source with --features embedding-local)
EMBEDDING_PROVIDER=local ./anna_db
opencode Integration
AnnaDB serves as persistent memory for opencode coding sessions. The agent remembers decisions, files, bugs, and conventions across sessions.
# Setup
cp extensions/opencode/skills/annadb.md ~/.opencode/skills/
# Launch
./extensions/opencode/scripts/start-annadb.sh && opencode
The skill teaches the agent to use these tools:
| Tool | TySON | Purpose |
|---|---|---|
memory_remember |
`remember s | collection |
memory_recall |
`recall s | collection |
memory_relate |
`relate s | from |
memory_forget |
`forget s | link |
memory_inspect |
`list_collections s | prefix |
See extensions/opencode/DESIGN.md for the full architecture.
Data model
Primitives
s|hello| string n|42.5| number
b|true| bool null| null
l|coll|uuid| link e|384|0.1,...| embedding
Collections
project:myapp:files ← file summaries
project:myapp:decisions ← architecture decisions
project:myapp:bugs ← bugs and fixes
project:myapp:session_{id} ← session summaries (disposable)
user:preferences ← global preferences
user:conventions ← global coding conventions
License
Business Source License 1.1 → Apache 2.0 after 2030-07-22. Free for: individuals, academics, non-profits, companies < $5M revenue. Commercial license required for larger organizations in production use. See LICENSE and LICENSE_AD.
Development
# Build
cargo build
# Run tests (406 tests on Linux, 293 unit + 102 integration)
cargo test
# Coverage (84% on Linux)
cargo llvm-cov --summary-only
# Docker test
docker run --rm -v .:/app -w /app rust:latest cargo test
Links
관련 프로젝트 살펴보기
Asabeneh/30-Days-Of-Python
30 Days of Python 프로그래밍 챌린지는 Python 프로그래밍 언어를 30일 동안 배우기 위한 단계별 가이드입니다. 이 챌린지는 100일 이상 걸릴 수 있습니다. 자신의 속도에 맞춰 진행하세요. 다음 동영상도 도움이 될 수 있습니다: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,618 스타grafana/grafana
개방적이고 조합 가능한 옵저버빌리티 및 데이터 시각화 플랫폼입니다. Prometheus, Loki, Elasticsearch, InfluxDB, Postgres 등 여러 소스의 메트릭, 로그, 트레이스를 시각화합니다.
77,859 스타redis/redis
실시간 데이터 기반 애플리케이션을 구축하는 개발자에게 Redis는 가장 선호되고, 가장 빠르며, 기능이 가장 풍부한 캐시, 데이터 구조 서버이자 문서 및 벡터 쿼리 엔진입니다.
77,472 스타apache/superset
Apache Superset는 데이터 시각화 및 데이터 탐색 플랫폼입니다.
75,495 스타