Token导航 LogoToken导航TokenDH.com
前端设计敏感数据github未标认证来源可访问许可证需确认审计异常

exe执行程序

Agent Skill

exe 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

343

周安装

14

GitHub Stars

60

下载量

111
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:exe(执行程序)
来源仓库:https://github.com/popmechanic/vibes-cli
仓库路径:skills/exe
安装命令:
npx skills add https://github.com/popmechanic/vibes-cli --skill exe
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/popmechanic/vibes-cli --skill exe

简介

exe 将 Vibes 应用部署到 exe.dev 平台,提供持久化存储与 HTTPS 支持。

  • 适用于快速发布静态站点或原型演示项目。
  • 自动配置 SSH 密钥与账户验证,简化部署流程。
  • 通过 GitHub 安装,需提前注册 exe.dev 账号并配置密钥。
  • 部署前应确认 index.html 文件结构与资源路径正确。

SKILL.md

Plan mode: If you are planning work, this entire skill is ONE plan step: "Invoke /vibes:exe". Do not decompose the steps below into separate plan tasks.

Deploy to exe.dev

Deploy your Vibes app to exe.dev, a VM hosting platform with persistent storage and HTTPS by default.

Prerequisites

  1. SSH key in ~/.ssh/ (id_ed25519, id_rsa, or id_ecdsa)
  2. exe.dev account - run ssh exe.dev once to create your account and verify email
  3. Generated Vibes app - an index.html file ready to deploy

Gather Config Upfront

Use AskUserQuestion to collect deployment config before running the deploy script.

Use the AskUserQuestion tool with these questions:

Question 1: "What VM name should we use? (becomes yourname.exe.xyz)"
Header: "VM Name"
Options: Suggest based on app name from context + user enters via "Other"

Question 2: "Which file should we deploy?"
Header: "File"
Options: ["index.html (default)", "Other path"]

Question 3: "Does this app need AI features?"
Header: "AI"
Options: ["No", "Yes - I have an OpenRouter key"]

Question 4: "Is this a SaaS app with subdomain claiming?"
Header: "Registry"
Options: ["No - simple static deploy", "Yes - need Clerk keys for registry"]

After Receiving Answers

  1. If AI enabled, ask for the OpenRouter API key
  2. If Registry enabled, ask for Clerk PEM public key and webhook secret
  3. Proceed immediately to deploy - no more questions

Quick Deploy

cd "${CLAUDE_PLUGIN_ROOT}/scripts" && [ -d node_modules ] || npm install
node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp --file index.html

What It Does

  1. Creates VM on exe.dev via SSH CLI
  2. Starts nginx (pre-installed on exeuntu image)
  3. Uploads your index.html to /var/www/html/
  4. Generates HANDOFF.md - context document for remote Claude

- For Connect-enabled deployments, includes full Docker setup documentation (commands, troubleshooting, service endpoints)

  1. Makes VM public via ssh exe.dev share set-public <vmname>
  2. Verifies public access at https://myapp.exe.xyz

AI-Enabled Apps

For apps using the useAI hook, deploy with the --ai-key flag:

node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp --file index.html --ai-key "sk-or-v1-..."

This sets up a secure AI proxy:

  1. Installs Bun runtime
  2. Creates /home/exedev/proxy.js - proxies /api/ai/* to OpenRouter
  3. Configures systemd service for the proxy
  4. Adds nginx reverse proxy from port 80/443 to Bun (port 3001)

IMPORTANT: Do not manually set up AI proxying. Manual nginx config changes can overwrite SSL settings and miss the Bun/proxy.js service. Always use the deploy script with --ai-key.

Multi-Tenant AI Apps

For SaaS apps with per-tenant AI:

node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp --file index.html --ai-key "sk-or-v1-..." --multi-tenant

Registry Server

For SaaS apps using subdomain claiming (from /vibes:sell), deploy with Clerk credentials:

node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp --file index.html \
  --clerk-key "`cat clerk-public-key.pem`" \
  --clerk-webhook-secret "whsec_xxx" \
  --reserved "admin,api,billing"

This sets up a subdomain registry server:

  1. Installs Bun runtime to /usr/local/bin/bun
  2. Creates /var/www/registry-server.ts with Clerk JWT verification
  3. Configures systemd service (port 3002)
  4. Adds nginx proxy for /registry.json, /check/*, /claim, /webhook

Registry Endpoints

EndpointMethodAuthDescription
/registry.jsonGETNonePublic read of all claims
/check/{subdomain}GETNoneCheck availability
/claimPOSTBearer JWTClaim subdomain for user
/webhookPOSTSvix sigClerk subscription events

Getting the Clerk Public Key

The registry server needs Clerk's PEM public key to verify JWTs for the /claim endpoint.

Option 1: From Clerk Dashboard

  1. Go to Clerk Dashboard → API Keys
  2. Scroll to "PEM Public Key" or click "Show JWT Public Key"
  3. Copy the full key (starts with -----BEGIN PUBLIC KEY-----)

Option 2: From JWKS endpoint

# Get your Clerk frontend API domain from dashboard
curl https://YOUR_CLERK_DOMAIN/.well-known/jwks.json

Then convert the JWK to PEM format using an online tool or jose CLI.

Passing to deploy script:

# From a file
node deploy-exe.js --clerk-key "`cat clerk-public-key.pem`" ...

# Inline (escape newlines)
node deploy-exe.js --clerk-key "-----BEGIN PUBLIC KEY-----\nMIIB...\n-----END PUBLIC KEY-----" ...

Manual configuration on server:

ssh myapp.exe.dev
sudo nano /etc/registry.env
# Add: CLERK_PEM_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----"
sudo systemctl restart vibes-registry

Continue Development on the VM

Claude is pre-installed on exe.dev VMs. After deployment, you can continue development remotely:

ssh myapp.exe.dev -t "cd /var/www/html && claude"

The HANDOFF.md file provides context about what was built, so Claude can continue meaningfully.

Manual Public Access

If the deploy script doesn't make the VM public automatically, run:

ssh exe.dev share set-public myapp

Multi-Tenant Apps

For apps that need tenant isolation (e.g., alice.myapp.com, bob.myapp.com):

Client-Side Isolation

The same index.html serves all subdomains. JavaScript reads the hostname and uses the subdomain as a Fireproof database prefix:

// In your app:
const hostname = window.location.hostname;
const subdomain = hostname.split('.')[0];
const dbName = `myapp-${subdomain}`;

// Each subdomain gets its own Fireproof database
const { database } = useFireproof(dbName);

Custom Domain Setup

  1. Add --domain flag: node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp --domain myapp.com
  2. Configure wildcard DNS at your DNS provider: *.myapp.com CNAME myapp.exe.xyz myapp.com ALIAS exe.xyz
  3. Set up wildcard SSL on the VM: ssh myapp.exe.dev sudo apt install certbot sudo certbot certonly --manual --preferred-challenges dns \ -d "myapp.com" -d "*.myapp.com"

CLI Options

OptionDescription
--name <vm>VM name (required)
--file <path>HTML file to deploy (default: index.html)
--domain <domain>Custom domain for wildcard setup
--ai-key <key>OpenRouter API key for AI features
--multi-tenantEnable subdomain-based multi-tenancy
--tenant-limit <$>Credit limit per tenant in dollars (default: 5)
--clerk-key <pem>Clerk PEM public key for JWT verification
--clerk-webhook-secret <secret>Clerk webhook signing secret
--reserved <list>Comma-separated reserved subdomain names
--preallocated <list>Pre-claimed subdomains (format: sub:user_id)
--dry-runShow commands without executing
--skip-verifySkip deployment verification

Redeployment

After making changes, redeploy with:

node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name myapp

SSH Access

Access your VM directly:

ssh myapp.exe.dev

Architecture

exe.dev VM (exeuntu image)
├── nginx (serves all subdomains via server_name _)
├── claude (pre-installed CLI)
├── /usr/local/bin/bun  ← Bun runtime (system-wide)
├── /var/www/html/
│   ├── index.html   ← Your Vibes app
│   └── HANDOFF.md   ← Context for remote Claude
├── (with --ai-key)
│   ├── /opt/vibes/proxy.js  ← AI proxy service (port 3001)
│   └── vibes-proxy.service  ← systemd unit
└── (with --clerk-key)
    ├── /var/www/registry-server.ts  ← Registry service (port 3002)
    ├── /var/www/html/registry.json  ← Subdomain claims data
    └── vibes-registry.service       ← systemd unit

Port Assignments

ServicePortPurpose
AI Proxy3001OpenRouter proxy for useAI hook
Registry3002Subdomain claim/check API
  • No server-side logic - pure static hosting (unless using AI proxy)
  • Persistent disk - survives restarts
  • HTTPS by default - exe.dev handles SSL for *.exe.xyz
  • Claude pre-installed - continue development on the VM

Post-Deploy Debugging

After deployment, always work with local files - they are the source of truth. SSHing to read deployed files is slow and wastes tokens.

TaskUse LocalUse SSH
Editing/debugging code✅ Always❌ Never
Checking console errors✅ Local file❌ No need
Verifying deploycurl https://vm.exe.xyz
Server-specific issues✅ Only if local works but remote doesn't

To redeploy after local fixes:

node "${CLAUDE_PLUGIN_ROOT}/scripts/deploy-exe.js" --name <vmname> --file index.html

SSL Configuration

The deploy script preserves existing SSL by using include files for AI proxy config. When manually editing nginx:

  1. Never replace the entire config - only add/modify specific blocks
  2. Check for SSL first: Look for listen 443 ssl in the config
  3. Use includes: Put new configs in /etc/nginx/conf.d/ or separate files
  4. Test before reload: sudo nginx -t

Manual File Transfer to VMs

When manually transferring files (outside the deploy script), use the two-stage pattern.

Key distinction:

  • exe.dev = orchestrator (for VM management: ssh exe.dev new, ssh exe.dev share)
  • <app>.exe.xyz = actual VM (for file operations, SSH access)

Reliable pattern:

# Upload: SCP to server temp → sudo move to /var/www/html/
scp index.html myapp.exe.xyz:/tmp/
ssh myapp.exe.xyz "sudo cp /tmp/index.html /var/www/html/"

# Download: Direct SCP works fine
scp myapp.exe.xyz:/var/www/html/index.html ./downloaded.html

Why server-side temp?

  • Direct SCP to /var/www/html/ fails (permission denied - owned by www-data)
  • Server /tmp/ is world-writable, so SCP succeeds
  • sudo cp moves file with correct ownership

Common mistakes:

MistakeErrorFix
ssh exe.dev cat /var/www/..."No VMs found"Use ssh <app>.exe.xyz
scp file vm:/var/www/html/Permission deniedUse temp + sudo pattern
Forgetting sudo for /var/wwwPermission deniedAlways sudo cp for www-data dirs

Quick reference commands:

# Connect to VM
ssh <app>.exe.xyz

# Read file
ssh <app>.exe.xyz "cat /var/www/html/index.html"

# Upload file (two-stage)
scp index.html <app>.exe.xyz:/tmp/
ssh <app>.exe.xyz "sudo cp /tmp/index.html /var/www/html/"

# Download file
scp <app>.exe.xyz:/var/www/html/index.html ./downloaded.html

# Verify
ssh <app>.exe.xyz "head -20 /var/www/html/index.html"

What's Next?

After successful deployment, present these options using AskUserQuestion:

Question: "Your app is live at https://${name}.exe.xyz! What's next?"
Header: "Next"
Options:
- Label: "Share my URL"
  Description: "Get the shareable link for your app. I'll confirm the public URL and you can send it to anyone - they'll see your app immediately with full functionality."

- Label: "Make changes and redeploy"
  Description: "Continue iterating locally. Edit your files here, then run deploy again to push updates. The VM keeps running so there's zero downtime during updates."

- Label: "Continue development on VM"
  Description: "Work directly on the server. SSH in and use the pre-installed Claude to make changes live. Great for server-specific debugging or when you want changes to persist immediately."

- Label: "I'm done for now"
  Description: "Wrap up this session. Your app stays live at the URL - it runs 24/7 on exe.dev's persistent VMs. Come back anytime to make updates."

After user responds:

  • "Share URL" → Confirm "Your app is live at https://${name}.exe.xyz - share this link!"
  • "Make changes" → Acknowledge, stay ready for local edits
  • "Continue on VM" → Provide: ssh ${name}.exe.dev -t "cd /var/www/html && claude"
  • "I'm done" → Confirm app stays live, wish them well

适合场景

01

调用多模型

02

代码和文本生成

03

Agent 推理流程

04

OpenRouter 模型接入

能力概览

能力 1

统一调用多种 LLM

能力 2

支持 Claude、Gemini、Kimi 等模型

能力 3

适合聊天、代码和推理任务

能力 4

可作为 Agent 模型调用入口

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.05%
按下载量换算37

Claude

31.03%
按下载量换算34

Cursor

17.29%
按下载量换算19

Gemini CLI

9.15%
按下载量换算10

安全审计

Gen Agent Trust Hub

可疑

Socket

可疑

Snyk

未通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills