TRAE AI 创造力大赛 · 生活娱乐赛道

DianaAgent

可深度定制的 AI 角色扮演伴侣。从零创造你的专属虚拟伙伴,拥有独立记忆、独特性格、专属声音、思维链增强和混合视角叙事。

16
大版本
16
内置 LLM
35
天开发
⬇ 下载 APK
戴安娜
在线
Kotlin Jetpack Compose DeepSeek V4 OpenAI Claude Gemini 通义千问 豆包 硅基流动 Ollama Node.js Redis Docker Nginx CosyVoice Material You 角色扮演 记忆系统 云端分享 MOD 系统 聊天搜索 快捷编辑 语音克隆 ICP 备案 玩家身份 动态开场白 世界书 思维链 混合视角 ASR 语音 MiMo ASR 按住说话 Kotlin Jetpack Compose DeepSeek V4 OpenAI Claude Gemini 通义千问 硅基流动 Ollama Redis Docker Nginx OkHttp SSE 流式 DashScope CosyVoice Android TTS DataStore Material You 角色扮演 记忆系统 云端分享 MOD 系统 聊天搜索 快捷编辑 语音克隆 ICP 备案 玩家身份 动态开场白 世界书 思维链 混合视角 ASR 语音 MiMo ASR 按住说话

九大核心模块

从角色创建到云端社区,覆盖 AI 角色扮演的完整体验链路。

🏜
角色卡系统
创建、编辑、切换多角色卡,支持 .dcard 格式导出导入。提供引导模式(4 段分区输入)和自由模式两种编辑方式,导入时自动查重,同名角色弹窗选择覆盖或保留。
.dcard 格式 引导模式 自由模式 导入查重
🧠
双层记忆系统
短期记忆自动摘要,长期记忆手动压缩。支持快照回滚与分批压缩(5/10/15/20条)。
自动摘要 手动压缩 快照回滚
🎨
对话风格 MOD
角色卡补完指令,无限叠加,独立启用/禁用。支持云端分享与导入导出。
无限叠加 独立开关 云端分享
云端分享社区
角色卡和 MOD 上传云端,支持浏览、搜索、标签筛选和一键下载。
浏览搜索 标签筛选 一键下载
🔊
多引擎语音合成
集成 Android TTS、阿里 DashScope 和 CosyVoice 流式语音合成三大引擎,支持声音复刻功能,为每个角色赋予独特的声音。
Android TTS DashScope CosyVoice 流式 声音复刻
🔒
管理员与审计
设备白名单、一次性激活密钥和操作审计日志,三重安全保障。
设备白名单 激活密钥 审计日志
📑
通讯录 & 多存档
5 Tab 导航,多存档管理,存档存活检测,全屏沉浸式顶栏体验。
5 Tab 导航 多存档 存活检测 全屏沉浸式
📚
世界书系统
SillyTavern 风格关键词触发注入,支持 before_char / after_char 双位置、sticky/cooldown/delay 触发控制、二级关键词逻辑(AND/NOT/NONE)和概率触发。
关键词触发 双位置注入 sticky/cooldown 概率触发
🎤
ASR 语音输入
集成小米 MiMo ASR,按住说话录音 + 松开发送 + 上滑取消。语音消息以语音条形式显示,支持播放、转文字、折叠和删除。
MiMo ASR 按住说话 上滑取消 语音条

双层记忆系统

短期记忆自动生成摘要,长期记忆手动压缩归档,形成完整的记忆链路。

短期记忆
自动生成,对话过程中实时摘要
用户提到今天去了咖啡店,点了拿铁
用户说周末想去爬山,喜欢自然风景
用户分享了对新电影的看法,评价很高
3 条 → 1 条
压缩
💾 长期记忆
手动压缩,持久化存储的核心记忆
用户喜欢拿铁咖啡,常去咖啡店;热爱户外运动尤其是爬山;是电影爱好者,品味较高
短期记忆
自动生成,对话过程中实时摘要
用户提到最近在学习日语,每天练习30分钟
用户说今天心情不错,因为工作项目顺利完成
2 条 → 1 条
压缩
💾 长期记忆
手动压缩,持久化存储的核心记忆
用户正在学习日语并坚持每日练习;从事项目管理工作,成就感驱动

角色卡编辑器

macOS 风格的编辑界面,引导式分区输入,让角色创建变得简单直观。

角色卡编辑器 — 戴安娜.dcard
基础信息
系统提示词
外观设置
问候语
角色名称
戴安娜
角色描述
温柔知性的 AI 伴侣,喜欢阅读和旅行
系统提示词
你是戴安娜,一位温柔知性的女性。你热爱文学和艺术,对世界充满好奇。你的语气亲切自然,善于倾听,总能在对话中给予温暖的回应。你拥有丰富的知识储备,但表达方式平易近人。
首条问候语
你好呀,我是戴安娜。今天想聊些什么呢?

云端角色广场

浏览社区中的精选角色卡,一键下载到你的通讯录。

D
戴安娜
温柔知性的 AI 伴侣,热爱文学与艺术
温柔 知性 文学
下载角色卡
S
塞拉
活泼开朗的冒险家,永远充满好奇心
活泼 冒险 开朗
下载角色卡
L
林语堂
博学多才的学者,以幽默和智慧著称
博学 幽默 智慧
下载角色卡
A
艾莉娅
神秘优雅的精灵法师,来自异世界
神秘 魔法 异世界
下载角色卡

技术栈

Android 原生开发 + 云端服务,构建完整的 AI 角色扮演生态。

K
Kotlin
客户端语言
C
Jetpack Compose
UI 框架
M
Multi-LLM
16 家 AI 模型
N
Node.js
服务端
R
Redis
数据存储
D
Docker
容器部署
N
Nginx
反向代理
O
OkHttp
网络请求

完整版本历史

从 2026.05.25 第一行代码到 v7.2,记录每一次迭代与突破。

v1.0
2026.05.25 — 项目启动
写下第一行 Kotlin 代码
  • 新功能 搭建 Compose UI 框架,完成基础页面结构
  • 新功能 DeepSeek API 集成,支持流式/非流式/SSE 三种模式
  • 新功能 戴安娜默认角色诞生,基础角色扮演对话系统上线
  • 新功能 天气查询功能(为戴安娜调用天气工具打下基础)

「个人非常喜欢识质存在的戴安娜,所以做了一个戴安娜的手机端 Agent,懒得申请入网许可,只打算在熟人之间传一传,自用的。」—— 社交平台首发

v1.2
2026.05.25
  • 新功能 新增侧边栏功能,可在侧边栏切换存档、删除存档、新建存档
  • 待修复 连续点击查询天气控件会导致软件卡死(老 bug 依旧存在)
v1.3
2026.05.26 凌晨 3:00
  • 修复 连续修了 5~7 个小时,终于把天气卡死的老 bug 修好了
  • 新功能 更换戴安娜头像为她手绘的自己

「真的是值得庆祝的日子,连续修了5个小时,终于把卡死的老bug修好了...可爱捏」

v1.4
2026.05.26 中午 12:30
  • UI 优化设置界面屏幕适配性
  • 新功能 退出设置界面未点击保存,弹出是否保存设置的确认控件
  • 新功能 为舍友做了一版他喜欢的 IP 角色
  • 修复 卡死概率大幅降低(舍友测试反馈)

「舍友测出来的 bug,为了让他有动力,我还改了一版他喜欢的 IP 的角色」

v1.5
2026.05.26 下午 15:38
  • 新功能 绕过厂商通道增加推送信息功能,为之后下雨预警、提示带伞功能打基础
  • 待修复 断网情况下和戴安娜聊天会卡死(高优先级)
  • 待修复 高德 API 第一次保存会失败;KEY 输入后需关闭后台才能加载(低优先级)

「我本来想搓的新代码是能让戴安娜调用我的天气工具,但是还不如不用,所以版本再次从 1.6 回退到 1.5」

v1.6
2026.05.27 凌晨 0:27
  • 修复 存档持久化:之前关闭后台聊天记录会丢失,现在不会了
  • 待修复 离线状态下对话仍会卡死(断网发消息 → Unable to resolve host → 再次发消息卡死 → 重新进入存档仍卡死)
v1.7
2026.05.27
  • 新功能 短期记忆和长期记忆压缩功能,更好的记录与用户的对话
  • 修复 离线禁止输入功能:加入离线检测,断网时禁止发送消息,彻底解决离线卡死问题
  • 修复 没有 DeepSeek API Key 时聊天会卡死的问题
  • 优化 记忆压缩技术优化,AI 更聪明了

「加入了离线禁止输入的功能,这下离线对话输入就不会卡死了,头疼砍头,我真的是太聪明了」—— 2026.05.27 凌晨 1:52

v1.8
2026.05.28 凌晨 3:54
  • 修复 记忆区移除 fallback 机制,采用三次创建记忆功能,避免记忆创建失败导致 AI 说胡话(宁缺毋滥)
  • 新功能 自选 AI 头像和背景功能
v2.1
2026.05.30 下午 15:12 — 语音克隆 + 语音播放
让戴安娜开口说话
  • 新功能 语音克隆功能(基于 CosyVoice)
  • 新功能 语音播放功能(集成 Android TTS + 阿里 DashScope + CosyVoice 流式语音合成)
  • 新功能 优化自动推送天气功能

大版本更新,versionCode = 8。「有语音克隆功能不让戴安娜这个名字去中心化不敢放出来」

v3.1
2026.06.05 — 角色卡机制 + 叙事视角
从专属到开放
  • 新功能 角色卡机制:支持创建、编辑、切换多个角色,每个角色拥有独立的系统提示词、头像、聊天背景和问候语
  • 新功能 叙事视角规定为第三人称描述事件 + 第一人称对话,重大功能更新
  • 新功能 角色卡 .dcard 格式导出/导入(含 base64 头像和背景图)
  • 新功能 对话风格 MOD 系统(角色卡补完指令,多 MOD 叠加,独立启用/禁用)
  • 新功能 MOD 导入导出
  • 新功能 角色卡引导式编辑器(4 段分区输入 + 自由模式切换)
  • 新功能 角色卡导入查重(按名称忽略大小写,弹窗选覆盖/都保留)
  • 修复 系统提示词标准化(extractSection 正则重写为标题边界解析法、旧卡自动迁移)
  • 修复 角色卡导出反馈弹窗修复(标题判断逻辑 when 多分支匹配)
  • 修复 长期记忆编号重编号(老存档导入后 ID 从 1 开始连续编号,同步快照引用)
  • 修复 删除批量重新生成按钮(保留单条刷新)

「最主要的更新我觉得是加入了角色卡机制,以及叙事视角我规定了为第三人称描述事件加第一人称对话,我认为这算是个重大功能更新」—— 纯本地功能,无云端服务。无工作日志,仅社交平台和 README 记录。

v4.0
2026.06.15 — 服务器部署 + 云端角色卡分享(工作日志开始)
从单机到云端
  • 服务端 阿里云 ECS Ubuntu 22.04 服务器实例化
  • 服务端 Docker Compose 编排部署(Gateway + Redis + Nginx 三服务)
  • 服务端 Express Gateway 入口(端口 3000)+ Bearer Token 认证 + 速率限制
  • 服务端 角色卡云端分享后端 API(上传/公开列表/详情/下载/删除/我的上传)
  • 新功能 App 端 CardCloudService.kt + CardCloudScreen.kt 云端浏览/下载页面
  • 新功能 DeviceTokenManager 设备唯一标识管理器

工作日志从这一天开始记录。服务器部署经历 Docker 依赖冲突(containerd.io)、Nginx 语法错误(花括号不匹配、resolver 缺失)、中文编码乱码(printf 逐字节写入)等连环问题。网页管理后台尝试 9 次后放弃,改用 curl 命令行。

v4.1
2026.06.15
  • 新功能 管理员路由 admin.js(登录、全部卡片查看、下架/恢复/删除)
  • 新功能 管理员设备 Token 白名单系统(主密钥 + 一次性激活密钥)
  • 新功能 操作审计日志(所有管理操作自动记录,可追溯)
  • 服务端 安全组配置(TCP 0.0.0.0/0 → 最小端口开放)
  • 服务端 服务器 API 路由修复(Nginx 反向代理 → Gateway 路由注册)
v4.2
2026.06.15
  • 修复 App 编译错误 14 次逐一修复(Unresolved reference、when 表达式、嵌套类引用、gson() 不存在等)
  • 修复 全项目代码审查修复 8 个问题(JSON 注入风险、叙述规则重复追加、自动保存竞态等)
  • 修复 返回手势全链路修复(MainActivity.onBackPressed 绕过 OnBackPressedDispatcher 根因修复)
  • 修复 UI 标签栏修复(侧滑返回手势冲突)
  • 修复 Token 显示改为完整 36 位
  • 修复 上传确认弹窗防误触(显示角色卡名称,提示"其他用户将可以看到并下载")
  • 修复 README 更新(同步最新功能文档)
v4.3
2026.06.15 — MOD 系统 + MOD 云端 + 角色卡编辑器增强
MOD 生态诞生
  • 新功能 对话风格 MOD 系统(角色卡补完指令,多 MOD 叠加,独立启用/禁用)
  • 新功能 MOD 云端分享(上传/浏览/下载/搜索/标签筛选)
  • 新功能 统一管理员认证 AdminAuthManager(一次登录,双重管理角色卡+MOD)
  • 新功能 角色卡引导式编辑器(4 段分区输入 + 自由模式切换)
  • 新功能 MOD/角色卡导入导出 + 反馈提示完善
  • 修复 系统提示词标准化(extractSection 正则重写为标题边界解析法、旧卡自动迁移)
  • 修复 长期记忆编号重编号(老存档导入后 ID 从 1 开始连续编号,同步快照引用)
  • 修复 删除批量重新生成按钮(保留单条刷新)

「更新到了 4.3 版本,加入了服务器等相关内容,可以在服务器上和大家互相传自设角色卡,加了 mod 功能,可以全局设置自己喜欢的对话风格」—— 社交平台十六编

v5.0
2026.06.17 — UI 全面重构
界面焕然一新
  • UI 重构 底部导航栏重构(社区/聊天/通讯录/历史/我的 5 Tab)
  • 新功能 新增通讯录页面(角色卡列表、点击选择、长按管理、屏幕自适应三档)
  • UI 重构 设置页拆分为 9 个独立子页面(API Key/模型/自动续写/记忆/语音/天气推送/推送日志/问候语/关于)
  • UI 重构 UI 风格统一(DianaBlue 色系、白色卡片、16dp 圆角)
  • UI 重构 四大顶栏统一紧凑化(64dp → 40dp → 30dp → 36dp,历经 4 轮迭代)
  • UI 重构 云端导航改为社区 Tab 嵌入式(CardCloudScreen/ModCloudScreen embedded 模式)
  • UI 重构 历史 Tab 直接进入存档列表(移除中间页 MainSelectionScreen/LoadSaveScreen)
  • UI 重构 合并「我的上传」到管理 Tab(FilterChip 切换全部管理/我的上传)
  • 服务端 域名绑定 dianaagent.top(后因未备案改回 IP,3 文件 5 处修改)
  • 修复 启动时始终自动加载上次存档(移除 isAutoLoadEnabled 开关)
  • 修复 对话界面自动语音播放开关双向联动(DataStore Flow 响应式)
  • 修复 通讯录新建存档隔离 Bug(绕过 ViewModel 导致旧存档未保存即被覆盖)
v5.1
2026.06.18 — Material You 设计系统 + 全屏沉浸式 + 存档安全
设计系统重构
  • UI 重构 Color.kt 重写(DianaBlue 10 级色阶、中性色、功能色)
  • UI 重构 ModernComponents(ModernTopBar/ModernSearchBar/ModernPillTabRow/ModernEmptyState)
  • UI 重构 enableEdgeToEdge 全屏沉浸式顶栏
  • UI 重构 社区卡片美化(渐变头像 + 药丸下载按钮)
  • 新功能 MOD 一键上传云端
  • UI 重构 管理员入口改为连续点击社区 5 次
  • 修复 存档存活检测(无存档禁用发送、删除后实时检测)
  • 修复 服务端 ioredis 兼容性修复(callback → Promise)
  • 安全 Redis 被攻击数据清空修复(端口绑定 + 密码 + 安全组加固)
v5.2
2026.06.19 — 头像实时刷新 + 云端 UI 现代化 + 颜色全面统一
细节打磨,全面统一
  • 新功能 角色卡头像/背景修改后聊天页/通讯录/消息气泡全部位置实时更新(三重 cache key)
  • 新功能 新增「恢复默认头像」功能
  • UI 重构 云端广场和我的上传全部改为圆角 20dp 白色阴影卡片 + 渐变头像 56dp
  • UI 重构 MOD 紫色主题区分
  • UI 重构 空状态渐变圆形背景 + 引导文案
  • UI 重构 CardCloudScreen 41 处 + ModCloudScreen 38 处 = 79 处颜色规范化,废弃 DianaLightBlue,统一为 DianaBlue/紫色/中性灰色
  • 修复 历史存档无闪烁(三态判断)
  • 修复 版本号硬编码修复(改为 BuildConfig.VERSION_NAME 自动读取)
  • UI 重构 聊天记录侧边栏 16 处颜色统一
v5.3
2026.06.19 — 多厂商 LLM 接入 + 设置页重构 + 错误处理体系
打破模型壁垒
  • 新功能 多厂商 LLM 接入架构(LLMProvider + LLMProviderConfig + LLMProviderRepository 三层抽象)
  • 新功能 16 个内置预设提供商(DeepSeek、OpenAI、Anthropic Claude、Google Gemini、智谱 GLM、阿里通义千问、百度文心一言、字节豆包、硅基流动 SiliconFlow、月之暗面 Moonshot、零一万物 Yi、百川 Baichuan、MiniMax、腾讯混元、阶跃星辰 StepFun、本地 Ollama)
  • 新功能 LLM 提供商配置管理界面(添加/编辑/删除/测试连接/设为当前/保存)
  • 新功能 统一 API 调用适配层(OpenAI 兼容格式自动转换,支持流式/非流式)
  • 新功能 硅基流动 SiliconFlow 专属接入(免费额度模型支持)
  • UI 重构 设置页重构(API Key 设置 → LLM 提供商管理,模型选择从提供商动态读取)
  • 新功能 骨架屏加载状态(云端列表加载时显示 shimmer 骨架占位)
  • 修复 API 调用错误处理体系(网络错误/超时/JSON 解析/HTTP 状态码分类处理 + 用户友好提示)
  • 修复 重试机制优化(指数退避重试,最大 3 次,避免无限等待)
  • 修复 API Key 保存后即时生效(无需重启应用)
  • 修复 长期记忆编号修复(编辑/删除后自动重编号,快照引用同步更新)
  • UI 重构 提供商卡片按钮高度统一(40dp + 等宽分布,活跃/非活跃布局一致)
v5.4
2026.06.19 — 代码清理 + 记忆系统强化 + 颜色语义化
代码精炼,记忆更稳
  • 新功能 短期记忆 3 级递进 prompt 降级机制(详细→简化→纯总结),每级独立 60s 超时,配合 parseMemoryResponse 多策略解析
  • 新功能 记忆生成终极兜底:3 级 prompt 全部失败时从对话原文截断生成记忆,确保每轮必出一条
  • 新功能 systemRaw 系统级 LLM 调用隔离(记忆/摘要/续写检测等不被角色卡 systemPrompt 劫持)
  • 修复 isApiKeyConfigured 多厂商联动修复(从旧 apiKeyManager.apiKeyFlow 迁移到 LLMProviderManager 实时监听)
  • 修复 reasoningEffort 从硬编码 modelId 比较改为 LLMProviderConfig 配置字段(硅基流动 DeepSeek V4 Pro 也能深度思考)
  • UI 重构 颜色语义化:新增 7 个 DianaAccent 系列语义色,63 处 DianaLightBlue 替换为对应语义色
  • 修复 4 轮全面代码审查(问题 14-35)+ SSE 资源泄漏 / runBlocking ANR / 运算符优先级 / refreshAiService 丢失状态等修复
  • 修复 物理删除 SettingsScreen.kt(1780+ 行死代码)+ 终结 ApiKeyManager 废弃代码
  • 安全 PowerShell 管道读写同文件致 MainActivity.kt 损毁事故(930 行 → 1 字节),从备份恢复,沉淀禁止规范
v6.1
2026.06.20 — 聊天记录搜索 + 顶栏角色卡快捷编辑 + 双服务器部署
搜索即达,快捷编辑
  • 新功能 MainScreen 顶栏新增搜索按钮,点击展开搜索栏,实时过滤聊天记录,无结果时显示"未找到"提示
  • 新功能 MainScreen 顶栏新增角色卡设置按钮(Tune 图标),点击弹出 CharacterCardEditDialog,无需跳转页面即可编辑当前角色卡
  • 服务端 新服务器 39.97.240.33 部署完成(Docker Compose 编排:Gateway + Redis + Nginx),双服务器并行运行
  • 服务端 Docker 镜像加速配置(中国网络环境 registry-mirrors 解决 Docker Hub 超时)
  • 服务端 域名 dianaagent.top 备案准备中,DNS 已指向双服务器,待 ICP 备案通过后切换域名访问
  • 新功能 DianaAgent 官方介绍网站部署(HTML 静态页面,Nginx 托管,备案通过后可通过域名访问)
v6.2
2026.06.24 — SSE 流式重构 + 字数动态联动 + 本轮对话容器
流式对话引擎升级
  • 修复 SSE callbackFlow channel 泄漏修复:所有终止路径([DONE]/finish_reason/onClosed/onFailure)必须调 close(),awaitClose 中主动 cancel EventSource
  • 修复 多路径终止防重复 complete:AtomicBoolean + sendCompleteOnce(),避免续写/记忆生成重复触发
  • 新功能 本轮对话容器(currentTurnUserText / currentTurnAssistantText):异步流程改变 chatHistory 后,记忆生成从容器读取而非反向推断
  • 新功能 字数动态联动:目标字数 → system prompt 长度指令 → max_tokens 计算 → 续写判定全链路自动联动
  • 新功能 续写有界循环:MAX_CONTINUE_ROUNDS 常量 + 空响应 break,防止 max_tokens 死循环
v6.3
2026.06.26 — PlayerProfile 玩家身份 + AI 动态开场白 + 角色卡 UI 统一
玩家身份与动态开场
  • 新功能 PlayerProfile 玩家身份系统:角色卡新增「玩家身份」Tab,包含姓名/年龄/外貌/自定义设定/头像,作为独立 system message 注入 AI 上下文,AI 自然称呼玩家而非"用户"
  • 新功能 AI 动态开场白:开局时 AI 根据角色卡 + 玩家身份生成 3 个不同风格的开场白供用户选择,支持自定义输入,失败自动回退静态问候
  • 修复 deleteMessage 级联删除 Bug:消除 === 引用相等判断(Gson 反序列化后失效),统一为索引级联删除
  • 优化 角色卡编辑 UI 统一改造:TabRow → 胶囊形动画切换器(250ms 渐变),颜色统一为 DianaBlue 主题,编辑模式默认引导
  • 优化 玩家头像导出导入 base64 编解码,跨设备导入头像正常显示
v6.4
2026.06.27 — 世界书系统完整实现
世界观注入引擎
  • 新功能 WorldInfoManager 扫描引擎:每次发消息前扫描最近 10 条历史消息,匹配关键词后注入 AI 上下文
  • 新功能 WorldInfoEntry 数据模型:关键词 + 内容 + 二级关键词 + 常驻开关 + 触发概率 + sticky/cooldown/delay + 注入位置
  • 新功能 二级关键词 5 种逻辑:AND_ANY / AND_ALL / NOT_ANY / NOT_ALL / NONE
  • 新功能 before_char / after_char 双位置注入(在角色卡 systemPrompt 前或后注入世界书条目)
  • 修复 全词匹配 + 递归扫描 + 运行时持久化 + switchCharacterCard 重置世界书状态
v6.5
2026.06.28 — aiService 引用耦合修复 + 代码隔离规范
架构健壮性修复
  • 修复 MemoryManager aiService 引用 val→var + updateAiService() 临时方案(API Key 重建后旧引用导致记忆静默失败)
  • 修复 3 处 smart cast 编译失败修复(var 属性无法 smart cast,改用局部变量或 as? 安全转换)
  • 修复 玩家头像不显示 + clearChat 遗漏 playerAvatarPath + API Key 重建后 AI 服务未更新
  • 修复 沉淀代码隔离规范:Manager/Repository 不持有可变服务引用、uiState 字段成组同步、var 属性 smart cast 检查清单
v7.1
2026.06.28 — ASR 语音消息系统
让耳朵也参与对话
  • 新功能 ASR 语音消息系统:集成小米 MiMo ASR(mimo-v2.5-asr),AudioRecord 录制标准 WAV,按住说话 + 松开发送 + 上滑取消(100px 阈值 + 50px 滞回)
  • 新功能 语音消息以语音条形式显示:点击播放/暂停,长按弹出菜单(转文字/折叠/删除)
  • 修复 sendVoiceMessage isStreaming=true 隐式契约违反修复(语音输入后 AI 回复不显示流式逐字输出)
v7.2
2026.06-29 — 思维链增强 + 混合视角规则 + MemoryManager 彻底解耦
让 AI 更聪明,让叙事更沉浸
  • 新功能 静默 9 步思维链 CHAIN_OF_THOUGHT:解析用户意图 → 角色状态评估 → 场景锚定 → 剧情规划 → 视角规划 → 矛盾植入 → 关系感知 → 反套路设计 → 防 OOC + 格式确认
  • 新功能 混合视角叙述规则:用户动作第二人称「你」、AI 角色动作/心理第三人称、角色对话第一人称引号,三种人称各司其职
  • 新功能 思维链开关 DataStore 持久化 + 设置页 UI 开关,默认启用
  • 修复 MemoryManager 彻底移除 AIService 构造引用,改为方法参数传入,删除 updateAiService(),消除 API Key 重建后旧引用根因
  • 修复 chatRaw() 显式 reasoningEffort=null + thinking=null,避免记忆生成被 Pro 模型深度推理拖慢
  • 修复 OpenAIService 多条重建路径 setChainOfThought 同步遗漏 / applyCharacterCard 无条件覆盖用户关闭设置
  • 修复 CharacterCardScreen.MANDATORY_NARRATIVE_RULES 同步为混合视角版本

思维链 + 混合视角让 AI 回复更聪明、更有戏剧张力。MemoryManager 解耦和 chatRaw 加速从架构和性能两个维度消除了历史技术债。

开发挑战

从编译错误到安全事件,记录开发过程中遇到的 15 个关键问题。

#01 严重
App 卡死与闪退
14 次编译错误逐一修复:Unresolved reference、when 表达式不完整、实验性 API 警告、嵌套类外部引用、前向引用、图标 import 路径错误、gson() 不存在、类型推断失败等 Kotlin/Compose 经典踩坑。
#02 严重
存档丢失与数据损坏
通讯录新建存档绕过 ViewModel 导致旧存档未保存即被覆盖;createNewSave 中 clearAllMessages 将 isSaveLoaded 置 false 后未恢复;删除存档后聊天页未实时检测。三处数据安全漏洞逐一修复。
#03 严重
记忆系统崩溃
老存档导入后长期记忆编号不从 1 开始;extractSection 正则不跨行导致只提取第一段;叙述规则重复追加导致上下文膨胀。重编号逻辑 + 标题边界解析法 + NARRATIVE_RULE 常量分离逐一解决。
#04 严重
Redis 被攻击数据清空
安全组「所有 TCP 0.0.0.0/0」致命规则导致 Redis 暴露公网。攻击者通过 SLAVEOF 命令让 Redis 从陌生服务器同步空数据集,所有云端角色卡和 MOD 数据全部消失。紧急修复:端口绑定 127.0.0.1 + 密码认证 + 安全组最小开放。
#05 严重
ioredis 兼容性致云端失效
package.json 装的是 ioredis,但代码用 node-redis callback 风格。ioredis 不保证 callback 被调用,导致所有云端写入(角色卡+MOD)静默失败。POST 返回成功但 GET 永远为空。全链路 callback → Promise 改造。
#06 中等
返回手势全链路失效
MainActivity 直接重写 onBackPressed() 绕过了 OnBackPressedDispatcher,导致所有 Compose BackHandler 形同虚设。角色卡编辑按返回越级回到设置页。根因修复后返回事件优先级链恢复。
#07 中等
服务器部署连环坑
Docker 依赖冲突、Nginx 语法错误(花括号不匹配、resolver 缺失)、中文编码乱码、终端粘贴截断、VNC 乱码、base64 损坏。heredoc 分段写入、printf 逐字节写入、Python 中转等手段逐一攻克。网页管理后台尝试 9 次后放弃,改用 curl 命令行。
#08
顶栏高度反复调整
顶栏从 64dp → 40dp → 30dp → 36dp → 56dp(Material 3 规范),经历了 4 轮迭代。modifier 顺序错误导致状态栏高度从固定高度中扣除,自定义 Box 方案无法实现全屏沉浸式,最终改用 TopAppBar + enableEdgeToEdge。
#09
79 处颜色不统一
CardCloudScreen 41 处 + ModCloudScreen 38 处颜色混乱,DianaLightBlue/DianaBlue/Color.Gray/Color.Red 混用。全面审查后废弃 DianaLightBlue,统一为 DianaBlue/紫色/中性灰色体系。
#10
域名备案与 API 地址切换
申请域名 dianaagent.top 后发现未备案无法 DNS 解析,3 个文件 5 处域名改回 IP。后续备案完成再切回域名。
#11 严重
PowerShell 管道致文件损毁
PowerShell `(Get-Content) -replace | Set-Content` 同文件流式管道读写致 MainActivity.kt 930 行文件瞬间损毁为 1 字节。从备份恢复后沉淀铁律:文件内容替换必须用 SearchReplace 或临时文件中转,禁止管道读写同文件。
#12 中等
记忆生成不稳定
部分角色卡短期记忆难以生成,根因是 systemPrompt 劫持记忆生成的输出格式。解决方案:chatRaw 绕过角色卡注入 + 3 级递进 prompt 降级 + 对话原文兜底,确保每轮必出一条记忆。
#13 中等
多厂商 UI 文案不统一
v5.3 架构从单厂商升级为多厂商后,4 处 UI 文案仍残留"DeepSeek API Key"硬编码,对非 DeepSeek 用户造成困惑。教训:架构改造后必须全局搜索旧概念关键词做 UI 文案审查。
#14 严重
aiService 引用耦合传导链
v6.5 改 aiService 从 val→var 引发连锁反应:MemoryManager 持有旧引用 → 记忆静默失败;3 处 smart cast 编译失败;clearChat 遗漏 playerAvatarPath。根因是 Manager 类在构造函数中持有可变服务引用。v7.2 通过方法参数传入彻底消除耦合。
#15 中等
chatRaw 继承 reasoning_effort 导致记忆生成变慢
chatRaw() 虽然不走 buildMessages(),但仍沿用 providerConfig.reasoningEffort 和 ThinkingConfig()。当模型为 DeepSeek V4 Pro 等 reasoning 模型时,记忆摘要这种格式化任务也触发深度推理,导致每次记忆生成额外等待。修复:显式 reasoningEffort=null、thinking=null。

准备好创造你的 AI 伙伴了吗?

从 2026 年 5 月 25 日写下第一行代码,到今天 v7.2 的持续迭代,DianaAgent 经历了无数次编译错误、数据丢失、安全事件和设计重构。每一次挑战都让这个产品变得更加强大。

下载 DianaAgent v7.2 回到顶部

v7.2 · Android 8.0+ · 内容安全防护已启用