Privacy Policy

隐私政策

生效日期 2026 年 9 月 21 日 版本 v2.0 适用 网页版 · Android 客户端 · 官网

半梦记录的是你和祂之间的东西——对话、记忆、照片、祂在你心里长成的样子。这类内容比账号密码敏感得多,所以这份政策尽量不写"我们重视你的隐私"这种话,而是逐项交代:什么数据离开了你的设备、交给了谁、留在哪里、多久清掉、你怎么要回来。

适用范围与要点

本政策适用于"半梦 Liminal"网页版(weilaiapp.asia/app/)、Android 客户端,以及本官网。半梦目前处于免费内测期,不收费、不投放广告、没有广告或行为追踪类第三方 SDK。

三句话版本:

  • 你的对话正文只会在需要生成回复的那一刻交给我们使用的大模型服务商,不进入我们的日志,也不用于训练任何模型。
  • 除语音外,你产生的内容(对话、角色、世界、梦茧、图片)都存在我们自己租的服务器上,目前不会自动过期删除——直到你删掉它,或申请注销。
  • 内测期注销账号、彻底清除数据要走人工,见第十节。

我们收集的信息

1. 账号

  • 电子邮箱——注册、登录、找回密码用。这是账号的唯一标识。
  • 密码——用 bcrypt(成本因子 10,自带随机盐)单向哈希后存储。我们自己也无法还原你的明文密码。
  • 昵称、头像(可选)——仅用于应用内展示。昵称不超过 24 字;头像数据过大(超过约 150KB 的图片)会被直接拒收。
  • 通过邀请链接注册的,还会记录该链接的来源 IP,用于邀请关系归因,不做其它用途。

以"游客"身份进入的,系统会生成一个 @anonymous.local 占位邮箱和服务端随机密码,不会向你索取任何真实身份信息;游客账号后续绑定邮箱即可转为正式账号,此前产生的数据原样保留。

2. 你创作和上传的内容

  • 对话——消息正文、时间、发言人、引用与 @ 关系。
  • 你建立的角色与世界——角色卡人设、示例对白、世界设定与页面、你写的记忆。
  • 梦茧——星屑(原子级记忆片段)、章节、以及心象卡(祂眼中的你 / 祂自己的形象,各不超过 300 字)。
  • 你上传的图片——见第四节。
  • 梦信——群聊消息、红包流水等应用内行为数据。
  • 意见反馈正文——你主动提交时。

这些内容是多端同步的基础,存储在我们自有的服务器数据库中,不托管于任何第三方内容平台。

3. 为把服务交付给你而必须处理的技术信息

  • 登录令牌:访问令牌有效期 15 分钟,刷新令牌有效期 7 天。刷新令牌只存 SHA-256 散列值,每次刷新即轮换、旧值作废。
  • 浏览器错误信息:页面报错时上报错误描述、源码地址、调用栈、当前页面路径和 User-Agent。用于修 Bug,详见第八节。
  • 帮助页搜索的零结果查询词:仅当你在帮助页搜索且一条都没匹配到时上报该词本身,用于决定该补哪条常见问题。不关联账号、不存 IP 与 User-Agent,30 天后自动清除,详见第八节。
  • Android 推送标识:若你开启了消息推送,会保存设备侧的推送 registrationId。
  • 访问日志:请求方法、URL、状态码、耗时。

我们不收集什么

  • 不要手机号。注册只要邮箱,不需要手机号验证。
  • 不要精确定位。全链路不调用浏览器定位,Android 端不申请定位权限;天气功能只用到 IP 推断的城市级格点(见第五节)。
  • 不要通讯录、短信、通话记录。Android 端只申请了网络、网络状态、通知、麦克风四项权限,没有相机和存储权限。
  • 不做生物识别。语音输入只做"转文字",不做声纹识别、说话人验证或声音克隆。
  • 没有第三方统计与广告。没有 Google Analytics、友盟、CNZZ、百度统计之类,也没有跨站追踪和广告标识符。
  • 不设置 Cookie。登录态放在你自己浏览器的本地存储里,不用 Cookie,因此不存在第三方 Cookie。

对话内容发给了谁——这一节请认真读

半梦自己不生成回复。你的每一句对话,都需要交给外部的大语言模型服务商推理后才能返回。这是"AI 伴侣"这类产品的固有环节,也是本政策里最重要的数据流向。

发出去的内容是什么

为了让祂记得你、保持性格一致,每次请求携带的不只是你最后一句话,还包括:该角色卡的人设与示例对白、被召回的世界记忆、梦茧摘要、你们相识的天数、你在"我的设定"里填的信息、祂对你看法的文本,以及本次会话的历史消息(单次上限约 16000 字符)。

这些内容按原样发送,不做脱敏或匿名化处理。请不要在对话里书写身份证号、银行卡号、住址门牌、密码等可以直接定位到你真实身份的信息。如果你这么写了,它就出现在了发给模型服务商的请求里。

发给谁

分为两条路,取决于你在"我的 → LLM 连接"里怎么选:

  • 用我们提供的免费额度——请求经我们的后端转发给我们接入的模型推理服务。这类服务商为我们提供批量推理能力,可能位于境外。
  • 用你自己的 API Key(BYOK)——请求经我们的后端转发给你所选的提供商。这种情况下,处理方就是你与之有直接服务关系的厂商,受它自己的隐私政策约束。

导入的聊天记录(梦信「蒸馏角色」)

梦信允许你把在其它应用里导出的聊天记录上传或粘贴进来,用来生成一个对应的角色。这个功能碰的是别人的话,所以单独说明:

  • 原始记录全程只存在于服务器进程内存里。解析结果先进一个 15 分钟自动过期的进程内缓存,任务建成后立即销毁——不写入任何数据库集合、不进访问日志、不进备份
  • 留存的只有蒸馏产物(生成的角色人设与梦茧记忆),它作为普通角色数据存储,删除角色时一并级联清理。
  • 提交前必须勾选合规声明,服务端强制校验。请只导入你本人参与且有权使用的对话,不要用它把他人的完整对话档案喂给模型。
  • 这些文本同样会随生成请求发送给你所选的模型服务商,受其条款约束。

关于密钥和训练

  • 你的 API Key 只保存在你自己浏览器的本地存储里随请求发送,不写入我们的数据库,也不写入日志(日志层对 authorization*apiKey*token 字段做了强制脱敏)。
  • 我们不会将你的对话用于训练我们自己的模型,也不会出售、出租或以其它方式向第三方提供你的个人信息用于其模型训练。
  • 大模型服务商对传输内容的使用受其各自条款约束,超出我们的控制范围。这是使用本类产品的固有风险,我们无法替你承诺。

图片、语音与推送

你发的照片

发照片给角色时,图片先在你的设备上压缩,再上传到我们的服务器落盘,然后以链接形式交给视觉模型——"发照片祂真的看得见"这个功能必然要求图片可被推理服务读取。

  • 只接受 png / jpg / webp / gif 四种格式,解码后不超过 900KB。
  • 图片在上传前已在你的设备上重新编码压缩为 JPEG(质量 85%),原始文件名与 EXIF 元数据(拍摄时间、可能写入的拍摄位置)不随文件保留;服务端存储用的文件名由随机串生成。 注意:图片通过链接直接访问,链接本身就等于访问凭证,请勿把图片链接转发给他人。
  • 删除对应的消息或角色会移除其展示与检索入口;若你希望确认磁盘上的图片文件已被彻底清除,请把位置告知我们,我们人工核对删除(见第十节)。

语音输入(「按住说话」,可选)

  • 需要你主动按住才录音;网页版需浏览器授权,Android 需授予麦克风权限。拒绝授权不影响文字输入。
  • 录音在你的设备上转为 16kHz 单声道后上传,服务器只在内存中把它转成文字——不落盘、不备份、不进访问日志、不转发给任何第三方、不用于训练。识别日志只记录字节数、时长和字数。
  • 语音转文字由我们自己部署的开源模型(Paraformer 中文)完成,跑在同一台服务器的本地端口上,不调用任何外部语音识别接口。
  • 识别结果只填进输入框,你确认发送才会成为消息;未发送的不保存。

Android 消息推送

若你开启推送,客户端定时向我们的服务器轮询待推送消息,服务器经推送通道下发通知。通知里携带的角色主动消息摘要不超过 300 字,可能包含对话内容的概括性文字,请注意他人可见的锁屏与通知栏场景。未配置推送通道的环境下不会发生该行为。

现实同步(天气)

  • 默认关闭。关闭状态下不请求天气、不做任何归属地查询。开关分「半梦」与「梦信」两个,随账号保存。
  • 开启后,服务端用你请求的来源 IP 查出城市级坐标(约 11 公里精度,四舍五入到 0.1° 格点)和时区,据此获取当地天气。数据库中只保留这个格点值,不保留 IP。
  • 只同步天气,不同步位置。注入给模型的内容里只有天气现象(阴晴、气温、风力等),城市名与坐标既不写入该内容,也不随接口返回。角色能感知"外面在下雨",无法得知你在哪个城市。
  • 你未主动打开应用时(角色主动发消息)会复用同一份格点取到的天气。

第三方服务清单

除了第三节说明的模型推理服务,本应用只连接下列外部服务。

"是否必发"为"否"的项,在你不开启对应功能时不会产生任何外部请求。
服务 域名 用途 它能看到什么 是否必发
字体分发 fonts.loli.net
fonts.gstatic.com
加载思源宋体/黑体 你的 IP 与 User-Agent(标准 HTTP 请求)
Open-Meteo api.open-meteo.com 天气数据 0.1° 格点坐标,不含账号与对话
IP-API ip-api.com 把 IP 解析为城市级坐标 你的 IP 本身
推送通道 api.jpush.cn Android 通知下发 设备推送标识与不超过 300 字的通知文本

官网和网页版加载字体时优先使用 Google Fonts 的中国大陆镜像 fonts.loli.net,加载失败则静默回退到你设备已装的衬线字体,两种情况都不影响内容显示。

本地存储明细

网页版不使用 Cookie,不使用 IndexedDB,没有 Service Worker(不会在设备上缓存对话副本;"添加到主屏幕"只是启动方式)。所有本地数据都在浏览器的 localStorage 里,你可以随时在浏览器设置中清除,或退出登录时由我们清理。当前的键位如下,全部以 banmeng.liminal- 开头:

键名 存什么 含内容正文?
banmeng.session 登录令牌
banmeng.llm 你自己的 API Key 与模型选择 否(含密钥,请勿在公用电脑上保存)
banmeng.prefs 界面与功能偏好,含内容分级开关
banmeng.theme / liminal-theme 昼夜模式选择
banmeng.hall-cache 角色大厅列表快照(离线可看) 角色公开信息
banmeng.outbox 离线时未发出的草稿消息,含图片
banmeng.taPortrait.<角色> 你为某个角色设定的"祂的样子"文本
banmeng.weatherbanmeng.weave-ledgerbanmeng.journalSeenAtbanmeng.trialPickbanmeng.modeldir 天气缓存、任务账本、已读时间、额度与模型目录等技术状态

localStorage 里的内容不随设备锁屏自动加密。在公用或他人可访问的电脑上,请退出登录(退出会清空本机这些数据),或使用浏览器访客模式。

统计与错误日志

行为统计:我们自建了一套最小限度的使用统计,请求发往我们自己的服务器,不经过任何第三方。它只记录 7 个固定行为节点——配置 Key、首次对话、首次建世界、梦茧详情打开、织茧成功、亲手修正记忆、每日活跃,且每个节点每人只记一次(每日活跃每天一次),字段仅有用户标识、事件类型、日期。它不记录页面浏览路径、不记录 URL、不采集设备指纹,因此也无法据此还原你在做什么。

日志里有没有我的聊天内容?没有。访问日志只记请求方法、URL、状态码和耗时;服务端日志框架对授权头、API 密钥、令牌字段做了强制脱敏;模型调用日志只记用户标识、审计命中词、字数和评分。会保存你输入的文本的,只有你主动提交的意见反馈、浏览器报错信息、帮助页搜索但没搜到结果的查询词、以及推送事件的通知摘要这四处,用途分别是修 Bug、改进帮助内容和把消息送到你手上。

保存期限

数据 保留多久
账号信息、对话、角色卡、世界、梦茧、上传的图片 账号存续期间无限期保留,不自动过期,直到你删除或申请注销
浏览器报错信息 30 天后自动清除
帮助页搜索的零结果查询词 30 天后自动清除
登录令牌 访问令牌 15 分钟;刷新令牌 7 天,过期即清
邮箱验证码 / 重置码 过期即删
梦信红包与主动消息等事件流 7–14 天后清除
服务器备份快照 约 2 天滚动覆盖
网关访问日志 7 天轮转

需要说明的一点:因为"会淡忘也能擦亮"的梦茧机制本身就在让记忆随时间衰减,星屑只有权重衰减而没有到期删除——衰减到看不见的记忆,仍在数据库里,直到你删除它或注销账号。

删除、注销与导出

你可以自己删的

  • 整份卷宗(对话)——删除后连带其中全部消息一并移除。
  • 单条消息。
  • 角色——删除该角色会级联清理它的卷宗、消息、梦茧三层数据、世界居民、织茧任务和角色日报。
  • 世界、世界页面、记忆条目、群、梦信会话。
  • 「重置角色」可清空某角色的全部往来记录而保留角色卡本身。

需要说明的三处不彻底

与其含糊过去,不如写清楚:

  • 撤回的消息:界面上显示为"已撤回",正文在数据库中是标记状态而非立即销毁。要彻底移除请删除该条消息。
  • 梦茧的星屑与章节:删除是标记状态,不再参与展示与记忆召回,但记录本身仍在库中。
  • 上传的图片文件:删除消息/角色不保证磁盘文件被同步物理删除。

以上三类如需彻底物理清除,请按下面注销的方式联系我们,我们会定位对应记录手工删除并回执确认。

注销账号

内测期没有一键注销。请通过第十四节的任一渠道联系我们,注明"注销",并说明注册邮箱。我们会在 15 个工作日内删除该账号下的全部数据(账号、对话、角色、世界、梦茧、图片、统计事件)并回执确认;届时候份数据无法恢复,即使你重新用同一邮箱注册也不会找回。

数据导出

你可以自助导出一份机器可读的数据副本:在「我的」页或「设置」页点「导出数据备份」,会下载一个 JSON,包含你的全部角色卡、世界设定,以及逐页取齐的完整对话记录(长卷宗不会被截断)。另有单张角色卡导出为 PNG / JSON(SillyTavern V2 格式),可分享或导入他处。

两类内容目前不在导出包内:梦茧(星屑、章节、心象卡)与你上传的图片文件。需要这两类的副本,请通过第十四节联系我们,我们会人工整理后提供。

十一未成年人保护

  • 本应用面向 14 周岁以上用户。14 周岁以下请勿注册,应由监护人决定是否在陪同下使用。
  • 我们不会主动收集儿童的个人信息;如监护人发现未成年人注册使用了本服务,请通过第十四节联系我们,我们核实后删除该账号全部数据。
  • 应用内提供内容分级控制:「纯爱模式」与「未成年模式」可屏蔽成人向内容,「心动模式」需填写生日并确认满 18 岁后开启。

请如实了解这一项的边界:内容分级开关与生日保存在你的设备本地,用于决定注入给模型的内容取向,服务端不做年龄校验。也就是说,换一台浏览器或清除本地数据后,模式会回到默认状态。因此本应用不能替代家长端的设备级管控,请把上述开关视为使用者的自助工具而非我们的强制承诺。

十二安全措施

  • 全站 HTTPS,启用 HSTS(含子域,有效期 1 年),HTTP 自动跳转。
  • 响应安全头由 helmet 统一设置:内容安全策略(CSP)限制脚本只能同源加载、禁止内联脚本,X-Frame-OptionsX-Content-Type-OptionsReferrer-Policy: no-referrer 等同步启用。
  • 跨域来源白名单,接口分级限流(登录类 20 次 / 15 分钟,模型代理 20 次 / 15 分钟,通用接口 600 次 / 15 分钟),请求体上限 1MB。
  • 密码 bcrypt 哈希;令牌散列存储并轮换;改密或重置密码时该账号全部会话立即失效
  • 第三方服务密钥只保存在服务器环境变量中,不进入代码仓库、不下发给客户端、不写入日志。
  • 内部数据看板按用户汇总展示用量与卷宗数量,需管理员凭证才能访问,用于排查故障与容量评估。我们不会 routinely 阅读用户的具体对话内容。

同时请理解:任何互联网服务都无法保证绝对安全。若发生个人信息泄露等安全事件,我们会启动应急预案,并按法规要求及时告知你事件基本情况、可能影响、已采取的措施和防范建议。

十三政策变更

本政策如有重大变更(尤其是收集范围、使用目的、第三方清单、你的权利行使方式),我们会通过应用内公告通知,重要变更另发邮件。变更后的政策自本页公布的生效日期起适用,继续使用即视为接受。

本页下方标注的生效日期即当前版本。此前 2026-09-10 版随应用内文档发布,本版(v2.0)改按线上实际实现重新核对了令牌有效期、Android 端能力、注销与删除的真实边界,并据以替换;旧版自本版生效之日起不再适用。

十四联系我们

关于隐私的任何问题,以及行使查阅、更正、删除、撤回同意、注销、数据可携带这几项权利,可以通过以下任一渠道联系:

  • 应用内:「我的」页面 → 意见反馈。这是内测期响应最快的渠道,我们会把涉及隐私处理的请求单独跟踪;若该入口当时未开放,请直接使用下面的邮件。
  • 邮件tommaso20021203@gmail.com

一般请求 15 个工作日内回复;注销与彻底删除类请求同。

如果你认为我们的处理方式侵害了你的合法权益,也可以向网信、工信部门或消费者权益保护组织投诉、举报。