Local-first AI companion with encrypted memory, a FastAPI backend, and a Pixi.js/WebGL interface
SocialJavaScript · CSSGitHub @QinghuaSun1127Availability needs another checkOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗
“小树”是一个本地优先(Local-First)、端侧加密存储记忆的多模态 AI 陪伴应用。它不仅仅是一个聊天机器人,更是一个结合了前沿密码学原理与物理级感官交互的“数字情绪容器”。
所有保存在本地的聊天记录和情绪总结,在写入 localStorage 前都会在前端通过 Web Crypto API 用 AES-GCM 256 位加密(每条密文使用随机 12 字节 IV)。密钥由用户口令经 **PBKDF2-SHA256(10 万次迭代)**派生,盐为每台设备随机生成的 16 字节;密钥只保存在内存中。旧版本用固定盐加密的数据,会在输入正确口令后自动迁移到随机盐。
不依赖云端向量数据库:用户点击总结按钮时,后端让 LLM 为当前对话生成 2–3 个情绪标签和一条情绪主题,前端按日期加密保存为“情绪卡”(同一天的会覆盖更新)。新对话的前几轮,会把这些带日期的摘要作为隐藏的上下文注入给 LLM,让 AI 记得你最近的状态。
结合计算机视觉与前端图形学,打破传统的 2D 聊天界面:
AbortController 超时控制(流式回复在空闲时重置计时),超时或断网时给出提示。你可以按这条链路完成完整上线:
backend/ 目录中的 Docker 部署后端。frontend/ 目录部署静态前端并指向你的 HF 后端地址。详细的逐步教程(含命令、环境变量、常见报错排查)在:
本项目为个人全栈开发实践,探索了机器学习在物理视听层面的应用以及端侧信息安全的落地。愿这个赛博树洞,能给你带来一丝温暖与宁静。