Releases: MIKUSCAT/ATRI
Releases · MIKUSCAT/ATRI
V2.1 - 记忆系统重构 & System Prompt 优化
改动概要
修复 Fact 加载 Bug
getActiveFacts传入limit=0时不再被 clamp 到 1,而是返回全部 facts- 显式传 limit 时上限从 50 提升至 200
- 修复了之前只有 1 条 fact 注入 system prompt 的问题
移除 Chat Prompt 中的 Profile
- 从聊天 system prompt 中移除了
user_profile_block - 删除
loadUserProfileSnippet和buildUserProfileSnippet函数 - 消除 profile 和 facts 信源重叠导致的模型认知混乱
- Proactive 消息和日记生成中的 profile 保持不变
重写 Agent System Prompt
- 身份内核:以第一人称 Soul Document 风格建立 ATRI 自我认知
- 反 AI 腔护栏:
<我绝对不会说的话>标签列出 9 条典型 AI 话术作为反面教材 - 上下文 + 记忆:时间、相识天数、亲密度 + facts(无 profile)
- 工具提醒:
<提醒>放在 system prompt 最末尾,利用模型对尾部内容的注意力优势
Fact 每日质量管控
- 新增
fact-consolidation.ts:LLM 驱动的 fact 整理 - 每日 diary cron 后自动执行(facts > 15 条时触发)
- 合并重复条目、删除过时条目、保留不确定的
- 失败不阻断日记生成流程
V2.0 - Cloudflare Workers 主后端
主要变更
后端迁移
- 推荐后端从 Zeabur VPS 切换为 Cloudflare Workers(D1 + R2 + Vectorize)
- Zeabur 免费额度即将关闭,CF Workers 免费额度更持久
新功能
- 主动消息系统(Cron 触发 + 通知推送)
- 兼容 API 端点(OpenAI/Anthropic/Gemini 格式)
- 运行时配置管理(admin_runtime_config)
- 事实记忆模糊删除(forget_fact 支持文本匹配)
- Agent 循环上限提升至 20 轮
- Agent 超时可配置(默认 300s,支持 thinking 模型)
- LLM 工具调用健壮性增强(兼容旧格式)
部署指南
- README 更新为 CF Workers 优先部署指导
- 新增 Windows 一键部署脚本 + 手动部署完整步骤
- VPS/Docker 部署保留为进阶选项
Bug 修复 & 提示词优化(2026-02-25)
- 修复工具调用后模型复述返回内容("记住了"/"已回复")
- 修复 Agent 循环中工具调用后的"已回复"幻觉
- 减少事实记忆重复记录(提示词 + 工具描述双重引导)
- 系统提示词增强:抗 AI 味、抗复读、工具静默、自然对话风格
V1.6 - 主动消息系统
V1.6 - 主动消息系统 (Proactive Messaging)
ATRI 现在可以主动开口说话了。
新功能
- 主动消息:后端定时评估是否应该主动联系用户,模型自主决定说或不说
- 上下文与主对话完全对齐(共用两天历史窗口)
- 支持安静时段、每日上限、冷却时间、亲密度门槛等频率控制
- 全部在
/admin管理后台配置,即时生效无需重启
- 外部通知:模型可通过
send_notification工具触发外部通知- Email(Resend):需配置
EMAIL_API_KEY+EMAIL_FROM - 企业微信 Webhook:直接在
/admin配置 webhook URL
- Email(Resend):需配置
- 上下文模块化:历史上下文构建逻辑抽取为独立
history-context.ts,主对话与主动消息共用
改进
- 工具调用健壮性增强:兼容
function_call(legacy 格式)、驼峰字段名toolCalls、非字符串 arguments 等非标准上游返回 - 空回复重试:工具调用后模型如果返回空文本,自动追加提示要求给出自然回复,避免"沉默"
- LLM 响应解析加固:新增
normalizeOpenAiToolCall统一处理各种上游返回格式
配置指南
/admin→ Runtime Config → 开启主动消息,设置间隔/安静时段/上限- (可选)配置通知渠道:
none(仅应用内)/email/wechat_work /admin→ Prompt Editor → 编辑proactive.system,可用占位符:{clock_time}{hours_since}{intimacy}{user_profile_snippet}
环境变量(可选,仅 Email 通知需要)
EMAIL_API_KEY=re_xxx
EMAIL_FROM=ATRI <atri@your-domain.com>Full Changelog: V1.5...V1.6
V1.5
V1.5 更新内容
工具描述优化
- 重写 8 个 agent 工具描述,更感性自然,贴合 ATRI 人设
set_status改为心情驱动描述,不再是 API 参数风格remember_fact/forget_fact消除性别假设("他"→"对方")search_memory移除否定式引导
数据库迁移(状态胶囊)
- 去掉 PAD 模型与固定映射
- 新增
status_label/status_pill_color/status_text_color字段 - 前端直接渲染服务端返回的颜色
🤖 Generated with Claude Code
V1.4
更新内容
- 区分 Worker/VPS 后端类型:设置页新增后端类型选择器,Worker 端保留客户端模型选择,VPS 端模型由服务器 /admin 面板配置
- VPS 模式只读展示模型:VPS 模式下前端只读展示服务器当前使用的模型,不再发送 modelKey
- Admin 面板模型选择:/admin 配置页"默认模型"新增"拉取列表"按钮,可从上游 API 拉取模型列表供选择
- 新增 /current-model 接口:供客户端查询服务器当前配置的模型及来源
- 设置页面手动同步:在设置页面新增"一键同步聊天记录"按钮,支持从服务器拉取最近30天的完整聊天记录
- 侧边栏日期浏览:同步完成后可在侧边栏按日期查看历史聊天记录
- 禁止横屏:锁定应用为竖屏模式
修复
- 修复 Admin 设置的 defaultChatModel 被客户端 modelKey 覆盖的问题
🤖 Generated with Claude Code
v1.3
V1.2 - 联网搜索 & 提示词优化
新增功能
- 新增 Tavily 联网搜索工具,支持实时信息查询
- 亚托莉可主动调用 web_search 确认不确定的信息
注意:需要自行注册并配置 Tavily API Key(https://tavily.com)。通过 npx wrangler secret put TAVILY_API_KEY 设置。
提示词优化
- 精简 System Prompt,从 600 字优化至 150 字,减少 token 消耗
- 工具描述改为第一人称拟人风格
- 移除冗余的工具使用指导,由模型自行理解工具语义
- 亲密度显示优化,直接展示数值
技术改进
- 添加 TAVILY_API_KEY 环境变量支持
- 完善 wrangler.toml 配置说明
- 优化 agent-service 代码结构
完整对比: v1.1...v1.2
完整实现手势导航操控侧边栏和日记;输入框输入自然贴合最后一条消息
fix: 修复输入框弹跳问题 & 版本更新至 V1.1 - 移除 LaunchedEffect 对 listBottomPadding 的监听,避免键盘弹出时双重滚动 - versionCode: 1 → 2, versionName: 1.0 → 1.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>