安全
SeaWork 采用类似 Docker 的客户端-服务器架构。守护进程在你的机器上运行并管理你的编程智能体。客户端(移动应用、CLI 或网页界面)连接到守护进程来监控和控制这些智能体。
你的代码永远不会离开你的机器。SeaWork 是一个本地优先的工具,直接连接到你的开发环境。
架构
SeaWork 守护进程可以在任何你想执行智能体的地方运行:你的笔记本、Mac Mini、VPS 或 Docker 容器。守护进程监听连接并管理智能体生命周期。
客户端通过 WebSocket 连接到守护进程。建立连接有两种方式:
- 中继连接(推荐) —— 守护进程向外连接到我们的中继服务器,客户端在那里与它会合。无需开放端口。
- 直接连接 —— 守护进程监听网络地址,客户端直接连接。
中继连接(推荐)
中继是从手机连接的最简单方式。无需 VPN 配置、端口转发或防火墙配置。守护进程可以保持绑定到 localhost 或 socket 文件,它向外连接到中继,你的手机在那里与它会合。
中继的设计目标是不可信任的。你的手机和守护进程之间的所有流量都是端对端加密的。中继服务器无法读取你的消息、查看你的代码或在不被发现的情况下修改流量。
工作原理
- 守护进程生成持久的 ECDH 密钥对并存储在
$SEAWORK_HOME/daemon-keypair.json - 当你扫描二维码或点击配对链接时,你的手机会收到守护进程的公钥
- 你的手机发送包含其公钥的握手消息。守护进程在握手完成之前不会接受任何命令
- 双方执行 ECDH 密钥交换以推导共享密钥。所有后续消息使用 AES-256-GCM 加密
直接连接
默认情况下,守护进程监听 127.0.0.1:6767(仅限本地)。这对本地 CLI 使用是安全的,但无法从你的手机或其他设备访问。
绑定到 0.0.0.0
警告:绑定到
0.0.0.0 会使守护进程在所有网络接口上可达,包括公共 Wi-Fi 和本地网络。这可能将你的守护进程暴露给未授权访问。DNS 重绑定保护
CORS 不是完整的安全边界。SeaWork 使用主机白名单来验证传入请求的 Host 头。带有未识别主机的请求会被拒绝。
智能体认证
SeaWork 包装智能体 CLI(Claude Code 和 Codex),但不管理它们的认证。每个智能体提供商处理自己的凭证。
SeaWork 从不存储或传输提供商 API 密钥。智能体在你的用户上下文中使用你现有的凭证运行。
建议
- 使用中继 进行移动访问,这是最简单的选项,所有流量都是端对端加密的
- 像对待密码一样对待二维码,任何拥有配对提供的人都可以连接到你的守护进程
- 除非了解其影响并有适当的防火墙规则,否则永远不要绑定到 0.0.0.0
- 保持守护进程更新,安全改进会定期发布
SeaWork