run 技能验证
- 作者仓库星标 0
- 作者仓库 nano-core
Run Other CLI Agents
When to use this skill
- Use when the user request matches this skill's domain and capabilities.
- Use when this workflow or toolchain is explicitly requested.
When not to use this skill
- Do not use when another skill is a better direct match for the task.
- Do not use when the request is outside this skill's scope.
Execute external CLI agents safely with comprehensive error handling, async execution, output format detection, and security controls.
Core Capabilities
- Safe Execution: Built-in error handling, retries, and timeout management
- Async Mode: Run agents in background for long-running tasks
- Format Detection: Auto-detect and validate JSON, XML, or text output
- Sandboxing: Execute untrusted agents with filesystem and network isolation
- Agent Chaining: Pipe output from one agent to another
- Parallel Execution: Run multiple agents simultaneously
- Resource Management: Control CPU, memory, and timeout limits
- Audit Logging: Track all agent invocations and results
Quick Start
Basic Invocation
./scripts/run_agent.sh math-agent "Calculate sqrt(144)"
With Advanced Features
# Async execution with retry and JSON output
./scripts/run_agent.sh --async --retry 3 --format json api-agent "GET /users"
# Sandboxed untrusted agent
./scripts/run_agent.sh --sandbox --timeout 30 third-party-agent "Process data"
Using the Helper Script
The scripts/run_agent.sh script provides robust agent execution with multiple options:
Command Syntax
./scripts/run_agent.sh [OPTIONS] <agent_command> "task description" [agent_args...]
Common Options
--async- Run agent in background, return immediately with run ID--timeout N- Set timeout in seconds (default: 300)--retry N- Retry N times on failure (default: 0)--format FMT- Expected output format: json|text|auto (default: auto)--sandbox- Run in restricted sandbox (requires firejail)--quiet- Suppress informational output--help- Show full help message
Environment Variables
AGENT_LOG_DIR- Log directory (default: /tmp/agent_logs)AGENT_TIMEOUT- Default timeout in secondsMAX_RETRIES- Default retry countRETRY_DELAY- Delay between retries in seconds
Common Patterns
Agent Chaining
Connect multiple agents in a pipeline:
# Extract → Transform → Load
raw=$(./scripts/run_agent.sh extractor "Extract from source")
transformed=$(./scripts/run_agent.sh transformer "$raw")
./scripts/run_agent.sh loader "$transformed"
Parallel Execution
Run multiple agents simultaneously:
./scripts/run_agent.sh agent1 "Task 1" &
./scripts/run_agent.sh agent2 "Task 2" &
./scripts/run_agent.sh agent3 "Task 3" &
wait
Async with Status Checking
Launch long-running agents in background:
# Start async
RUN_ID=$(./scripts/run_agent.sh --async data-processor "Process large_dataset.csv")
# Check status
PID=$(cat /tmp/agent_logs/${RUN_ID}.pid)
kill -0 $PID 2>/dev/null && echo "Running" || echo "Done"
# Get results
cat /tmp/agent_logs/${RUN_ID}.out
Error Recovery
Handle failures with retries:
./scripts/run_agent.sh --retry 3 --timeout 60 flaky-agent "Task"
Format Validation
Ensure output is valid JSON:
./scripts/run_agent.sh --format json api-agent "GET /data" | jq '.results'
Security Considerations
When running untrusted or third-party agents, always use security controls. See references/security.md for comprehensive security guidance including:
- Sandboxing with firejail, Docker, or platform-specific tools
- Input validation and sanitization
- Output sanitization for sensitive data
- Resource limits (CPU, memory, disk, network)
- File system access control
- Secrets management
- Audit logging
Quick Security Example
# Run untrusted agent with multiple protections
./scripts/run_agent.sh \
--sandbox \
--timeout 30 \
--format json \
--quiet \
untrusted-agent "task"
Advanced Usage
Multi-Stage Pipeline with Checkpoints
Build resilient pipelines that can resume after failures:
# Stage 1
if [ ! -f .stage1_done ]; then
./scripts/run_agent.sh --retry 3 stage1-agent "Extract" && touch .stage1_done
fi
# Stage 2
if [ ! -f .stage2_done ]; then
./scripts/run_agent.sh --retry 3 stage2-agent "Transform" && touch .stage2_done
fi
# Stage 3
./scripts/run_agent.sh --retry 3 stage3-agent "Load"
Load Balancing
Distribute tasks across agent pool:
AGENTS=("agent-1" "agent-2" "agent-3")
TASKS=("task1" "task2" "task3" "task4" "task5")
i=0
for task in "${TASKS[@]}"; do
agent="${AGENTS[$((i % ${#AGENTS[@]}))]}"
./scripts/run_agent.sh --async "$agent" "$task"
i=$((i + 1))
done
wait
Conditional Agent Selection
Route to specialized agents based on input:
case "$REQUEST_TYPE" in
"weather")
./scripts/run_agent.sh weather-agent "$REQUEST_DATA"
;;
"stocks")
./scripts/run_agent.sh --format json stock-agent "$REQUEST_DATA"
;;
"news")
./scripts/run_agent.sh news-agent "$REQUEST_DATA"
;;
esac
Reference Documentation
For detailed examples and security guidance, see:
references/examples.md- Comprehensive usage examples including:- Basic and advanced invocations
- Async and background execution patterns
- Error handling and retry strategies
- Output format detection and validation
- Agent chaining and pipeline patterns
- Parallel execution with xargs and background jobs
- Real-world scenarios (web scraping, ML workflows, ETL pipelines)
- Monitoring and alerting patterns
references/security.md- Security best practices including:- Threat model and risk assessment
- Sandboxing with firejail, Docker, macOS sandbox
- Input validation and sanitization
- Output sanitization for sensitive data
- Resource limits (CPU, memory, disk, network)
- Network isolation techniques
- File system access control
- Secrets management
- Audit logging
- Complete security checklist
Troubleshooting
Agent Not Found
# Check if agent is in PATH
command -v agent-name
# List available agents
compgen -c | grep -E 'agent|cli'
Timeout Issues
# Increase timeout
./scripts/run_agent.sh --timeout 600 slow-agent "task"
# Or set environment variable
AGENT_TIMEOUT=600 ./scripts/run_agent.sh slow-agent "task"
Output Format Problems
# Let script detect format
./scripts/run_agent.sh --format auto agent "task"
# Or specify expected format
./scripts/run_agent.sh --format json agent "task"
Permission Errors
# Ensure script is executable
chmod +x scripts/run_agent.sh
# Check log directory permissions
mkdir -p /tmp/agent_logs
chmod 755 /tmp/agent_logs
Best Practices
- Always use timeouts - Prevent runaway agents with
--timeout - Validate output - Use
--formatto ensure expected output structure - Handle errors - Use
--retryfor network-dependent agents - Isolate untrusted code - Always use
--sandboxfor third-party agents - Log everything - Review logs in
$AGENT_LOG_DIRfor debugging - Clean up - Remove old logs periodically to save disk space
- Test in isolation - Run new agents standalone before chaining
- Use quiet mode in scripts - Add
--quietto reduce log noise - Monitor resources - Check CPU/memory usage for long-running agents
- Version control agents - Track which agent versions are deployed
Integration Examples
With CI/CD Pipeline
# .github/workflows/agent-tests.yml
- name: Test agents
run: |
./scripts/run_agent.sh --timeout 30 test-agent "Run tests"
With Cron Jobs
# Hourly monitoring
0 * * * * /path/to/run_agent.sh monitor-agent "Check system health"
With Systemd Services
[Unit]
Description=Background Agent Processor
[Service]
ExecStart=/path/to/run_agent.sh --async processor-agent "Process queue"
Restart=always
[Install]
WantedBy=multi-user.target
Performance Tips
- Use
--asyncfor long-running agents to avoid blocking - Run independent agents in parallel with
&andwait - Set appropriate timeouts to free resources quickly
- Use
--quietin scripts to reduce I/O overhead - Clean up old logs in
$AGENT_LOG_DIRregularly - Consider agent pooling for high-frequency invocations
- Use
--format jsonwhen output needs parsing (faster than regex)
Direct Invocation (Alternative)
If you don't need the wrapper's features, invoke agents directly:
agent-name "task description" [args...]
However, the wrapper script provides significant benefits:
- Automatic error handling and logging
- Timeout and retry capabilities
- Format detection and validation
- Security controls
- Consistent interface across all agents
- 流狐分类
- 数据
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @0-CYBERDYNE-SYSTEMS-0 · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需手动接入
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS · Docker
- 底层运行要求
- Docker
- 检测到的文件与系统行为
-
- 只读
- Shell 执行
- 读取环境变量
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
# Quick Security Example
# Run untrusted agent with multiple protections
./scripts/run_agent.sh \
--sandbox \
--timeout 30 \
--format json \
--quiet \
untrusted-agent "task" Use when the user request matches this skill's domain and capabilities. Use when this workflow or toolchain is explicitly requested.
Do not use when another skill is a better direct match for the task. Do not use when the request is outside this skill's scope. Execute external CLI agents safely with comprehensive error handling, async execution, output format detection, and security…
Safe Execution: Built-in error handling, retries, and timeout management Async Mode: Run agents in background for long-running tasks Format Detection: Auto-detect and validate JSON, XML, or text output
Quick Start
Basic Invocation
With Advanced Features
# Run Other CLI Agents
## When to use this skill
- Use when the user request matches this skill's domain and capabilities.
- Use when this workflow or toolchain is explicitly requested.
## When not to use this skill
- Do not use when another skill is a better direct match for the task.
- Do not use when the request is outside this skill's scope.
Execute external CLI agents safely with comprehensive error handling, async execution, output format detection, and security controls.
## Core Capabilities
- **Safe Execution**: Built-in error handling, retries, and timeout management
- **Async Mode**: Run agents in background for long-running tasks
- **Format Detection**: Auto-detect and validate JSON, XML, or text output
- **Sandboxing**: Execute untrusted agents with filesystem and network isolation
- **Agent Chaining**: Pipe output from one agent to another
- **Parallel Execution**: Run multiple agents simultaneously
- **Resource Management**: Control CPU, memory, and timeout limits
- **Audit Logging**: Track all agent invocations and results
## Quick Start
### Basic Invocation
```bash
./scripts/run_agent.sh math-agent "Calculate sqrt(144)"
```
### With Advanced Features
```bash
# Async execution with retry and JSON output
./scripts/run_agent.sh --async --retry 3 --format json api-agent "GET /users"
# Sandboxed untrusted agent
./scripts/run_agent.sh --sandbox --timeout 30 third-party-agent "Process data"
```
## Using the Helper Script
The `scripts/run_agent.sh` script provides robust agent execution with multiple options:
### Command Syntax
```bash
./scripts/run_agent.sh [OPTIONS] <agent_command> "task description" [agent_args...]
```
### Common Options
- `--async` - Run agent in background, return immediately with run ID
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> When to use this skill → When not to use this skill → Core Capabilities → Quick Start → Basic Invocation → With Advanced Features
要点 -> Safe Execution · Async Mode · Format Detection · Sandboxing · Agent Chaining · Parallel Execution · Resource Management · Audit Logging
文件/命令 -> scripts/runagent.sh · --async · --timeout N · --retry N · --format FMT · --sandbox · --quiet · --help
内容 SHA-256 -> 55665d1be8ac
方法与流程
适用与边界
原文中的明确线索
scripts/runagent.sh、--async、--timeout N、--retry N、--format FMT、--sandbox、--quiet、--help