# 数据边界与隐私(PRIVACY) 一句话:**本插件所有数据处理都发生在本机,不向任何外部发送任何内容。** ## 不做什么 - **不发遥测** —— 没有任何统计、埋点、崩溃上报代码。 - **不用 CDN / 远程脚本** —— 运行时零远程资源;壁纸、头像全部来自本地文件 (插件内置的 `art/`,或你自己上传的 `backgrounds/`)。 - **不读会话历史数据库** —— 不接触 `$DSH_HOME` 下的会话存储、索引或日志。 - **不读消息正文** —— 观测台的读数优先来自宿主推送的**结构化数字与状态枚举** (见下),回退路径只读**外壳已经渲染在页面上的统计行文本**,正则解析后即弃, 不存储、不转发。两条路径都拿不到消息正文(载荷是**逐字段白名单**写出的, 有断言盯着字段集)。 - **不碰凭据/模型配置/人格提示词** —— 插件只写自己的目录与设置文件。 - **不把自定义背景发到任何地方** —— 上传的图只写入你自己的 `$DSH_HOME`, 只在你本机的页面里被读取,没有任何上传到远端的行为。 ## 做什么(全部本机) | 数据 | 位置 | 生命周期 | |---|---|---| | 插件设置 | `$DSH_HOME/zhuang-fangyi/settings.json`(临时文件 + rename 原子写) | 持久;损坏时备份 `.corrupt-<时间戳>` 不覆盖原文件 | | **自定义背景**(你上传的图) | `$DSH_HOME/zhuang-fangyi/backgrounds/custom-*.{png,jpg,gif,webp}`(临时文件 + rename 原子写) | 持久,**直到你在设置页删除**;删除时同时清掉设置里对它的引用 | | HTTP 请求 | 仅发往本机宿主路由 `http://127.0.0.1:/api/zhuang-fangyi/*` | 请求-响应,不留存 | | 自检上报(`/diag`) | 宿主**内存**中的「最近一次客户端自检」,供本机排障读取 | 覆盖式,无历史累积 | | 统计行解析 | 浏览器内存 | 即用即弃 | **关于自定义背景的位置**:它**不在插件目录里**(`tools/deploy.ps1` 会先删旧目录 再复制,放里面会在每次重新部署时被抹掉),也不在 `art/`(那是内置素材的静态 白名单)。所以 `install.ps1` / `uninstall.ps1` 都不会碰它 —— 卸载插件后你上传的 图仍在原处,需要时自行删除该目录。 本插件监听的窗口事件只有 `focusin` 与 `online`(用于从宿主重新拉取本机设置), 不监听按键、不采集剪贴板、不读地理位置。 ## 观测台读数为什么也算「不读内容」 六个读数**优先**来自宿主推送(宿主事件折叠成数字与状态枚举后经 SSE 下发), 这条路径根本接触不到消息正文。回退路径(宿主给不出某个字段、或整条流不可用) 才读页面上已渲染的统计行文本。 两条路径的载荷都是**逐字段白名单**写出的:想加一个会泄漏内容的字段,测试里 那条「字段集必须恰好等于 `v,session,live,rev,state,turns,steps,usage, tokensTotal,cacheHit,rate,context,model,turnStartedAt,source`」的断言就会失败。 ## 关于「聊天导航」的说明(原计划的边界承诺已作废) 曾计划实现「页内聊天导航」(对标 Mornye),并承诺只索引当前页可见正文。 **该功能已撤销** —— 核实后发现官方已提供更强的实现(Host 侧 `turnOutline` 投影覆盖全部轮次,另有 `dsh-client-ui-trajectory` 的搜索/时间线), 本插件不再重复实现,因此也不再需要那段边界承诺。 本插件至今**没有**任何索引会话内容的代码:观测台只读外壳已渲染的统计行文本。 ## 相关文档 - 素材权利边界:[`ASSETS-NOTICE.md`](ASSETS-NOTICE.md) - 对标项目的隐私标准:[Mornye PRIVACY.md](https://github.com/is-limo/Mornye-Observation-Skin/blob/main/PRIVACY.md)(本插件按同等标准自查)