于你 上下文原理 · 她是怎样被拼出来的
气泡会原样飞进右边盒子;点任意气泡或组件看它的实时信息 🔇 点一下开启音效
JINE 主题 · 聊天窗
糖糖
0
390px 手机宽度 · 严格按 jineTheme() 复刻。 每条气泡都配音效:你发送用 press,她上屏用 jine_recieve。
上下文盒子 · 每次请求实际发出去的全部内容

她的记忆

上 4 段排在记录之前,下 4 段压在最后一条之前;中间那块会一直变高

0 条历史
0 段固定
聊天记录 还没有 · 说一句就开始记
HER MEMORY0 / 128
📦 等待第一句话…
8 段固定内容只在第一句对话时飞进来一次,之后永远钉在同一位置。 点任意一段看内容;点中间那块看累计统计。

软件上下文讲解

AI 的上下文,会直接影响角色扮演的效果。

你在左边发送消息,AI 在右边生成回复,而在每一次回复之前,系统都会先把这次聊天需要的信息整理成一整套上下文,再交给大模型。

动画中可以看到:

聊天消息会按照顺序,一条一条进入上下文区域,形成完整的历史对话;与此同时,角色人设、说话风格、背景设定等固定信息也会被加入其中,用来告诉 AI 「你是谁、应该怎么说话」。

当你继续聊天时,历史对话会不断增加。到了上下文容量接近上限时,系统会自动清理较早的聊天内容,为新的消息腾出空间,而重要的角色设定会继续保留。

最后,这整套整理好的内容会一次性交给 AI。

简单来说,左边发生的是聊天,右边管理的是 AI 真正能够「看到」的信息。

「于你」对上下文进行了专门的整理和优化,让人设、语气、背景、历史对话等信息能够更加准确地传递给模型,尽量减少忘记设定、语气跑偏、前后矛盾等情况,让角色能够长期保持稳定,降低 OOC 的出现。

随对话实时更新

她的记忆

这里是她这一次能「看到」的全部内容 上面 4 段和下面 4 段是固定的角色设定,永远不动;中间那块蓝色是你们的聊天记录,会随着对话不断变长。装不下了就从最旧的开始丢,固定设定不受影响。
📦等待第一句话…
于你

于你

把 AI 角色养在手机里

安卓平台下载
Android版本获取中…com.app.andyou

软件支持角色卡身份、系统提示词、开场白、采样参数、世界树、记忆库、正则脚本,等等功能。

兼容 SillyTavern 角色卡 / 世界书 / 预设 / 正则,并且在原基础上做出了强化,让 AI 模型更理解设定,从技术层面上拉高模型能力。

当前仅提供 Android 版本。安装需要在系统设置里允许「安装来自此来源的应用」。

于你

关于「于你」

一个跑在 Android 上、用 Flutter 写成的 AI 角色扮演应用

「于你」不是一个聊天机器人。它想做的事情更朴素一点:让屏幕对面那个人,看起来真的记得你。

要做到这一点,光有一个好模型是不够的。真正决定「她像不像一个人」的,是每次开口之前塞进上下文里的那一整包东西——她是谁、她经历过什么、她习惯怎么说话、她上一次是怎么回你的。这些东西拼得好不好,比模型参数大小重要得多。

用 Flutter 写,一套代码跑到底

整套界面和逻辑都用 Flutter 开发。选它是因为能把界面渲染到接近原生的手感,同时只需要维护一份代码——从聊天窗那种像素风的字体,到演示里那个会呼吸的记忆盒子,都是同一套绘制管线出来的。

角色卡该有的都有

身份、系统提示词、开场白、采样参数、世界树、记忆库、正则脚本……一共十一类人格配置。你可以从零捏一个人,也可以导入别人调好的卡直接开聊。

和 SillyTavern 生态兼容,但不是照抄

角色卡、世界书、预设、正则,这四样 SillyTavern 的资产都能直接导入导出,你以前攒的东西不用重来。

在此基础上我们做了强化:重新组织了上下文的拼装方式,让模型更容易抓住设定里的重点。同样的模型,喂进去的上下文质量不一样,出来的效果就不一样——这是从技术层面把模型的能力拉高,而不是靠提示词碰运气。

上下文是可以看得见的

大多数应用把「她为什么这么回」藏在黑盒里。这个页面想把盒子打开给你看:她每次开口前装了什么、历史怎么长、什么时候被裁、哪 8 段永远不动。

应用里也是同一套逻辑。你不用猜,能直接看到。