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.
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"
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.
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.
bash {baseDir}/scripts/list.sh
Show the output table to the user as-is.
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
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.openclaw config set commands yourself.digits:alphanumeric (e.g., 123456789:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw).remove.sh script refuses to remove the main agent. Do not try to work around this.You do NOT need to do any of these manually. The script handles everything:
~/.openclaw/workspace-<agentId>/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)<agentId> -> telegram:<agentId>openclaw doctoropenclaw.json auth.profiles) AND main agent's auth-profiles.jsonIf the user says the new bot is not responding after deploy:
journalctl --user -u openclaw-gateway --no-pager -n 20[telegram] [<agentId>] starting provider in logssystemctl --user restart openclaw-gatewaybash {baseDir}/scripts/list.sh to verify configThese 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 |
这个 Skill 质量较好,文档清晰详细,能有效指导使用。安全机制完善,包括回滚、验证和沙箱隔离,部署失败时能自动恢复。主要优点是功能完整、操作安全、文档详尽。不足之处是错误提示可能被隐藏导致问题难以排查,删除代理时不会清理磁盘文件,缺少多任务并发保护。总体适合生产环境使用,但细节上还有改进空间。