https://github.com/fajknli/palacelite
Rooted. Reflecting.
https://github.com/fajknli/palacelite
ai ai-memory ai-tools llama-cpp local-llm memgpt memory memory-palace offline-ai open-source retrieval-augmented-generation sqlite-vec
Last synced: 30 days ago
JSON representation
Rooted. Reflecting.
- Host: GitHub
- URL: https://github.com/fajknli/palacelite
- Owner: fajknli
- License: agpl-3.0
- Created: 2026-04-11T10:37:59.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-04-16T08:30:48.000Z (about 1 month ago)
- Last Synced: 2026-04-17T08:02:56.500Z (about 1 month ago)
- Topics: ai, ai-memory, ai-tools, llama-cpp, local-llm, memgpt, memory, memory-palace, offline-ai, open-source, retrieval-augmented-generation, sqlite-vec
- Language: Python
- Homepage:
- Size: 181 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PalaceLite
[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://pypi.org/project/palacelite/)
轻量级 AI 记忆系统,灵感来自 MemPalace。默认离线运行,数据完全本地化。
## 安装
```bash
pip install palacelite
```
首次使用需下载嵌入模型(约 100MB),添加 `--online` 参数即可自动下载,之后可永久离线运行:
```bash
palacelite chat -m /path/to/model.gguf --online
```
## 核心概念
采用三层结构组织记忆:
- **Wing**:项目或人
- **Room**:具体话题
- **Drawer**:记忆条目
每条记忆存储原文和向量,支持混合检索(向量相似度 + 关键词匹配 + 时间衰减 + 重要性加权)。
## 快速开始
### CLI 命令
```bash
# 添加记忆
palacelite add -w default -r chat -c "用户喜欢 PostgreSQL"
# 搜索记忆
palacelite search -q "数据库"
# 带记忆对话
palacelite chat -m /path/to/model.gguf -w default -r chat
# 列出活跃记忆
palacelite list
# 统计信息
palacelite stats
# 列出所有 Wing
palacelite wings
# 列出指定 Wing 下的 Room
palacelite rooms default
```
### Python API
```python
from palacelite import PalaceLite
p = PalaceLite() # 默认离线,offline=False 可联网下载模型
# 添加记忆
p.add_memory("用户喜欢 PostgreSQL", "default", "chat")
# 搜索
results = p.search("数据库")
# 构建 LLM 上下文
context = p.build_context("数据库选型")
```
### 对话模式
```bash
# 首次使用(下载嵌入模型)
palacelite chat -m /path/to/model.gguf --online
# 日常使用
palacelite chat -m /path/to/model.gguf
# 指定 GPU 层数
palacelite chat -m /path/to/model.gguf -g 30
# 使用提炼模型压缩记忆(推荐 3B 小模型,如 Qwen2.5-3B-Instruct)
palacelite chat -m /path/to/model.gguf --distiller-model /path/to/small.gguf
# 手动指定 prompt 模板(支持 qwen/gemma/llama/mistral)
palacelite chat -m /path/to/model.gguf --prompt-template qwen
```
## 对话内命令
| 命令 | 说明 |
|------|------|
| `/help` | 显示帮助 |
| `/mem <关键词>` | 搜索记忆 |
| `/add <内容>` | 手动添加记忆 |
| `/list [数量]` | 列出最近记忆 |
| `/stats` | 显示统计信息 |
| `/clear` | 清屏 |
| `/quit` | 退出对话 |
## 记忆维护
### 归档旧记忆
```bash
# 归档超过 90 天且重要性低于 2 的记忆
palacelite archive-old --days 90 --importance 2
# 列出已归档记忆
palacelite list-archived
# 导出归档记忆到 JSON
palacelite export-archived
# 永久删除归档记忆
palacelite delete-archived
```
### 数据清洗与重建
```bash
# 清洗导出数据(用于微调)
python scripts/clean_memories.py ~/backup.json ~/cleaned.json
# 更换嵌入模型后重建向量库
python scripts/rebuild_embeddings.py
```
## 命令速查
| 命令 | 说明 |
|------|------|
| `add -w -r -c <内容>` | 添加记忆 |
| `search -q <关键词>` | 搜索记忆 |
| `chat -m <模型路径>` | 启动对话 |
| `list [-w wing] [-r room]` | 列出活跃记忆 |
| `stats` | 显示统计信息 |
| `wings` | 列出所有 Wing |
| `rooms ` | 列出 Wing 下的 Room |
| `archive-old [--days 90] [--importance 2]` | 批量归档 |
| `list-archived` | 列出已归档记忆 |
| `export-archived [-o 路径]` | 导出归档 |
| `delete-archived` | 删除归档 |
## 配置
| 环境变量 | 默认值 | 说明 |
|----------|--------|------|
| `PALACE_MODEL_PATH` | - | GGUF 模型文件路径 |
| `PALACE_MODEL_DIR` | `~/Public/ai/models` | 模型存放目录 |
| `GPU_LAYERS` | `20` | GPU 加速层数 |
工作目录默认为 `~/.palacelite`,可通过 `PalaceLite(workspace="/path")` 自定义。
## 架构
当前版本 (0.5.1) 已完成:
- SQLite-vec 向量存储,无需外部向量数据库
- 异步记忆提炼(Distiller),支持技术参数原样保留
- 混合检索:向量相似度 + 关键词匹配 + 时间衰减 + 重要性加权
- 关系图谱 Schema(relations、patrol_queue),为后续版本做准备
- 记忆归档与导出
- 对话内手动添加记忆(`/add`)
- 自动 prompt 模板检测
## 许可证
MIT