安卓修改大师智改工坊 · 技术专栏

API 密钥:放在哪里,如何保护

DSH 的"思考"发生在远端:会话需要补全时,请求会发往你配置的模型服务商, 模型权重并不在手机上运行。而证明"这个请求是你发的、账单算你的"的唯一凭证, 就是 API 密钥。它值得你花几分钟认真对待。

在这套环境里,密钥是什么

在 DSHBox 中,模型一侧是在 DSH WebUI 里配置的:一个接入点、一个模型名、 一个 API 密钥。DSH 把密钥和它自己的配置一起存放在 user-data/.dsh,位于应用私有存储内。安卓应用本身不索要密钥, 也不保留副本。

配好之后,每次补全请求都带着这把密钥发往你设置的接入点。中间没有 DSHBox 账号——密钥就是你与服务商之间的全部关系。

谁真的能读到它

运行在应用环境里的任何东西都能。Debian guest 与安卓应用共享同一个 UID, 而 PRoot 是兼容层,不是安全边界。你在终端里跑的脚本、DSH 应模型要求执行的 命令,读的是同一块存储。

实用结论:密钥的安全性完全等于你运行的代码的可信度。如果一段来路不明的 脚本你不会在笔记本上跑,就别在密钥旁边跑。完整分析见 《PRoot 不是沙箱》。

保护密钥的习惯

  • 绝不把密钥粘贴进提示词。对话里的内容会成为会话历史, 而会话历史会作为上下文发给服务商。
  • 绝不把密钥写进 /root/projects 下的文件。 那是你的工作区,工作区里的东西迟早进仓库;被提交的密钥比任何疏忽都活得久。
  • 密钥只放在配置里。user-data/.dsh 是应用私有的, 仓库里的 .env 不是。
  • 优先用带消费上限的密钥。服务商支持限额就一定要设。
  • 泄露就轮换。密钥泄漏不是教训,是待办:吊销旧的,换新的。

日志和导出会记住

终端保留最近 150 行命令历史,诊断视图分别保留 DSH、沙箱和 guest 命令日志的 最近 150 行,都可以在"设置 → 诊断与日志"里导出。密钥可能藏在三个地方:

  • 粘贴进命令的密钥(比如 export API_KEY=...)会留在终端历史里;
  • guest 命令可能出现在导出的诊断日志中;
  • 粘贴进聊天消息的密钥会留在会话历史里。

这些内容不会自己离开设备,真正的风险发生在你分享的时候:把导出文件附到 问题报告之前,先搜一遍密钥、涂掉,再上传。

备份里也有密钥

包含配置的工作区备份会一并复制 user-data/.dsh——密钥也在里面。 下载目录里躺着的导出压缩包就是一个秘密,请按秘密对待。备份包含哪些内容, 见 《DSHBox 把数据存在哪,怎么备份》。

DSHBox 不做的事

出于诚实,把不提供的东西也列出来:没有密钥保险库,不宣称静态加密, 也不会替你擦除终端历史。应用给你私有存储和一个真终端,其余靠你的习惯。 配置服务商之前,过一遍这份清单:

检查项为什么重要
密钥只在 DSH WebUI 配置中输入配置存储是应用私有的;提示词、脚本和仓库都不是
给密钥设置了消费上限泄漏时把损失封顶
分享前先涂掉终端与诊断导出里的敏感内容两者都可能带最近 150 行命令
包含 .dsh 的备份按秘密对待配置备份等于密钥副本
泄漏过的密钥已轮换泄漏之后唯一可靠的补救

会话期间到底有什么数据离开设备,见 《"本地运行"到底意味着什么》; 第一次配置密钥的完整流程,见 《第一个 DSH 会话》。

安卓修改大师 · 智能修改安卓版

想直接在手机上完成改包?智能修改安卓版把本地 Linux 沙箱、AI 对话与一键出包装进一个 App,只需说话就能让应用变成你想要的样子。

立即下载