隐私与数据

它在你机器上做了什么

Eas-Term 是装在你自己电脑上的桌面软件,没有账号,你的代码和对话不出这台电脑。 它会往你的机器上写文件、读一些你可能没想到的东西,从 0.4.3 起还会发一份 匿名的使用统计(只有时长和功能计数,可以关)—— 这一页把每一条都列出来, 包括怎么全部撤销。

一句话版本

  • 没有账号,不生成任何设备标识或用户 ID,不做崩溃上报。 从 0.4.3 起有一项匿名使用统计(使用时长 + 功能次数,默认开启,设置里一键关闭)—— 它不含任何能跨天认出你的标识。
  • 你的代码、笔记、录音、对话默认都不出这台电脑。唯一的例外是你主动点的那个「AI 简述」按钮(下面第 3 节写清楚了)。
  • 它会往你的 home 目录写东西 —— 主要是让 Claude Code / Codex 认识这块画布。全部可以一键撤销,写之前都留了备份。
  • 有一处是不问自取的:把自己注册成 MCP 服务。这是唯一未经询问就动你全局配置的地方,我们把它单列出来说明。

一、它在你机器上写了哪些文件

1.1 把自己注册成 MCP 服务(唯一不问自取的一处)

为了让 Claude Code / Codex 能操控画布,软件启动时会往下面两个文件里加一条记录:

  • ~/.claude.json 的 mcpServers["eas-term"]
  • ~/.codex/config.toml 的 [mcp_servers.eas-term]

这一步是静默的,没有弹窗问过你。我们认为这个设计是可以接受的, 前提是后面两条必须成立 —— 而它们确实成立:

  • 可见:软件里「扩展能力」面板列出了它写过的每一个位置。
  • 可撤:面板里点「移除」就干净卸掉,只删我们自己那一条,你原有的其它 MCP 配置一个字都不动。
  • 有备份:改写这两个文件之前会先存一份 .eas-backup。
  • 只在你已经装过对应 CLI 时才写:没装 Claude Code 就不碰 ~/.claude.json,没有 ~/.codex 目录就不碰 Codex 的配置。

另外:通信端口和访问令牌不写进这些配置文件。它们只通过 Eas-Term 自己开出来的终端的环境变量传递, 所以那条配置本身不含任何机密,服务也只监听本机回环地址(127.0.0.1),不对外网开放。

1.2 使用指引(要你点「安装」才写)

第一次打开时会问你要不要装「使用指引」—— 一段告诉 AI「你运行在一块画布里、什么时候该把产出开成预览」的说明。 点了「安装」才会写,点「以后再说」或「永远不要提醒我」就什么都不发生。装的话写三个位置:

位置内容
~/.claude/skills/eas-term/(整个目录)指引。一份常驻的入口说明 + 几份按主题拆开的正文(画布操作、生图、密钥、知识库),AI 只在用到时才读对应那份
~/.codex/AGENTS.md只写一小段路由(几百字),夹在 eas-term:begin/end 标记之间。标记之外你自己写的内容一个字不动
~/.eas/agent/(整个目录)上面那几份正文的副本。Codex 没有技能机制,只能把正文放在这里、由 AGENTS.md 里的路由按路径指过来

面板里点「卸载」全部删掉,改写 AGENTS.md 前同样留 .eas-backup。

1.3 「提交即复盘」钩子(默认关闭,要你手动开)

这是侵入性最强的一项,所以默认不装,必须你在「扩展能力」面板里主动点「开启」。 开启后会往 ~/.claude/settings.json 的 hooks.PostToolUse 和 ~/.codex/hooks.json 各加一条记录。

关于触发频率,需要说得比「提交时触发」更准确:

它挂在 Bash 工具调用上,也就是说 —— 你在任何项目里、每一次让 AI 跑 shell 命令, 都会启动一次我们的脚本,不限于 git 提交,不限于用 Eas-Term 的时候,直到你卸载它为止。

实际上绝大多数情况它在几毫秒内就退出了:脚本第一件事是看这条命令里有没有 git commit, 没有就直接结束。但你有权知道它确实每次都被唤起了。

确实是一次 git 提交时,它会做这些事:

  • 读:这次提交的代码 diff(只看新增的行)、随包的名词词库、你自己的词库。
  • 写:项目内的 docs/knowledge-data.json(进度记录)和 docs/knowledge-manual.html(一份可以直接打开看的名词手册)。
  • 不联网:这个脚本里没有任何网络请求,你的代码不会因为它离开这台电脑。

会进入 AI 对话的只有一句话,形如「新收录了 3 个名词」或「发现 2 个没收录的术语」。 原始代码 diff 不会被塞进对话,因此也不会随对话上行到模型厂商。

关于花钱:扫描和生成手册是纯本地的,不消耗任何 token。 但「让 AI 补全术语解释」需要模型干活,那是要花你的钱的 —— 所以它是另一个独立开关,默认关。 装了钩子不等于同意花钱,这两件事我们特意分开了。

1.4 软件自己的配置目录 ~/.eas/

  • dict-user.json —— 你自建的名词词条
  • dict-pending.json —— 钩子扫出来的待补全术语(含项目文件夹名)
  • dict-sink.json —— 上面说的那个补全开关
  • roles.json —— AI 角色配置
  • agent/canvas.md —— 见 1.2

1.5 密钥柜(如果你启用了它)

密钥柜是给 API key、访问凭证这类东西准备的。它不是普通配置, 所以单独说清楚存在哪、怎么保护、以及它做不到什么。

  • <应用数据目录>/secrets.json —— 密钥密文、名字、备注、 变量名,以及六位码的 scrypt 哈希。文件权限 0600,目录 0700。 不在 ~/.eas/ 里,因为那个目录是 0755(同机其他用户可读)。
  • 加密主密钥在系统钥匙串里(macOS 的 Keychain 条目 Eas-Term Safe Storage;Windows 走 DPAPI,密钥的另一半在同目录的 Local State)。所以把 secrets.json 拷到另一台机器解不开 —— 这一条我们实测验证过。

它承诺什么:密钥不会出现在你和 AI 的对话里,不会写进会话记录 (~/.claude/projects/*.jsonl),不会上传给模型厂商,也不会进 shell history。 用的时候由本机直接注入终端的环境变量。

它不承诺什么:「AI 读不到」。密钥一旦注入某个终端, 在那个终端里跑命令的 AI 执行 echo $KEY 就能看见 —— 同一个进程里的东西没法对该进程隐藏。我们能做的是不主动交给它、 并在给 AI 的规则里明确禁止它去打印;做不到的部分不会假装做到。

密钥值只在两个地方离开本机进程:注入终端环境变量,以及你自己点「复制」时进系统剪贴板。 这两条都不经过网络。软件里没有任何一处会把密钥值发到互联网上。

1.6 你的项目文件夹里

软件能改你文件的范围是有明确边界的:只有你自己在侧栏加过的项目文件夹,和你自己指定的知识库文件夹。其它任何位置(包括你的 home 目录、系统目录、别的项目的兄弟目录)一律拒绝。

这个边界是按真实路径判定的(会解析软链接),所以在项目里放一个指向别处的快捷方式也绕不过去。

删除文件一律是「移到废纸篓」,不是永久删除(用系统的废纸篓,你随时能捡回来)。 软件里没有任何一处会真正抹掉你的文件。

二、它读了你哪些数据

下面这些都是本地读取、用完即弃、不上传、不缓存到磁盘,但因为不那么显而易见,必须列出来。

读什么用来干嘛
~/.claude/projects/**/*.jsonl
(你和 Claude Code 的完整对话记录)
软件里的「对话导航」视图 —— 让你能翻回去看这个项目里聊过什么。包括你发过的图片。
~/.codex/sessions/**/*.jsonl 的文件头 只读开头几 KB,取出会话 id,用来把终端和它自己那条会话绑定上(这样「回溯上次对话」不会串到别的终端去)
~/.codex/config.toml 列出你配了哪些 MCP 服务,好让你在角色设置里选择禁用其中某些
剪贴板 只在你按粘贴的时候读。没有任何后台或定时的剪贴板读取。

第一条值得强调一下:本软件会读取你与 AI 的历史对话原文。 这些内容一个字节都不会离开你的电脑,我们也不写副本 —— 但你应该知道这件事,而不是哪天自己发现。

三、它什么时候联网

软件没有崩溃上报。会产生网络请求的只有这几种情况:

什么时候连去哪传了什么
启动 12 秒后,之后每 6 小时(检查有没有新版本) eas.biily.top 只取一个版本号文件,不发送任何关于你的信息。 设置里关掉「启动后自动检查新版本」就不再发生。
每 5 分钟一次,以及退出时(匿名使用统计) eas.biily.top 使用时长与功能计数,无任何标识符。设置里关掉即完全不发 —— 明细见第四节。
你第一次点麦克风、且语音模型还没下载 hf-mirror.com 只下载模型文件,不上传任何东西。不用语音就永远不会发生。
你打开「笔纵画板」相关面板、且本机没装它 bzone.biily.top 取一个安装包下载地址。不发送你的任何信息。
你在画布里开浏览器节点 你输入的网址 就是个普通的 Chromium 浏览器,和你平时上网一样。
AI 在回答时判断需要查资料(用内置 AI 底座时) 它要搜的那些网页 搜索用的关键词。这是 AI 自己决定的,不是你点了什么才发生 —— 设置里打开审批(「AI 对话」那一栏),它动手前会先停下来等你点。
你点了 Git 面板某条提交的「AI 简述」 你自己的 Claude CLI → Anthropic 那次提交的代码 diff(前 6000 字)

最后一条是唯一会把你的内容主动送出本机的功能,所以单独说明:它走的是你自己已经登录好的 Claude 命令行工具,等同于你自己把这段 diff 贴给 Claude。我们不经手、不留存、不做中转, 数据到了那边之后适用 Anthropic 的条款。不点这个按钮就不会发生。

四、匿名使用统计(默认开启,可以关)

这是整份说明里唯一一处「软件主动往外发数据」的地方,所以写得比别处细。 目的只有一个:知道有没有人在用、哪些功能根本没人碰。

会发的

  • 使用时长(每 5 分钟一次心跳,退出时补一次)与启动次数
  • 版本号、操作系统大类(macOS / Windows / Linux)、CPU 架构
  • 功能计数:新建了几个终端、几个画布节点、用了几次语音、贴了几张图、 从灵动岛跳转几次、在灵动岛处理了几次审批、切换视图几次、 新建了几个 AI 对话面板
  • 使用龄的粗分桶(首日 / 2–3 天 / 4–7 天 / 8–30 天 / 30 天以上)。 「你用到第几天」这个账本只存在本机(telemetry-age.json, 里面只有三个数:首个使用日、活跃过多少天、最后活跃日), 这个文件永远不会上传;发出去的只有那个分桶。 桶不是标识符 —— 同一个桶里有很多人,服务端拿它认不出任何个体, 也无法把今天的某人和昨天的某人对上。

不会发的(一个字节都不会)

  • 终端里的任何字符 —— 命令、输出、报错
  • 文件路径、文件名、项目名、目录结构
  • 与 AI 的对话、提示词、模型回答
  • 密钥柜里的任何内容、剪贴板、你粘贴的图片
  • 任何能跨天认出你的标识符。软件不生成设备 ID、不写 Cookie。 活跃人数由服务端按「当日 IP + UA 哈希」估算,隔天就对不上。
    留存分布是靠上面那个「本地算、只报桶」的办法拿到的, 这一条禁令一个字没放宽:服务端始终没有能把你跨天串起来的东西, 看得见「今天有几个老用户」,认不出他们是谁。

怎么关

标题栏最右的设置 → 隐私 → 取消勾选「发送匿名使用统计,帮助改进」。 关掉之后一条请求都不会发出去(不是少发几个字段,是完全不发), 已经攒着还没发的计数也会当场丢弃。

这一条是新增的:0.4.2 及更早的版本没有这项统计,这一页当时写的是「不做使用统计」。 0.4.3 加上了它并默认开启。如果你不接受,用上面的开关关掉; 更新日志里也单独写了这一条,不打算让它悄悄溜过去。

五、知识库:AI 会动你的文件吗

会,但范围很窄,而且每一次都要你点头。

  • 只会「移动」,不会删除或改写你的原件。把收件箱里的素材搬进 sources/年月/ 归档, 重名自动加后缀,不覆盖。
  • 必须你逐条确认。AI 只能提出一份归档计划,软件会停下来等你在界面上过目、 你点了同意才真的动手,你取消就什么都不做。
  • 可以回滚。如果你点过「用 git 管起来」,每批归档都是一次提交,能整体撤销; 回滚之前还会先把当前状态提交一次,不会把你新写的东西弄丢。这个 git 仓库不会自动创建, 要你主动点。
  • 往收件箱里放东西默认是复制不是移动,你原来那份文件还在原地。
  • 知识库内容怎么给到 AI:只通过软件内置的一个专用工具,而且这个工具只在 Eas-Term 自己开出来的终端里可见。你在系统终端或别的软件里起 Claude,它连这个工具的存在都发现不了, 更读不到你的知识库。
  • 不想用了,「解除绑定」只是让软件忘掉这个位置,不删你任何文件。

五之二、随安装包附带的第三方程序

软件里内置了一个可直接使用的 AI 底座 Oh My Pi(开源,MIT 许可), 这样你不装任何东西也能开始对话。它随安装包一起分发,不会在你用的时候偷偷去下载什么。

  • 它的配置、会话记录、凭证全部关在软件自己的目录里 (应用数据目录/omp),不碰你可能自己装过的那一份。
  • 登录和密钥都交给它自己保管:你在界面上点登录,它把凭证存进 自己那份数据库(前面说的软件自己的目录里),过期了也由它自己续。 我们不经手、不复制、不往别处写一份。
  • 它联网连两个地方:你自己选的那家模型服务商(以及查你自己账号的额度), 以及 —— 如果 AI 在回答过程中判断需要查资料 —— 它要搜的那些网页。 后者是 AI 自己决定的,不是你点了什么才发生; 不想要就在设置里打开审批(「AI 对话」那一栏),它动手前会停下来等你点。
  • 本机会存一份额度快照用于显示进度条,里面不含账号邮箱。
  • 它的完整第三方许可声明随安装包附带,在 Eas-Term.app/Contents/Resources/omp/THIRD-PARTY-NOTICES.txt。

六、语音输入与音视频转录

这一块最容易被误解,所以说细一点。

  • 识别全程在你的电脑上跑,用的是随软件附带的开源模型。 音频不上传、不落盘 —— 录音只在内存里存在几秒,识别完就丢,只有识别出来的文字留下。
  • 但第一次用要联网。模型文件(约 300MB)不随安装包附带,第一次点麦克风时才下载。 下完之后就完全离线了。「本地识别」和「完全不联网」是两件事,这里说清楚。
  • 往知识库收件箱里放音视频会自动转录。放进去就开始跑,不会额外问你。 同样是本机识别、不花钱、不联网,逐字稿存在收件箱下的一个隐藏文件夹里,不会混进你的笔记正文。 也就是说 —— 你拖进去的会议录音,软件确实把它转成文字存下来了,但那份文字只在你自己的硬盘上。
  • 麦克风权限走 macOS 系统授权,你可以随时在系统设置里收回。

七、怎么把它写的东西全部撤销

软件里有个「扩展能力」面板(标题栏上那个),列出了它在你机器上写过的每一个位置, 每一项旁边都有卸载按钮:

  • 使用指引 —— 点「卸载」,删掉 1.2 说的那三个文件
  • MCP 接入 —— 点「移除」,从两个 CLI 配置里摘掉我们那一条
  • 提交即复盘钩子 —— 点「关闭」,摘掉钩子记录
  • 知识库 —— 显示当前位置,「解除绑定」不删文件

所有改写全局配置的操作都会先留一份 .eas-backup,实在不放心可以直接拿它覆盖回去。

剩下的是删掉 ~/.eas/ 目录和应用本身。 注意:如果你用过密钥柜,删 ~/.eas/ 删不到它 —— 它在应用数据目录里(见 1.5),而且加密主密钥另外存在系统钥匙串。要彻底清干净还得两步:

  • 删掉应用数据目录下的 secrets.json(Windows 上连同 Local State)
  • 在钥匙串里删掉 Eas-Term Safe Storage 这一条 (macOS 的「钥匙串访问」搜这个名字即可)

顺序无所谓,但两个都删了才算干净 —— 只删其中一个,剩下的那半份是解不开的废数据。

八、关于这份说明

这一页是对着代码逐条核对写出来的,不是模板。如果你发现哪一条和软件的实际行为对不上, 那是我们的疏漏,请告诉我们 —— 软件是开源的,每一条都可以自己去代码里验证。

九、关于这个网站(和软件是两回事)

上面几节讲的都是装在你机器上的那个软件 —— 它没有账号, 你的代码和对话不出这台电脑;它唯一往外发的是第四节那份匿名使用统计。

但你正在看的这个网站(eas.biily.top)会记一份匿名的访问统计, 用来知道有多少人来过、下载了哪个版本。这一节把它记什么、不记什么写清楚。

会记的

  • 页面路径与停留时长 —— 比如「有人在下载页停了 40 秒」
  • 来源域名 —— 只取域名,路径和查询参数一律丢掉
  • 操作系统大类 —— macOS / Windows / Linux 这种粒度
  • 下载按钮的点击,以及服务器日志里真实完成的下载(哪个版本、哪个平台)

不会做的

  • 不写 Cookie,也不写 localStorage。会话编号只存在 sessionStorage 里,关掉标签页就没了
  • 不生成任何持久或跨天的标识。独立访客是服务端按「当天的 IP + 浏览器标识」哈希现算的, 隔天同一个人就对不上了,没法追踪你昨天来没来过
  • 不加载任何第三方脚本,统计代码就是本站的一个几 KB 的文件,没有外部分析服务
  • 不采集输入内容、不读剪贴板、不做浏览器指纹(不采集分辨率、字体、canvas 这些)
  • 落盘的统计结果里没有任何 IP 或浏览器标识原文,只有聚合后的计数

怎么不参与

浏览器里开启「请勿追踪(Do Not Track)」或全局隐私控制(GPC),统计脚本会整个不工作—— 不是少记几项,是一个请求都不发。用广告拦截器屏蔽 /analytics.js 也一样, 网站的所有功能都不依赖它。

服务器的原始访问日志保留 90 天后自动删除。

最后更新:2026 年 8 月 · 对应版本 0.4.0