BYOK · 本地优先 · AI 角色扮演聊天 App(Android / Flutter)
mostaron 是一个面向 Android 的 AI 角色扮演聊天应用:你用自己的 API Key 连接任意 OpenAI 兼容接口,创建/编辑角色,与它们进行沉浸式单聊与群聊。它把角色卡、世界书、长期记忆、主题与聊天气泡等角色扮演要素都放在本地(SQLite),数据由你掌控。
本项目为个人学习/开源分享用途,代码主体由 AI 生成(GitHub Copilot / AI 辅助),仅供学习参考。
参考 LettuceAI 与 TavernAI 的开源设计(角色卡 / 世界书 / 记忆 / 提示词模板),本工程为个人重写实现。
| 平台 | Android(Flutter) |
| 接口 | 任意 OpenAI 兼容 API(BYOK,自带 Key) |
| 模型 | 多模型分组,可一键切换(单聊 + 群聊) |
| 存储 | 全本地 SQLite,不上传 |
| 形态 | 单文件 APK,安装即用,界面轻量 |
- SillyTavern 角色卡导入/导出:支持 PNG / WebP / JSON(V1/V2);角色卡带世界书会自动加入世界书库;扩展字段(场景、示例对话、作者注释、系统提示、备选开场白、标签等)全保留。导入角色卡用图片可自动作为头像。
- 创建/编辑角色:头像、人设、性格、语气、背景故事、场景、示例对话、开场白、聊天背景。
- 支持用文字一键生成角色(含场景、示例对话等),可撤销。
- 克隆 / 重置 / 置顶;从长按菜单一键创建群聊。
- 每个角色独立设置(上下文轮数、记忆上限、感应现实等),默认沿用主设置,可随时覆盖。
- 多角色同框聊天,互相可见,可拉人/踢人(删除需确认)。
- 三种回复模式:
- 全员回复:每个人各回一条,被提到的角色优先回复。
- 指定发言:输入框上方出现成员胶囊,点谁谁回。
- 自然聊天:AI 判断是否回复,轮流,至少一人回复。
- 群聊记忆模式 3 种:全新整体记忆 / 角色独立全新记忆 / 角色独立同步记忆(创建时选择)。
- 继续回复:点击消息下"继续说",角色接着上一条直接续写(不插入用户提示)。
- 群聊同样支持:模型切换、长记忆、世界书、自定义头像/背景、查找聊天记录、克隆(含聊天记忆 / 全新 / 改记忆模式)。
- 流式打字机输出,逐字生成,动作
(动作)与台词混合渲染(兼容*动作*/(动作))。 - 单文件安装,启动直接进入,无需登录。
- 最新一轮消息下方(纯图标操作条):重新说 / 删除 / 编辑 / 继续说 / 生成我的回复。
- 长按复制、触摸展开思考、上下文轮数可调、字体大小可调。
- 查找聊天记录(角色 + 群聊):结果最近优先,命中词主题色高亮,点击跳转到消息位置,返回键回到结果页。
- 长按消息可删除从这里开始的消息(同步清除产生的长记忆)。
- 输入框AI 改写按钮:改写输入中的消息,可撤销/取消(正在改写显示占位提示,不改动输入内容)。
- 用户编辑自己的消息或 AI 改写后,角色/群聊自动回复。
- 角色 / 群聊克隆:全新(不带聊天与记忆)或携带聊天与记忆,均克隆全部设置,名字自动加"副本"。
- 群聊可改记忆模式克隆:克隆设置、聊天与记忆全新,重新选择记忆模式,并进入创建页确认。
- 置顶记忆写入 AGENTS.md 长期生效;最近记忆自动注入上下文。
- AI 手动/自动生成记忆、记忆达上限自动清理、感应现实(知道当前日期时间)。
- 全局管理:在“设置 → 世界书”里新增/编辑/删除条目。
- 每个角色/群聊在编辑里独立勾选启用哪些。
- 命中关键词的条目作为背景注入,增强沉浸。
- 自定义身份(名字/性别/关系/身份背景)。
- 自定义聊天气泡颜色与透明度。
- 多主题色、亮/暗/跟随系统、夜间自动切暗色(可设起止时间)、自定义主题背景。
- 角色/群聊独立聊天背景,与主设置互不影响。
- 全部数据只存在本地 SQLite,不联网上传任何内容。
- 联网仅用于调用你自己配置的接口;App 本身不持有服务器,不收集任何账号/聊天数据。
- 导出/导入为合并模式,导入不覆盖已有数据。
| 主页 | 群聊 | 群聊自定义背景 |
|---|---|---|
![]() |
![]() |
![]() |
- 安装 APK(可在 Release 页下载,或自行从源码构建)。
- 进入 设置 → 接口,点 添加接口:填名称、Base URL、API Key、模型名(可用快速预设与获取模型一键填充)。
- 回到主页,右上角 + → 添加角色(或用文字一键生成)。
- 点角色/群聊卡片开始聊天。
git clone https://github.com/weme1206/mostaron.git
cd mostaron
flutter pub get
flutter build apk --release产物:build/app/outputs/flutter-apk/app-release.apk
详细操作见 docs/使用说明.md;开发与构建见 docs/开发与构建.md。
lib/
main.dart # 入口
src/
models/ # 数据模型
data/db.dart # SQLite 本地库(v8)
services/ # API 客户端、提示词、角色卡、设置解析
state/app_state.dart # 全局状态
ui/ # 界面(聊天/角色/群聊/设置/裁剪等)
utils/ # 工具(动作解析、颜色)
android/ # Android 工程
assets/icon/ # 应用图标
docs/ # 文档与截图
- 本项目主要由 AI 生成,作者在 AI 辅助的基础上进行整理与测试,代码仅供学习与交流。
- 请仅为合法用途使用;你对自己的 API Key 与生成内容负责。
- 本项目不收集、不上传任何用户数据。
MIT © weme1206


