Agent Deploy

👤 joe7921 📦 v2.4.0 ⭐ 4.6 ⬇️ 1.3K 下载
🤖 AI-Agent 免费

📖 技能介绍


name: agent-deploy description: Deploy a new isolated OpenClaw agent with its own Telegram bot, workspace, and session storage. Use when user asks to create a new agent, add a new bot, or set up multi-agent routing. Uses openclaw config set for safe config updates with doctor validation and auto-rollback.


Agent Deploy & Isolation Skill

WHEN TO USE THIS SKILL

Use this skill when the user says ANY of the following (or similar): - "deploy a new agent" - "add a new agent" - "create a new agent" - "set up a new bot" - "bind a bot to a new agent" - "add a telegram bot" - "list agents" or "show agents" - "remove agent" or "delete agent"

WHAT YOU NEED FROM THE USER

Before running any deploy script, you MUST collect these two values from the user:

Required Example How to get it
agentId research Ask: "What should I name this agent?" (lowercase, no spaces, no special chars)
botToken 123456:ABC-xyz Ask: "What is the Telegram Bot Token?" (user gets this from @BotFather)

If the user provides both in their message, proceed immediately. If the user is missing one or both, ask for the missing value(s) before proceeding.

访问小葱技能站7w4.net,解锁更多实用的AI技能插件。

HOW TO EXECUTE

Action: DEPLOY a new agent

Run this exact command, replacing <agentId> and <botToken> with the user's values:

bash {baseDir}/scripts/deploy.sh <agentId> <botToken>

Example: If user says "deploy agent called research with token 123456:ABCdef":

bash {baseDir}/scripts/deploy.sh research 123456:ABCdef

After the script finishes: - If output contains "SUCCESS": tell the user the agent is deployed. - If output contains "CONFLICT": tell the user the agent already exists. - If output contains "ERROR": tell the user what went wrong. - If output contains "ROLLING BACK": tell the user the change was safely reverted.

DO NOT run systemctl restart unless the script output explicitly says to. The script handles hot-reload automatically for channels and bindings.

Action: LIST all agents

bash {baseDir}/scripts/list.sh

Show the output table to the user as-is.

Action: REMOVE an agent

Run this exact command, replacing <agentId>:

bash {baseDir}/scripts/remove.sh <agentId>

Example: If user says "remove the research agent":

bash {baseDir}/scripts/remove.sh research

STRICT RULES ??DO NOT VIOLATE

  1. NEVER edit openclaw.json directly. Do not use write, edit, apply_patch, or any file editing tool on openclaw.json. The deploy script uses openclaw config set which is the only safe way.
  2. NEVER skip the pre-flight check. Always run the full deploy.sh script. Do not try to run individual openclaw config set commands yourself.
  3. NEVER change the agentId format. It must be lowercase letters, numbers, and hyphens only. No spaces, no uppercase, no special characters.
  4. NEVER deploy without a valid bot token. The token must match the format: digits:alphanumeric (e.g., 123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw).
  5. NEVER modify the main agent. The remove.sh script refuses to remove the main agent. Do not try to work around this.

WHAT THE SCRIPT DOES AUTOMATICALLY

You do NOT need to do any of these manually. The script handles everything:

  • Creates isolated workspace at ~/.openclaw/workspace-<agentId>/
  • Adds agent to agents.list with safe defaults:
  • tools.deny: ["gateway"] (agent cannot modify core config)
  • sandbox.mode: "non-main" (non-main sessions are sandboxed)
  • sandbox.scope: "agent" (one container per agent)
  • sandbox.workspaceAccess: "none" (sandbox cannot access host workspace)
  • Adds routing binding: <agentId> -> telegram:<agentId>
  • Adds Telegram account with the bot token
  • Validates with openclaw doctor
  • Auto-rollbacks on any failure
  • Merges API keys from BOTH global config (openclaw.json auth.profiles) AND main agent's auth-profiles.json
  • Migrates from single-bot to multi-account mode if needed

TROUBLESHOOTING

If the user says the new bot is not responding after deploy:

  1. First, check logs: journalctl --user -u openclaw-gateway --no-pager -n 20
  2. Look for [telegram] [<agentId>] starting provider in logs
  3. If NOT found, restart: systemctl --user restart openclaw-gateway
  4. If still not working, run: bash {baseDir}/scripts/list.sh to verify config

ENVIRONMENT VARIABLES

These are optional. The scripts use sensible defaults:

Variable Default Description
OPENCLAW_CONFIG_PATH ~/.openclaw/openclaw.json Custom config file path
OPENCLAW_BIN openclaw Custom openclaw CLI path

🤖 AI 评测

这个 Skill 质量较好,文档清晰详细,能有效指导使用。安全机制完善,包括回滚、验证和沙箱隔离,部署失败时能自动恢复。主要优点是功能完整、操作安全、文档详尽。不足之处是错误提示可能被隐藏导致问题难以排查,删除代理时不会清理磁盘文件,缺少多任务并发保护。总体适合生产环境使用,但细节上还有改进空间。

📊 多维度评分

适应性4.8
规范性4.4
有效性4.8
可靠性4.4
可信度4.4

📁 包含文件 (6 个)

📄 SKILL.md 4.6 KB
📄 _meta.json 131 B
📄 scripts/deploy.sh 3.7 KB
📄 scripts/deploy_helper.py 6.2 KB
📄 scripts/list.sh 125 B
📄 scripts/remove.sh 1.3 KB