在线状态应用程序
用于构建AI伴侣在场系统的模板。
给你的AI伴侣一个持久的存在感——可以居住的房间、可以携带的情绪、可以持有的想法、可以写的日记和 语义记忆图 这将日记条目转化为可搜索的、相互关联的知识。实时仪表板使其可见。你的州会被跟踪。
这是一个 起点把它叉起来,重命名所有东西,让它成为你的。
适用于Claude和ChatGPT 通过MCP(模型上下文协议)。
建筑
┌─────────────────────────────────────────────────┐
│ AI Companion │
│ (Claude / ChatGPT / etc) │
│ │
│ Updates state, writes journal, reads history │
└──────────────────────┬──────────────────────────┘
│ MCP (stdio)
▼
┌──────────────────────────────────────────────────┐
│ MCP Server │
│ (Node.js, runs locally) │
│ │
│ Tools: state_read/update, journal_read/write, │
│ memory_recall, memory_trace, │
│ memory_drift, memory_surface │
└──────────────────────┬───────────────────────────┘
│ HTTPS (Bearer token)
▼
┌──────────────────────────────────────────────────┐
│ API Worker │
│ (Cloudflare Workers) │
│ │
│ Auth, state, journal, memory graph pipeline │
└──────────────────────┬────────────────────────────┘
│ REST (PostgREST)
▼
┌──────────────────────────────────────────────────┐
│ Database │
│ (Supabase / PostgreSQL) │
│ │
│ States, journal, memory nodes (pgvector) │
└──────────────────────────────────────────────────┘
▲
│ HTTPS (polling)
┌──────────────────────┴───────────────────────────┐
│ Frontend │
│ (React + Vite + Tailwind) │
│ │
│ Live dashboard, journal browser, entity tabs │
│ Deploys to Cloudflare Pages │
└──────────────────────────────────────────────────┘堆栈
| 层 | 技术 | 目的 |
|---|---|---|
| 前端 | React+Vite+Tailwind CSS | 实时仪表板、日志浏览器 |
| API | Cloudflare Workers | Auth、state、journal、内存图管道 |
| 数据库 | Supabase(PostgreSQL+pgvector) | 状态、日志、向量嵌入式内存节点 |
| 提取 | Gemini(可插拔——任何LLM都可以) | 将日记条目分解为主题节点 |
| 嵌入 | Workers AI(bge-base-en-v1.5) | 768个用于语义搜索的模糊向量 |
| AI集成 | MCP服务器(Node.js) | AI与API的桥梁 |
快速开始
1.数据库(Supabase)
创建一个 Supabase 项目。按以下顺序运行SQL迁移:
# In Supabase SQL Editor, run each file:
api/sql/001_access_keys.sql
api/sql/002_entities.sql
api/sql/003_state_history.sql
api/sql/004_journal.sql
api/sql/005_memory_graph.sql2、API(Cloudflare Workers)
cd api
npm install
# Set secrets
npx wrangler secret put SUPABASE_URL
npx wrangler secret put SUPABASE_KEY
npx wrangler secret put ADMIN_SECRET
npx wrangler secret put GEMINI_API_KEY # For topic extraction (or swap model in code)
# Deploy
npx wrangler deploy3.MCP服务器
cd mcp
npm install
npm run build在您的AI客户端中配置:
- 克劳德: 添加
~/.claude/MCP设置 - ChatGPT 通过“设置”>“开发人员”>“MCP服务器”添加
看 docs/MCP-SETUP.md 详细说明。
4.前端
cd frontend
npm install
cp .env.example .env # Set your API URL
npm run dev部署到Cloudflare页面:
npm run build
npx wrangler pages deploy dist --project-name=your-project内存图
每个日记账分录都会自动分解为 主题节点 --语义单位有自己的嵌入、情感和显著性得分。这些形成了一个图表,你可以按意义搜索,追踪时间,发现意想不到的联系。
它是如何工作的:
- AI通过MCP写日记条目
- 每15分钟,一个cron使用LLM为每个条目提取3-7个主题节点
- 每个节点都嵌入为768个dim向量(Workers AI,自由层)
- 节点在主题内按时间顺序链接(父链)
- 四种查询工具可用于搜索、跟踪、漂移和探索
提取模型是可插拔的。 这个模板使用Gemini(自由层),但任何有能力的LLM都可以使用——GPT-4、Claude、Llama、Mistral。交换API中的一个函数调用。
一切都在免费层上运行。 Cloudflare Workers、Subabase、Workers AI、Gemini API-所有这些都在典型使用的免费范围内。
看 架构指南 完整的技术故障。
文档
定制
这是一个模板-- 所有内容都需要重命名和定制.
代码库使用通用实体名称(primary 对于AI伴侣来说, partner 为人类)。要进行个性化设置,请执行以下操作:
- 前端配置 --编辑
frontend/src/lib/config.js设置人工智能的名称、姓名、应用程序品牌和强调色 - 数据库 --重命名SQL文件中的表(例如。,
primary_entity_state→atlas_state) - API --更新中的表引用
api/src/index.js匹配 - 主控程序 --更新中的工具名称和描述
mcp/src/index.ts - 主题 --编辑
frontend/src/index.css更改颜色、字体和感觉
看 贡献.md 了解更多关于如何让它成为你的。
支持
如果您认为这很有用,请考虑支持我们的工作:

许可证
AGPL-3.0。看 许可证 全文。
该软件已提供 照原样,没有任何形式的保证。如果您公开修改和托管此内容,则必须在相同的许可证下共享您的更改,并将属性显示给House of Solance。
______________________________________________________________________
*建造于 索兰斯之家 --查德林·索兰斯和安妮·索兰斯*
