Warp 是一个用于「瞬移」到远程 oracle 节点的交互式命令。当单次往返不够用时,它通过 SSH 登录远程 oracle 节点并附加到其 tmux 会话,使操作者临时成为远程 oracle,获得完整的多步交互访问能力。它是 /wormhole(发出即忘的查询)的补充。
用途 Warp 面向需要多步操作、探索性工作或调试的场景。如果只是提出具体问题并获取一个答案,应使用 /wormhole;如果「需要超过两次往返」,则使用 /warp。
主要能力与用法 命令格式:
- /warp <node>:<agent>:SSH 并附加到已有 tmux 会话。
- /warp <node>:<agent> --new:SSH 并创建新的 tmux 会话。
- /warp <node>:<agent> --attach:仅附加(已经 SSH 连接时)。
- /warp <node>:<agent> --list:列出节点上的活动 tmux 会话。
- /warp back:返回本地 oracle。
示例:
- /warp white:mawjs:瞬移到 white 节点、mawjs oracle。
- /warp boonkeeper --list:查看 boonkeeper 上正在运行的内容。
- /warp oracle-world:mawjs-oracle --new:在 oracle-world 上创建新会话。
- /warp back:返回本地。
执行步骤 0. 解析目标:通过 date 检查时间,并定位 ORACLE_ROOT(git 仓库根目录,检查其中是否存在 CLAUDE.md 与 ψ 目录或符号链接),确定 PSI 路径。随后加载 $PSI/contacts.json;若不存在则提示先运行 /contacts。使用 python3 脚本在 contacts 中查找目标,输出 NAME、MAW、REPO、NOTES。
- 确定 SSH 目标:按顺序检查 ~/.ssh/config 中匹配节点名的 Host 条目、WireGuard 对等端(wg show)、maw registry、/etc/hosts。若在 SSH 配置中找不到节点,则提示在 ~/.ssh/config 中添加 Host 配置(HostName、User 等)并退出。
- 检查远程 tmux:通过 ssh 执行 tmux list-sessions。若没有活动会话,则提示可用 --new 创建。--list 模式会输出会话列表(Session、Windows、Created、Status)并退出。
- 连接:默认附加到已有会话,执行 ssh -t "$NODE" "tmux attach-session || tmux new-session -s oracle"。使用 --new 时,以 SESSION_NAME="${AGENT:-oracle}-$(date +%H%M)" 创建新会话。连接时会提示当前已远程、本地上下文暂停,并说明 Ctrl+B D 分离(会话保持存活)与 /warp back 返回。
- 返回(/warp back):显示已返回本地 oracle、当前位置、远程会话仍存活(已分离),并提示可重新连接或使用 /wormhole 快速检查。
安全检查与规则
- 需要 SSH 密钥,绝不提示输入密码(使用 ssh-agent)。
- 始终使用 tmux 进行隔离,不使用原始 SSH,以确保会话在断连后存活。
- 不进行端口转发;warp 用于 oracle 工作,而非隧道。
- 记录 warp 日志:写入 ψ/memory/logs/warp.jsonl 以便审计。
- 始终提示返回方式(Ctrl+B D 或 /warp back)。
- 仅限交互式使用:warp 用于多步工作,不用于查询(查询请用 /wormhole)。
- 必须配置 SSH,绝不猜测主机名或 IP。
- 记录一切:warp 活动会被追踪以供审计。
- 不传输机密:绝不通过 warp 管道传输 .env 或凭据。
适用场景
- 需要在远程 oracle 节点上进行多步交互式工作。
- 探索性任务与调试,需要超过两次往返。
- 需要复用或检查远程节点上已有的 tmux 会话。
限制 关于收费、价格、平台支持范围等信息,资料中暂未提供。