TL;DR 在 macOS 下通过 open 命令启动应用,会向被启动应用广播当前的环境变量,使得被启动应用读取到了预期之外的环境变量。因此在 agent 或者其他自动化程序中使用 open 命令启动程序的时候需要谨慎。建议通过 env -i 剥离环境或让用户手动启动。 场景重现 症状 我通过 Telegram 和本机的 OpenClaw 沟通 RIME 配置的间隙,通过 TinyCast 启动了 DeepSeek Harness Desktop 和 Mirasim。 Mirasim 意外的读到了环境变量中的 TELEGRAM_BOT_TOKEN 进而开始跟 OpenClaw 抢通道,使得我之前的聊到一半的会话环境完全发生了改变: model、 workdir、上下文都变了。 原因 由于前几天我让 OpenClaw 帮我写了一个基于 Bilibili 翻译模型 API 帮我写了个本地 API服务和 TinyCast 插件,以用于陪读娃或者其他翻译场景。因此完成后 OpenClaw 自行重启了 TinyCast 让插件生效。使得当时重启后的 TinyCast 带上了 OpenClaw 的环境变量信息( ~/.openclaw/.env ),进而使得通过 TinyCast 启动的所有程序都带上了这些环境变量信息。 今晚在启动 Mirasim.app 的时候,它就读到了环境变量里的 TELEGRAM_BOT_TOKEN 并且把它当作了自己的 IM 通道,于是正好就在 OpenClaw 闲置的时候抢走了通道,我后面回来继续发消息时候就发到了 Mirasim 里去。 解决方案当然就是重启。 主要是提醒大家让 agent 或者其他自动化程序直接通过 open 命令启动另一个程序的时候要谨慎。原本的环境变量的敏感信息可能会被传递给别的程序。 1 个帖子 - 1 位参与者 阅读完整话题


  • 情报分类:技术学习与提效
  • 分类依据:内容涉及技术、AI、软件工具或工程实践
  • 信息来源:服务器 / LINUX DO - 最新话题
  • 发布时间:2026/10/18 23:45:40