关于 using-exe-dev
using-exe-dev 是一项面向编码 Agent 的技能,用于通过 SSH 管理 exe.dev Linux VM。它说明 VM 生命周期命令、直接连接和文件传输,也涵盖注册、验证与账单流程的谨慎处理。
主要功能
- 01创建、列出和删除 VM
- 02通过 SSH 连接 VM
- 03使用 scp 传输文件
- 04处理注册与套餐激活
- 05排查 SSH 和沙盒问题
适用场景
- 01创建开发用 VM
- 02向 VM 传输项目文件
- 03解决认证或主机密钥问题
- 04在用户同意下引导账户设置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ boldsoftware/ exe.dev --skill using-exe-dev安装后在 Claude Code 中输入/using-exe-dev确认已加载。
详细介绍
关于
exe.dev 提供带持久磁盘、即时 HTTPS 和内置身份验证的 Linux 虚拟机。所有管理操作均通过 SSH 进行。
文档
- 文档索引:https://exe.dev/docs.md
- 所有文档汇总为一个页面(很长!):https://exe.dev/docs/all.md
索引按渐进式探索的方式组织:从索引开始,按需浏览链接。
快速参考
ssh exe.dev help # show commands
ssh exe.dev help <command> # show command details
ssh exe.dev new --json # create VM
ssh exe.dev ls --json # list VMs
ssh exe.dev rm <vm> # delete VM
ssh <vm>.exe.xyz # connect to VM
scp file.txt <vm>.exe.xyz:~/ # transfer file
每台虚拟机都会获得 https://<vm>.exe.xyz/,并自动启用 TLS。
首次注册
以下输出不是卡住或出错:
{"error":"Registration is required.","action":{"type":"command","command":"ssh -t ..."}}(退出码 1):此 SSH 密钥没有关联账户。取得用户的邮箱并征得同意后,在 PTY 中运行action.command。{"error":"Choose a plan to start creating VMs....,"action":{"type":"command","command":"ssh ... billing activate --json"}}:该账户尚未选择套餐。运行action.command,并参阅“恢复”。
规则
- 运行
ssh exe.dev前,先询问用户的邮箱,并确认他们想要注册 exe.dev 账户。切勿猜测邮箱。如果邮箱提示中已预填内容,请确认无误,或使用 Ctrl-U 清除。 - 切勿读取用户的邮箱、输入银行卡信息或代为登录 ChatGPT。由用户本人验证、授权并付款。
- 打开链接只会让浏览器登录,不代表同意订阅。
- 链接是持有者凭证。只能在回复中发送给用户,切勿放入文件、日志、提交或问题中。如果链接泄露,请告知用户不要使用。
在 PTY 中运行。 标准输入关闭或遇到 EOF 会取消注册。每次等待最长 10 分钟,按 Ctrl-C 可结束。请在后台启动,并每隔 15-30 秒使用短命令轮询(或使用 expect 或 Python pty):
tmux new-session -d -s exe-signup -x 120 -y 40 'ssh exe.dev'
tmux capture-pane -p -J -t exe-signup
tmux send-keys -t exe-signup '<email>' Enter
告知用户
Verification email sent to::点击 exe.dev 发来的邮件中的链接。Click here to verify:或Verify with <provider>::打开该 URL。Choose a plan to start creating VMs::询问选择 Personal(个人)、Work(团队)还是 Later(稍后)。输入personal、work或later。Open this link to activate:将 URL 发给用户。该链接只能使用一次,并会在 15 分钟后过期。Personal 可通过关联付费 ChatGPT 订阅(无需银行卡)或 Stripe 订阅,享受 7 天免费试用。Work 是 Stripe 团队订阅。- 欢迎提示中的
Connect a paid ChatGPT subscription or subscribe with Stripe::这是 Personal 链接。请用相同方式交给用户。
结果
✓ Personal plan active.、✓ Work plan active.、✓ ChatGPT connected.:已就绪。首次创建虚拟机时,ChatGPT 试用期开始。Skipped.、Skipped in the browser.、Timed out waiting for activation.、Could not create an activation link.或later:new仍会失败。请参阅“恢复”。
继续操作。 发送 exit,如果 tmux 会话仍在运行则将其终止,然后重新运行原始命令 ssh exe.dev new --json。
恢复
- 没有套餐或链接已过期:运行错误中的
action.command。billing activate --json会返回{"url":...},这是与欢迎提示中相同的 Personal 链接。用相同方式交给用户,待用户确认后,再运行ssh exe.dev new --json。如果返回{"error":...}(退出码 1),则此账户无法激活;ssh exe.dev billing manage --json会改为返回仅适用于 Stripe 的{"url":...}。 Verification still pending.或Email verification timed out.:邮件链接自发送起 15 分钟内有效。用户点击后,重新运行ssh exe.dev new --json。如果链接已过期或邮件未收到,请重新运行 PTY 会话。- 轮到你时等待尚未结束:告知用户链接有效期为 15 分钟,并请他们完成后通知你。然后重新运行
ssh exe.dev new --json。 - 没有 PTY 工具:用户同意后,
printf '%s\n' "$EMAIL" | ssh exe.dev会发送邮箱并以Verification still pending.退出。此操作会跳过套餐提示,因此预计会出现无套餐错误。
两种 SSH 目标
ssh exe.dev <command>— exe.dev 大厅。用于管理 VM 生命周期、共享和配置的 REPL。不支持 scp、sftp 或任意 Shell 命令。ssh <vm>.exe.xyz— 直接连接到 VM。完整 SSH 功能:Shell、scp、sftp、端口转发等。
在非交互式和沙盒环境中工作
编码 Agent 通常会在非交互式 Shell 或沙盒中运行 SSH。常见问题及解决方法:
scp/sftp 失败:确保目标是 <vm>.exe.xyz,而不是 exe.dev。使用基于 ssh 的替代方法。
连接挂起:非交互式 SSH 可能会因主机密钥提示而阻塞,且不显示任何输出。首次连接到新的 VM 时,使用 -o StrictHostKeyChecking=accept-new。
SSH 身份验证:使用用户现有的 SSH Agent 或主机配置。如果身份验证失败,请让用户为 exe.dev 和 *.exe.xyz 配置相应身份。切勿检查、复制或传输私钥。