Files
awoooi/packages/lewooogo-data/README.md
OG T 80d0ef4a8f feat(packages): Phase 6.4a-c leWOOOgo modular architecture
New packages:
- packages/lewooogo-brain: AI reasoning & decision engine
  - IProposalEngine interface (ABC)
  - IIncidentProcessor interface (ABC)
  - Pydantic models: Proposal, Guardrails, Incident, Signal

- packages/lewooogo-data: Memory provider abstraction
  - IMemoryProvider interface (ABC)
  - IDualMemoryProvider for Working + Episodic memory
  - Generic type support for flexible data models

Documentation:
- ADR-008: Python modular packages architecture decision
- ARCHITECTURE_MEMORY.md: Module map index for AI developers
- LOGBOOK.md: Updated milestones and Phase 6.4 status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-23 09:32:07 +08:00

49 lines
1.1 KiB
Markdown

# leWOOOgo Data
> Memory Provider Abstraction Layer for AWOOOI 2.0
## Overview
leWOOOgo Data 是 AWOOOI 智能運維平台的資料抽象層積木,負責:
- **Working Memory**: Redis 快取 (7 天 TTL)
- **Episodic Memory**: PostgreSQL/SQLite 永久保存
- **Dual Memory**: 雙層同步寫入
## Installation
```bash
# 在 apps/api 中使用
pip install -e ../../packages/lewooogo-data
# 如需 PostgreSQL 支援
pip install -e "../../packages/lewooogo-data[pg]"
```
## Usage
```python
from lewooogo_data.interfaces import IMemoryProvider
from lewooogo_data.providers import RedisMemory, PgMemory, DualMemory
# 使用雙層記憶體
memory = DualMemory(
working=RedisMemory(redis_url="redis://localhost:6379"),
episodic=PgMemory(database_url="postgresql://...")
)
# 載入 Incident
incident = await memory.load(f"incident:{incident_id}")
```
## Modules
| Module | Description |
|--------|-------------|
| `interfaces/` | ABC 定義 |
| `providers/` | 具體實作 |
## ADR Reference
- [ADR-008: Python 模組化獨立積木架構](../../docs/adr/ADR-008-python-modular-packages.md)