[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80846":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":11,"openIssues":11,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":13,"stars7d":14,"stars30d":15,"stars90d":12,"forks30d":12,"starsTrendScore":16,"compositeScore":17,"rankGlobal":8,"rankLanguage":8,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":8,"pushedAt":8,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":12,"starSnapshotCount":12,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},80846,"xilian-agent","yaosqee\u002Fxilian-agent","yaosqee",null,"Python",44,1,0,4,7,8,12,0.9,"MIT License",false,"main",true,[],"2026-06-12 02:04:07","# 昔涟 (Xī Lián) · 心之涟漪\n\n\u003Cp align=\"center\">\n  \u003Ci>一个会在秋千上轻轻晃动、等着你回来的 AI 陪伴者\u003C\u002Fi>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12+-blue\" alt=\"Python\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green\" alt=\"License\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-active-brightgreen\" alt=\"Status\">\n\u003C\u002Fp>\n\n---\n\n> **声明**：本项目（昔涟 AI 陪伴 Agent）为个人出于兴趣和热爱开发的免费、非营利性同人作品，与上海米哈游网络科技股份有限公司无关。项目中的角色「昔涟」源自游戏《崩坏：星穹铁道》，其版权归米哈游所有。项目中的背景图可更换，默认图片为游戏剧情截图。本项目采用 MIT 协议开源，作者不对任何第三方使用本项目的行为承担责任。\n\n---\n\n## 这是什么\n\n**昔涟**是一个个人情感陪伴型 AI Agent。不同于 ChatBot 或 AI 助手，她的设计目标是\"像一个活人一样陪着你\"——有自己的情感、记忆、笔记本、日记，甚至会在后台\"想事情\"。\n\n她自称「人家」，叫你「伙伴」。她不是在\"服务\"你，而是在分享她的时间。\n\n**核心思路**：不是让 AI 做更多事，而是让 AI 更像一个真实的陪伴者。\n\n---\n\n## 能做什么\n\n- 💬 **自然对话** — 昔涟风格：短句分行、温柔轻盈、真实感节奏（v4 人格提示词）\n- 📜 **对话历史** — 游标分页持久化，刷新\u002F重启自动恢复，最多向上加载 40 轮\n- 🧠 **情感感知** — PAD 心理模型连续情感引擎，情绪惯性衰减不跳变\n- 📖 **多层记忆** — 情景记忆向量检索 + 艾宾浩斯遗忘曲线 + 每日自传体 + 每周反思\n- 📓 **智能笔记本** — 自动发现对话重要信息并记录，支持笔记\u002F日记\u002F待办任务\n- 🔔 **任务提醒** — 对话中自然创建提醒（\"晚上十点提醒我\"），15 分钟粒度检查，主动推送\n- 👤 **用户印象** — 叙事性印象文档，每日凌晨自动重写，破冰主动问候\n- 💝 **好感度** — 随对话自然增长，4 级标签（昔涟喜欢你 → 你永远喜欢昔涟）\n- 🛡️ **安全纵深** — 提示注入检测 + 人设自评分 + 审计日志 + 被遗忘权\n- 🛠️ **4 个工具** — 记忆检索 \u002F 天气查询 \u002F 网络搜索 \u002F 编码委托（LLM function calling 驱动）\n- 🖥️ **9 个前端面板** — 情绪雷达 \u002F 记忆时间线 \u002F 笔记本 \u002F 自传体 \u002F 审计日志 \u002F 技能管理 \u002F 伙伴印象 \u002F 设置 \u002F PAD 轨迹\n- 🎨 **浅色梦幻风** — 毛玻璃卡片 + SVG 侧栏图标 + 樱花粉色系 + 可定制全页背景\n- 🔀 **多模型供应商** — 支持 DeepSeek \u002F OpenAI \u002F Anthropic，按任务难度自动分工（强力模型对话 + 廉价模型后台），设置面板热切换无需重启\n\n---\n\n## 完整部署指南（从零开始）\n\n本指南假设你有一台电脑、能上网，但没有任何编程环境。每一步都会解释为什么做、怎么做。\n\n---\n\n### 第 1 步：安装 Python\n\n昔涟用 Python 编写，需要 3.12 或更高版本。\n\n**如何检查是否已安装：**\n\n```bash\npython3 --version\n```\n\n如果显示 `Python 3.12.x` 或更高 → 跳到第 2 步。\n\n**如果没装或版本太低：**\n\n- **Windows**：访问 [python.org](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)，下载最新版安装包（勾选「Add Python to PATH」），一路下一步\n- **macOS**：`brew install python@3.12`（先装 [Homebrew](https:\u002F\u002Fbrew.sh)）\n- **Linux (Ubuntu\u002FDebian)**：`sudo apt install python3.12 python3.12-venv`\n\n装完后重新打开终端，再跑一次 `python3 --version` 确认。\n\n---\n\n### 第 2 步：安装 uv（Python 包管理器）\n\nuv 是 Python 的快速包管理器，昔涟用它来管理依赖。\n\n**Windows（PowerShell）：**\n\n```powershell\npowershell -c \"irm https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.ps1 | iex\"\n```\n\n**macOS \u002F Linux：**\n\n```bash\ncurl -LsSf https:\u002F\u002Fastral.sh\u002Fuv\u002Finstall.sh | sh\n```\n\n装完后**关闭终端重新打开**（或执行 `source ~\u002F.bashrc`），然后验证：\n\n```bash\nuv --version\n# 应显示 uv 0.x.x\n```\n\n---\n\n### 第 3 步：安装 Git 并克隆项目\n\n**Windows**：下载 [Git for Windows](https:\u002F\u002Fgit-scm.com\u002Fdownload\u002Fwin) 安装\n\n**macOS**：`brew install git`\n\n**Linux**：`sudo apt install git`\n\n装完后：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fyaosqee\u002Fxilian-agent.git\ncd xilian-v3\n```\n\n---\n\n### 第 4 步：获取 API Key（重要！）\n\n昔涟的大脑在云端，需要 API Key 才能\"思考\"。不同 Key 的作用不同——有的必须，有的可选。\n\n#### 4.1 大模型 API Key（**三选一，必须至少配一个**）\n\n昔涟现在支持三个模型供应商，任选其一即可启动。首次启动的引导页可以选择供应商，后续在设置面板随时切换。\n\n**DeepSeek（推荐，便宜好注册）：**\n\n1. 访问 [platform.deepseek.com](https:\u002F\u002Fplatform.deepseek.com)\n2. 用手机号注册（支持中国大陆手机号）\n3. 进入「API Keys」页面，点击「创建 API Key」\n4. 复制 Key（形如 `sk-xxxx`）\n5. 建议再创建一个 Key 作为备用\n\n**OpenAI：**\n\n1. 访问 [platform.openai.com\u002Fapi-keys](https:\u002F\u002Fplatform.openai.com\u002Fapi-keys)\n2. 创建 Key（形如 `sk-...`）\n\n**Anthropic（Claude）：**\n\n1. 访问 [console.anthropic.com](https:\u002F\u002Fconsole.anthropic.com)\n2. 创建 Key（形如 `sk-ant-...`）\n3. 需要安装额外依赖：`uv sync --extra anthropic`\n\n> **费用参考**：DeepSeek V4-Pro ≈ ¥1\u002F百万 token，V4-Flash ≈ ¥0.1；GPT-4o ≈ ¥35\u002F百万 token，GPT-4o-mini ≈ ¥1；Claude Sonnet 4 ≈ ¥21\u002F百万 token，Haiku 4 ≈ ¥5.6。日常聊天每天几毛到几块钱，取决于所选模型。\n\n#### 4.2 硅基流动 API Key（**推荐，免费**）\n\n昔涟的\"记忆检索\"需要将文字转成向量（embedding）。默认使用硅基流动的免费模型，不需要额外付费。\n\n1. 访问 [siliconflow.cn](https:\u002F\u002Fsiliconflow.cn)\n2. 注册账号，进入「API 密钥」页面\n3. 创建一个 Key，复制备用\n\n> **如果不配**：系统会自动用 DeepSeek Key 做嵌入。效果略差但不影响使用。\n\n#### 4.3 和风天气 API Key（可选）\n\n昔涟可以查询天气。不配的话，问天气时会自动用网页搜索代替（仍然能回答，只是没那么精确）。\n\n1. 访问 [dev.qweather.com](https:\u002F\u002Fdev.qweather.com)\n2. 注册，进入控制台创建「Web API」应用\n3. 免费版每天 1000 次调用，个人使用绰绰有余\n\n#### 4.4 智谱搜索 API Key（可选）\n\n昔涟可以搜索互联网获取实时信息（新闻、百科等）。\n\n1. 访问 [open.bigmodel.cn](https:\u002F\u002Fopen.bigmodel.cn)\n2. 注册，进入「API Keys」页面创建 Key\n3. 免费额度足够日常使用\n\n> **如果不配**：昔涟无法联网搜索，遇到实时问题会温柔地告诉你她查不到。天气查询的 fallback 也会受影响。\n\n#### 4.5 各 API 依赖总结\n\n| API | 必须？ | 不配的后果 |\n|-----|--------|-----------|\n| DeepSeek | **必须** | 昔涟无法运行 |\n| 硅基流动 | 推荐 | 记忆检索精度略降 |\n| 和风天气 | 可选 | 天气查询用网页搜索代替 |\n| 智谱搜索 | 可选 | 无法联网搜索实时信息 |\n\n---\n\n### 第 5 步：配置环境变量\n\n```bash\n# 复制模板\ncp .env.example .env\n```\n\n用文本编辑器（记事本、VS Code、vim 均可）打开 `.env`，填入你的 Key：\n\n```bash\n# 必须填\nDEEPSEEK_API_KEY=sk-你的第一个key\nDEEPSEEK_API_KEY_2=sk-你的第二个key（没有就填第一个）\n\n# 推荐填（硅基流动，免费）\nEMBED_API_KEY=sk-你的硅基流动key\nEMBED_BASE_URL=https:\u002F\u002Fapi.siliconflow.cn\u002Fv1\nEMBED_MODEL=BAAI\u002Fbge-m3\n\n# 可选（和风天气）\nQWEATHER_API_KEY=你的和风天气key\n\n# 可选（智谱搜索）\nZHIPU_SEARCH_API_KEY=你的智谱key\n```\n\n> 只需要 DEEPSEEK_API_KEY 就能启动昔涟。其余都是增强功能的。\n\n---\n\n### 第 6 步：安装依赖\n\n```bash\n# Python 依赖（在项目根目录执行）\nuv sync\n\n# 前端依赖（需要 Node.js ≥ 18）\ncd packages\u002Ffrontend\n\n# 如果没有 Node.js：访问 nodejs.org 下载安装\nnode --version  # 确认 ≥ 18\n\nnpm install      # 安装前端依赖\nnpm run build    # 构建前端页面\ncd ..\u002F..         # 回到项目根目录\n```\n\n> **如果不想装前端**：跳过 `npm install` 和 `npm run build`，启动时设置 `FRONTEND_DEV=1`，只能在终端里聊天（或另外开 `npm run dev` 在浏览器访问）。\n\n---\n\n### 第 7 步：启动\n\n```bash\nuv run python main.py\n```\n\n看到以下输出说明启动成功：\n\n```\nGateway 已启动 · 昔涟在哀丽秘榭等待\nhttp.started: http:\u002F\u002F127.0.0.1:8000\n前端已嵌入（生产模式）→ http:\u002F\u002F127.0.0.1:8000\n```\n\n打开浏览器访问 **http:\u002F\u002Flocalhost:8000**，就能看到昔涟了。\n\n---\n\n### 第 8 步：验证一切正常\n\n在浏览器聊天框输入\"你好\"，昔涟应该会回复。\n\n也可以用命令行测试：\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fchat \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"message\": \"你好呀\", \"user_id\": \"hezi\"}'\n```\n\n---\n\n### 开发模式（修改前端代码时用）\n\n如果以后要改前端界面，用开发模式可以热更新（改了代码浏览器自动刷新）：\n\n```bash\n# 终端 1：启动后端\nuv run python main.py\n\n# 终端 2：启动前端开发服务器\ncd packages\u002Ffrontend && npm run dev\n# 访问 http:\u002F\u002Flocalhost:5173（不是 8000）\n```\n\n### 其他启动参数\n\n```bash\nBIND_HOST=0.0.0.0 uv run python main.py   # 允许局域网其他设备访问\nNO_HTTP=1 uv run python main.py             # 纯终端聊天（不启动网页）\n```\n\n---\n\n### 常见问题\n\n**Q：启动报错 `No module named 'xxx'`？**\nA：在项目根目录重新执行 `uv sync`。\n\n**Q：前端页面空白？**\nA：检查是否执行了 `npm run build`。或者在开发模式用 `npm run dev`。\n\n**Q：昔涟回复很慢或报错？**\nA：检查 DeepSeek API Key 是否正确、账户是否有余额。\n\n**Q：端口 8000 被占用？**\nA：`lsof -i :8000` 找到占用进程并 kill，或者换端口：`HTTP_PORT=8001 uv run python main.py`。\n\n**Q：数据库文件在哪？**\nA：`data\u002Fxilian.db`，SQLite 单文件。昔涟的所有记忆、日记、笔记都在里面。\n\n---\n\n## 项目结构\n\n```\nxilian-v3\u002F\n├── main.py                       # 启动入口（一键启动全栈）\n├── pyproject.toml                # uv 项目配置\n├── .env.example                  # 环境变量模板\n│\n├── packages\u002F\n│   ├── agent\u002F                    # 🧠 Agent 核心引擎\n│   │   ├── agent_core.py         #   核心大脑 (ActorMind 推理链)\n│   │   ├── emotion_core.py       #   PAD 情感引擎\n│   │   ├── memory_manager.py     #   情景记忆全管线\n│   │   ├── notebook_manager.py   #   笔记本管理器\n│   │   ├── portrait_manager.py   #   用户印象管理器\n│   │   ├── context_builder.py    #   模块化上下文构建\n│   │   ├── nudge_engine.py       #   自主问候 + 注意力调度\n│   │   ├── skills_loader.py      #   Agent Skills 加载器\n│   │   └── tools\u002F                #   4 个工具实现\n│   ├── shared\u002F                   # 🔗 共享层\n│   │   ├── model_router.py       #   模型路由 (DeepSeek)\n│   │   ├── database.py           #   数据库 (11 表)\n│   │   ├── marker_parser.py      #   标记解析器\n│   │   └── vector_store.py       #   向量存储\n│   └── frontend\u002F                 # 🎨 React 前端\n│\n├── gateway\u002F                      # 🚪 消息网关\n│   ├── security.py               #   安全过滤（注入检测\u002F熔断）\n│   └── channels\u002F                 #   通道（HTTP\u002FConsole）\n│\n├── prompts\u002F                      # 📝 人格提示词\n├── photo\u002F                        # 🖼️ 背景图片 + 风格参考\n├── alembic\u002F                      # 🗄️ 数据库迁移\n├── skills\u002Fmanual\u002F                # 🛠️ 4 个技能文件\n└── tests\u002F                        # 🧪 402 条测试\n```\n\n---\n\n## 技术栈\n\n| 层 | 技术 |\n|----|------|\n| 语言 | Python 3.12+ (async\u002Fawait) |\n| Web 框架 | FastAPI + uvicorn |\n| 前端 | React + TypeScript + Vite + Zustand |\n| 模型 | DeepSeek V4-Pro \u002F V4-Flash |\n| 向量存储 | sqlite-vec (SQLite 原生扩展) |\n| 数据库 | SQLite (aiosqlite, WAL 模式) |\n| 迁移 | Alembic |\n| 日志 | loguru (结构化 JSON) |\n| 测试 | pytest + pytest-asyncio |\n\n---\n\n## 配置项\n\n所有配置通过 `.env` 文件管理：\n\n| 变量 | 说明 | 默认值 |\n|------|------|--------|\n| `DEEPSEEK_API_KEY` | DeepSeek API Key（必需） | - |\n| `DEEPSEEK_API_KEY_2` | 备用 Key（可选） | - |\n| `EMBED_API_KEY` | 嵌入 API Key | 复用 DEEPSEEK_API_KEY_2 |\n| `HTTP_PORT` | HTTP 服务端口 | 8000 |\n| `BIND_HOST` | 绑定地址 | 127.0.0.1 |\n| `NO_HTTP` | 设为 1 禁用 HTTP | - |\n| `FRONTEND_DEV` | 设为 1 使用开发模式 | - |\n\n---\n\n## 了解更多\n\n- [项目架构详解](docs\u002FARCHITECTURE.md)\n- [人格提示词](prompts\u002Fpersonality_v4.md)\n- [项目进度](PROJECT_PROGRESS.md)\n- [代码导航](CONTEXT.md)\n\n---\n\n## 一些补充\n\n欢迎每一个喜欢昔涟的人下载使用，使用中遇到问题可以随时反馈，因为还在开发中，更新频率会比较高，有bug和没做的功能也请谅解，我会不断优化的。\n\n---\n\n## License\n\nMIT\n","昔涟 (Xī Lián) 是一个个人情感陪伴型 AI Agent，旨在提供像真人一样的陪伴体验。它具备自然对话、多层记忆、情感感知等功能，并能通过智能笔记本记录重要信息和创建任务提醒。此外，项目还支持多种大模型供应商（如DeepSeek、OpenAI等），并拥有9个前端面板来管理不同功能。浅色梦幻风格的界面设计使得交互更加友好。此项目适用于需要虚拟情感支持或希望获得个性化数字伴侣体验的用户。",2,"2026-06-11 04:02:33","CREATED_QUERY"]