news 2026/10/17 19:24:17

StashBase遥测与用量统计透明解读:它到底收集了什么?如何一键关闭?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
StashBase遥测与用量统计透明解读:它到底收集了什么?如何一键关闭?

【免费下载链接】stashbase

An open-source, local-first writing workspace where you can write with Claude Code and Codex, drawing on your own sources and past work.

项目地址:https://gitcode.com/gh_mirrors/st/stashbase
点击查看免费下载

StashBase 是一款开源、本地优先(local-first)的写作工作台,让你可以带着 Claude Code 和 Codex 一起写作,并引用自己的资料与过往作品。不少新用户都会关心同一个隐私问题:**StashBase 遥测到底上传了什么数据?能不能一键关闭?**本文基于官方文档与源码给你一份完整、透明的解读,并附上最快的一键关闭方法。

一、先说结论:默认开启,但只收集"骨架数据"

官方桌面版(Official Desktop Builds)默认会将产品活动事件和详细的错误诊断发送到 PostHog 分析平台。核心规则只有一条:

设置(Settings)→ 通用(General)→ 隐私(Privacy)→Share usage statistics(共享使用统计),一个开关同时控制活动统计与错误诊断。

而且关掉之后,所有功能照常可用,不会有任何功能降级。开发版构建以及没有配置上报地址的构建则完全不发送任何数据。

二、StashBase 收集了哪些遥测事件?

官方事件白名单只有十几类,全部定义在 shared/protocols/http/telemetry.ts 中,逐一对应如下:

事件含义附带字段
app_opened工作区挂载(每个宿主生命周期仅一次)无
app_active可见且聚焦窗口内收到真实指针/键盘/滚轮输入模式:welcome / documents / chat
document_engaged在文档界面内交互或真实编辑阅读/编辑、文件格式
agent_turn_started/agent_turn_finishedAgent 对话轮次开始与结束运行时、成功/失败/取消/拦截、耗时分档
document_write_result编辑器保存结果成功/失败/冲突
project_entry_result打开项目操作的结果结果状态
account_login_*/account_signed_out登录流程开始、成功/失败、登出结果状态
billing_*/subscription_observed获取结账页/管理页的结果、订阅权益确认计划档位(有界枚举)
agent_setup_result/agent_setup_stageAgent 安装与连接各阶段运行时、阶段、结果
application_error/application_warning宿主/渲染端/Agent/原生组件的失败或降级受限的诊断文本

几个值得注意的"克制设计":

  • 📉不是心跳:app_active和文档活动事件在全应用范围内每分钟最多计一次;后台空闲进程、自动刷新、流式输出都不会算作"活跃"。
  • 📝不记录文字:编辑事件不含任何文本内容或按键记录。
  • 🔁错误去重:相同的错误在窗口期内(错误 1 分钟、警告 10 分钟)只上报一次并累计occurrences次数,避免重复刷屏。

三、它永远不会收集什么

这一点在 docs/usage-statistics.md 中有明确承诺:

  • ❌ 文档内容、聊天记录、提示词/回复原文
  • ❌ 搜索查询、剪贴板内容、截图
  • ❌ 硬件指纹、完整原始日志、内容哈希
  • ❌ DOM 点击捕获、会话回放(session replay)、页面浏览追踪、AI 调用追踪

需要坦诚说明的一点:错误诊断可能包含出错操作提及的文件路径、URL 或名称,已知凭证(API Key、Bearer Token、私钥、Cookie 等)会在采集时和发送前被双重过滤,但官方明确这是"定向过滤",不承诺从诊断文本中删除所有个人细节。

四、匿名 ID 是怎么工作的?

  • StashBase 会生成一个随机的安装 ID和一个独立的匿名 ID,两者都不来自硬件,因此无法关联到你的设备。
  • 登录 StashBase 账号后,匿名历史会通过稳定的账号 ID关联到你的账户——注意,用的不是邮箱、姓名或头像。
  • 退出登录或切换账号会生成新的匿名身份,历史不会跨账号合并。

五、一键关闭:最快配置方法

关闭遥测只需 3 步,10 秒搞定 ⏱️:

  1. 打开 StashBase,进入设置(Settings)
  2. 依次点击通用(General)→ 隐私(Privacy)
  3. 关闭Share usage statistics开关

该开关的界面实现在 renderer/src/features/settings/ui/general/telemetry-group.tsx。关闭瞬间,后端会立刻做以下清理(见 server/telemetry.ts 的update逻辑):

  • ⚡ 取消所有待发送的网络请求
  • 🗑️ 删除本地事件队列(最多缓存 500 条、保留 7 天)
  • 🧹 抹除全部本地分析身份、原生诊断文件与抑制标记
  • 🔕没有"最后的告别请求"——关闭开关后不会再向网络发任何通知

六、关闭后要知道的三件事

  1. 已发送的数据无法撤回。这个开关只能阻止未来的采集,之前已传输的事件无法通过它删除。
  2. 重新开启是"全新开始":会生成全新的本地 ID,不会回填关闭期间的活动。
  3. 本地缓存队列:事件是先原子写入本地配置目录再发送的,队列上限 500 条(server/telemetry-state.ts 中的QUEUE_LIMIT),限流为每分钟 120 条,且遥测从不阻塞你的写作操作或应用退出。

七、进阶:给开发者和 Fork 用户的提示

  • 自动化测试环境下(NODE_ENV=test、Vitest、Jest)会自动禁用生产采集,无需手动处理。
  • 手动验证打包版时,可用环境变量强制关闭:
    STASHBASE_TELEMETRY_DISABLED=1 # 启动前设置,优先级高于一切设置项
  • Fork 项目时请注意:server/telemetry-destination.json 内置了 PostHog 上报地址与公共摄取令牌,官方建议 Fork 后清空或替换它。

八、延伸阅读

  • 📄 完整遥测说明(事件语义、保留策略、去重机制):docs/usage-statistics.md
  • 🔧 采集主逻辑(身份、准入、会话归因、退出开关):server/telemetry.ts
  • 📡 事件协议与严格字段白名单:shared/protocols/http/telemetry.ts
  • 🧭 设置项路由(/api/telemetry):server/routes/telemetry.ts
  • 💻 安装与平台要求:docs/installation.md

一句话总结:StashBase 的遥测只关注"你在用、用得顺不顺、哪里出错了",不碰你的文档与对话内容;如果你追求极致隐私,进设置 → 通用 → 隐私一键关闭即可,且无需付出任何功能代价。

【免费下载链接】stashbase

An open-source, local-first writing workspace where you can write with Claude Code and Codex, drawing on your own sources and past work.

项目地址:https://gitcode.com/gh_mirrors/st/stashbase
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/17 19:24:01

智能体人格注入的工程化落地:从人设提示词到一致性评测

很多人第一次接触“智能体人格注入”这个说法,都会以为是在System Prompt里多写几句“你是一个热情、专业的助手”就完事了。我早期也这么干过,结果项目上线没几天就被用户吐槽:“这个AI怎么今天像客服,明天像老师,后天…

作者头像 李华
网站建设 2026/10/17 19:22:49

用LLM构建高中作文自动批改应用:评分量表、RAG与回归校验

简介:面向高中语文教师、教育研究者和LLM应用开发者的高中作文自动批改工具源码包。项目将大语言模型引入作文批改场景,通过深层语义分析识别语法错误、逻辑矛盾与表达不当,并依据高中作文评分标准在结构、逻辑、文采等维度自动评分&#xff…

作者头像 李华
网站建设 2026/10/17 19:22:18

H.264 Skip与Direct模式:MV和ref_idx推导全解析

1. 帧间预测里最容易被忽略的两个模式:Skip 和 Direct做视频编解码的朋友,尤其是啃过 H.264/AVC 标准的,大概率都有过这种体验:帧内预测还好,无非就是九种模式挨个算一遍 SATD 或者 SAD,选最小的那个就完事…

作者头像 李华
网站建设 2026/10/17 19:20:52

i2 Notebook零基础入门:从话单分析到关系网络可视化实战

简介:这份资源是面向安全调查、金融风控与数据分析从业者的 i2 Analysts Notebook 8 中文培训教材,以 doc 文档形式系统讲解如何用 IBM 这款专业可视化分析工具处理话单与银行数据,适合零基础入门到进阶实战的学习者。压缩包内共 1 个 doc 文…

作者头像 李华
网站建设 2026/10/17 19:20:10

RAG检索精度优化:使用LangChain4j实现重排序(Rerank)的完整指南

最近我在做内部知识库问答系统时,被一个问题折磨了好几天:向量检索召回的内容明明“意思上”很接近,但结果排序就是不对味。问“数据库连接池耗尽怎么排查”,排在最前面的文档却是讲线程池参数的,真正讲排查步骤的那篇…

作者头像 李华
网站建设 2026/10/17 19:19:47

跨模态检索指标mAP全解析:公式、手算案例与Python实现

我参与一个跨模态检索项目时,最常被问到的不是模型结构怎么改,而是“你报的mAP到底怎么算的,为什么我按同一个测试集复现,数值能差出两个点”。跨模态搜索本身不难理解:给定一段文字描述,把它当作query&…

作者头像 李华