Mirasim Build Fund$100 – $10,000面向开发者的免费额度,无需偿还。仅 500 席立即申请
← Mirasim 教程第 13 章

手机、聊天软件与编辑器

安卓客户端、七个聊天渠道、VS Code 插件,以及把桌面端指向另一台机器。

阅读约 11 分钟,共 6 节,属于「各端使用」

Mirasim 提供的各端#

通常你的 Mac 既是服务端,也是数据的唯一来源。其余各端都是进入它的通道:已配对的安卓客户端和已配置的聊天渠道各走自己的传输方式,VS Code 插件内置独立服务端,桌面端也可以改为指向你自行部署的 macOS 或 Linux 服务器。

各端的用途
桌面端
主要的多智能体工作台,同时作为本机服务端。Apple 芯片的 macOS,DMG 安装,要求 macOS 13 及以上。
安卓端
配对使用的随身客户端,用于查看会话、发送指令、处理待决事项、接收通知和查看对话中的图片。已签名的 APK,要求 Android 8.0 及以上。
iPhone
iOS 上的同一款随身客户端,目前仍在内测:通过 Apple 的 TestFlight 测试通道分发,公开邀请尚未开放。要求 iOS 15 及以上。
命令行与终端界面
内置智能体、透明启动 Claude 与 Codex、控制服务端、管理账号、自检和自动化。独立的 darwin-arm64 压缩包。
VS Code
把同一套工作台放入编辑器,并运行内置的服务端。.vsix 安装,要求 VS Code 1.90 及以上。
聊天渠道
远程发送指令、查看实时进度、由人处理待决事项、接收产物回复。支持 Telegram、飞书、Slack、Discord、钉钉、企业微信和微信。

安卓客户端#

安装已签名的 APK 并与服务端配对之后,你在任何地方都可以查看会话、发送指令、处理正在阻塞工作的待决事项,并在有事项需要你时收到通知。配对带有密钥:当配对码包含服务端的端到端公钥时,该连接使用应用层端到端加密。

  1. 在服务端开启远程访问

    在设置的「连接」中配置:本机可以仅限本地访问,也可以在局域网内可达,或者通过中转地址在互联网上可达。如果这台机器本身有公网地址,填入之后客户端会直接连接。

  2. 完成手机配对

    在客户端中扫描服务端的二维码,或粘贴连接码。连接码中包含访问令牌,只应提供给你信任的人。

  3. 把它作为随身客户端使用,而不是第二套工作台

    手机端针对适合单手完成的操作设计:查看进展、回答问题、排入下一条指令、解开被阻塞的决定。

手机的设置里有一项「运行账号」:那台机器上的对话用哪个订阅账号跑,每个账号都显示自己的用量。切换从下一轮开始生效,正在跑的这一轮仍用原来的账号。添加账号需要粘贴一串凭据,那件事更适合在电脑上做;手机只负责在已有账号之间挑一个。

手机还可以升级与它配对的那台电脑,机器在家里而人不在时这一点有用。执行前会先问一次,因为升级会重启那台机器上的应用并断开当前连接——重新连上就是升级成功的凭证。

配对的设计目标是比它建立时所在的那个网络活得更久。手机和服务端在同一个局域网时优先走局域网,不在时改用中转地址,而这个地址由服务端自己找到,不需要你去配。手机暂时连不到这台机器时,面板会说明,链路会自行重连,你不需要重新配对。背后的凭据加密保存,并与签发给它的那台设备绑定,因此凭据被复制到别处也用不了。

聊天渠道#

接入一个聊天平台之后,你的工作区就可以从对话中访问:发送指令、查看进度、处理待决事项、接收产物。所有支持的渠道都使用长连接模式,因此都不需要公网 IP,也不需要对外开放回调地址。

七个渠道,各自需要不同形式的凭据
Mirasim 的聊天渠道设置界面,列出支持的渠道以及各自尚未完成的配置。

七个渠道每一行都明确标出是否已连接、还缺少什么。因此配置到一半的渠道是可见的,不会表现为无故没有响应。(该控件不在当前这一屏上)

这块面板上的按钮可以直接点,点着看看。

各渠道需要提供的内容
渠道需要提供
Telegram从 @BotFather 获取的机器人令牌;另可提供允许的会话 ID 名单,限制使用范围。
飞书应用的 App ID 与密钥、启用机器人能力、导入消息相关权限,并把事件与回调均设为长连接模式。
Slack启用 Socket Mode 并配置应用级令牌,另需机器人令牌,以及消息和被提及两类事件订阅。
Discord已启用消息内容权限的机器人令牌,并把机器人邀请进某个服务器。
钉钉从企业内部应用或机器人应用获取 Client ID 与密钥,启用机器人能力,事件使用 Stream 模式。
企业微信在管理后台获取智能机器人的 ID 与一次性密钥,之后该渠道会保持一条长连接。
微信扫码登录并在手机上确认;只有校验通过之后该渠道才会启用。

每个渠道的配置面板都按自身步骤依次引导,并在启用之前先校验凭据,因此密钥填错会在配置阶段就失败,而不是三天之后。你也可以随时用命令行校验某个渠道。

用命令行配置并检查渠道
mirasim ui-cli --port 4970 im validate --channel feishu
mirasim ui-cli --port 4970 config set im.feishuAppId=cli_xxx im.feishuAppSecret=yyy

VS Code 插件#

插件把同一套工作台放入编辑器,并运行内置的服务端,跟随 VS Code 已经打开的工作区。如果你的工作时间基本都在编辑器中,这个版本不需要你离开它。

使用另一台机器作为服务端#

「连接」页面决定当前界面控制哪台机器:本机、局域网内按地址指定的另一台,或者按连接码指定的远端。同一页面也可以把本机共享出去:开启服务访问,再把连接码交给你信任的人。

连接码不必你自己拆开。粘到哪个框里都行——地址框或令牌框——它会自己拆成两半填好。如果这个码里本来就没有可直连的地址,就只填令牌,并说明缺的是哪一半。共享本机时,除了连接码,还可以单独复制访问令牌,因为另一台桌面端接进来要的正是它。

  • 远端条目使用 bearer token 认证,不携带安卓配对的端到端密钥,因此请使用 HTTPS/WSS 或可信网络。
  • 选择远端服务端不会迁移本机服务端上的配对、聊天渠道配置和定时任务,这些内容归属于持有它们的那一端。
  • 工作内容跟随服务端:文件、Git worktree、会话历史、产物、录制和用量数据都保存在服务端所在的机器上。

通过 SSH 使用一台 Linux 主机#

作为服务端的 Linux 机器不需要事先装好 Mirasim。在「连接」页面填入一个 SSH 目标,Mirasim 会探测那台机器、把服务端程序传过去、在那边启动,再通过隧道连回来,远端不需要对外开放端口。关掉窗口之后,那台机器上的智能体仍然继续运行。

  • 登录方式有三种:SSH agent、密码、私钥。选 SSH agent 时沿用你现有的 ssh-agent 和 ~/.ssh/config,与你在终端里执行 ssh 的行为完全一致。密码只保存在这台电脑上,由系统钥匙串加密。
  • 已经写在你 SSH 配置里的主机会直接列出来,不必把这台电脑已经记录过的主机名再输入一遍。
  • 高级选项里可以指定跳板机,也可以为每台机器单独设置环境变量,在那台机器上启动服务时会一并传入。
在终端里做同一件事
mirasim ssh ubuntu@dev.example.com   # connect, tunnel, stay in the foreground
mirasim ssh list                     # saved machines and their status
mirasim ssh stop dev.example.com     # stop the server on that machine

这一页有错或缺了什么? 告诉我们