minions-hermes-mission-control
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMinions Hermes Mission Control
Minions Hermes Mission Control
Skill by ara.so — Hermes Skills collection
Minions is a web-based mission control interface for managing Hermes Agent tasks. It provides a Kanban board to create, supervise, and review autonomous agent work, with features like live streaming, completion judging, and human-in-the-loop verification.
由ara.so开发的Skill — Hermes Skills合集
Minions是一个基于Web的任务控制界面,用于管理Hermes Agent任务。它提供了一个Kanban看板来创建、监控和审核自主Agent的工作,具备实时流、完成度判断和人机协同验证等功能。
What It Does
功能介绍
- Kanban Board: Visual task management with columns for in-progress, review, and done
- Autonomous Execution: Agents work independently on tasks you define
- Completion Judge: Lightweight LLM evaluates task completion after each turn
- Live Streaming: Real-time view of tool calls, reasoning, and responses
- Human Verification: Tasks require your sign-off before moving to done
- Routines: Manage recurring Hermes jobs with history and output tracking
- File Browser: View agent-created workspace files
- Local-First: Self-hosted with SQLite, no cloud dependency
- Kanban看板:可视化任务管理,包含进行中、审核中、已完成等列
- 自主执行:Agent可独立执行你定义的任务
- 完成度判断:轻量级LLM在每轮任务后评估完成情况
- 实时流:实时查看工具调用、推理过程和响应内容
- 人工验证:任务需经你确认后才能标记为已完成
- 例行任务:管理重复执行的Hermes任务,跟踪执行历史和输出
- 文件浏览器:查看Agent创建的工作区文件
- 本地优先:基于SQLite的自托管方案,无云依赖
Installation
安装步骤
Prerequisites: Node.js 18+ and Hermes Agent installed
前置要求:Node.js 18+ 以及已安装Hermes Agent
Quick Start
快速启动
bash
npx minionsaiThe server starts at
http://localhost:6969bash
npx minionsai服务器将启动在
http://localhost:6969Check Version
版本检查
bash
minions --version
npm view minionsai versionbash
minions --version
npm view minionsai versionData Storage
数据存储
- Local SQLite database created on first run
- All state stored in
~/.minions/ - Chat transcripts in Hermes session database
- Task metadata in Minions SQLite
- 首次运行时创建本地SQLite数据库
- 所有状态存储在
~/.minions/ - 聊天记录存储在Hermes会话数据库
- 任务元数据存储在Minions的SQLite数据库中
Key Concepts
核心概念
Tasks
任务
Each task is a persistent Hermes root session. Tasks move through Kanban columns:
- Backlog: Created but not started
- In Progress: Agent actively working
- In Review: Agent proposed completion
- Done: Human verified and closed
每个任务都是一个持久化的Hermes根会话。任务会在Kanban列间流转:
- 待办:已创建但未启动
- 进行中:Agent正在执行
- 审核中:Agent认为任务已完成并提交审核
- 已完成:经人工验证并关闭
Routines
例行任务
Recurring Hermes jobs that can be scheduled and monitored. Minions tracks:
- Execution history
- Output files
- Success/failure status
可调度和监控的重复Hermes任务。Minions会跟踪:
- 执行历史
- 输出文件
- 成功/失败状态
Per-Task Configuration
任务自定义配置
Each task can override:
- Model selection
- Reasoning effort level
- Workspace directory
每个任务可单独配置:
- 模型选择
- 推理强度
- 工作区目录
Configuration
配置说明
Environment Variables
环境变量
bash
undefinedbash
undefinedAPI keys for LLM providers (if using completion judge)
LLM服务商的API密钥(使用完成度判断功能时需要)
export OPENAI_API_KEY=your_openai_key
export ANTHROPIC_API_KEY=your_anthropic_key
export OPENAI_API_KEY=your_openai_key
export ANTHROPIC_API_KEY=your_anthropic_key
Custom port (default: 6969)
自定义端口(默认:6969)
export MINIONS_PORT=8080
export MINIONS_PORT=8080
Custom data directory (default: ~/.minions/)
自定义数据目录(默认:~/.minions/)
export MINIONS_DATA_DIR=/path/to/data
undefinedexport MINIONS_DATA_DIR=/path/to/data
undefinedSettings Page
设置页面
Access via web UI to configure:
- Default model for new tasks
- Default reasoning effort
- Completion judge settings
- Workspace paths
通过Web UI访问并配置:
- 新任务的默认模型
- 默认推理强度
- 完成度判断设置
- 工作区路径
Usage Patterns
使用模式
Creating a Task
创建任务
- Open Minions at
http://localhost:6969 - Click "New Task" or use the chat interface
- Describe what you want the agent to do
- Agent begins autonomous execution
- 在 打开Minions
http://localhost:6969 - 点击“New Task”或使用聊天界面
- 描述你希望Agent完成的工作
- Agent开始自主执行
Monitoring Tasks
监控任务
typescript
// Tasks are displayed in real-time Kanban columns
// Watch live streaming output in the task detail view
// Completion judge runs after each agent turntypescript
// 任务会实时显示在Kanban列中
// 在任务详情页查看实时流输出
// 完成度判断会在Agent每轮操作后运行Reviewing Completions
审核任务完成情况
- Agent moves task to "In Review" when it believes work is done
- Review the chat transcript and outputs
- Either:
- Approve and move to "Done"
- Send back with feedback for more work
- 当Agent认为工作完成时,会将任务移至“审核中”列
- 查看聊天记录和输出内容
- 选择:
- 批准并移至“已完成”
- 退回并附上反馈,要求继续工作
Creating Routines
创建例行任务
typescript
// Example: Daily website monitoring routine
{
name: "Check competitor pricing",
schedule: "0 9 * * *", // 9 AM daily
prompt: "Visit competitor.com and extract current pricing, compare to yesterday",
workspace: "./data/competitive-intel"
}typescript
// 示例:每日网站监控例行任务
{
name: "Check competitor pricing",
schedule: "0 9 * * *", // 每日上午9点
prompt: "Visit competitor.com and extract current pricing, compare to yesterday",
workspace: "./data/competitive-intel"
}Practical Examples
实用示例
Research Task
研究任务
typescript
// Task prompt:
"Research the top 10 AI coding assistants launched in 2025.
Create a comparison table with: name, pricing, key features, GitHub stars.
Save as markdown in research/ai-coding-tools.md"
// Agent will:
// 1. Search for AI coding assistants
// 2. Visit documentation sites
// 3. Gather pricing and feature data
// 4. Format as markdown table
// 5. Save file and propose completiontypescript
// 任务提示:
"Research the top 10 AI coding assistants launched in 2025.
Create a comparison table with: name, pricing, key features, GitHub stars.
Save as markdown in research/ai-coding-tools.md"
// Agent会执行以下操作:
// 1. 搜索AI代码助手
// 2. 访问文档站点
// 3. 收集定价和功能数据
// 4. 格式化为markdown表格
// 5. 保存文件并提交完成申请Data Collection Routine
数据收集例行任务
typescript
// Routine configuration:
{
name: "Daily HackerNews trending",
schedule: "0 */6 * * *", // Every 6 hours
prompt: `
1. Fetch top 30 HackerNews stories
2. Extract: title, points, comments, URL
3. Append to data/hn-trending.jsonl with timestamp
4. If any story mentions 'AI agents', save separately to data/hn-ai-agents.jsonl
`,
workspace: "./scraped-data"
}typescript
// 例行任务配置:
{
name: "Daily HackerNews trending",
schedule: "0 */6 * * *", // 每6小时一次
prompt: `
1. 获取HackerNews排名前30的故事
2. 提取:标题、点赞数、评论数、URL
3. 附加时间戳后写入data/hn-trending.jsonl
4. 如果任何故事提到'AI agents',单独保存到data/hn-ai-agents.jsonl
`,
workspace: "./scraped-data"
}Code Generation Task
代码生成任务
typescript
// Task prompt:
"Create a TypeScript function that:
- Takes an array of URLs
- Fetches each in parallel with retry logic
- Returns success/failure status for each
- Includes proper error handling and types
Save to src/utils/fetch-urls.ts with tests"
// Monitor live as agent:
// - Creates the implementation
// - Adds TypeScript types
// - Writes tests
// - Runs them to verifytypescript
// 任务提示:
"Create a TypeScript function that:
- Takes an array of URLs
- Fetches each in parallel with retry logic
- Returns success/failure status for each
- Includes proper error handling and types
Save to src/utils/fetch-urls.ts with tests"
// 实时监控Agent执行:
// - 创建实现代码
// - 添加TypeScript类型定义
// - 编写测试用例
// - 运行测试验证Content Pipeline
内容处理流水线
typescript
// Multi-step task:
"1. Read all markdown files in content/drafts/
2. For each draft:
- Check grammar with language tool
- Generate 3 title alternatives
- Create social media preview text
- Move to content/ready/ when done
3. Create summary report in content/processing-report.md"typescript
// 多步骤任务:
"1. 读取content/drafts/中的所有markdown文件
2. 对每个草稿:
- 使用语言工具检查语法
- 生成3个备选标题
- 创建社交媒体预览文本
- 完成后移至content/ready/
3. 在content/processing-report.md中创建汇总报告"CLI Commands
CLI命令
bash
undefinedbash
undefinedStart Minions server
启动Minions服务器
npx minionsai
npx minionsai
Start on custom port
在自定义端口启动
MINIONS_PORT=3000 npx minionsai
MINIONS_PORT=3000 npx minionsai
Check version
检查版本
minions --version
minions --version
Clear all data (reset)
清除所有数据(重置)
rm -rf ~/.minions/
undefinedrm -rf ~/.minions/
undefinedIntegration with Hermes
与Hermes集成
Minions connects to your local Hermes Agent installation:
typescript
// Minions creates Hermes sessions via API
// Each task = one persistent Hermes root session
// Sessions persist across Minions restarts
// Chat history stored in Hermes's databaseMinions连接到本地安装的Hermes Agent:
typescript
// Minions通过API创建Hermes会话
// 每个任务 = 一个持久化的Hermes根会话
// 会话在Minions重启后仍会保留
// 聊天历史存储在Hermes的数据库中Hermes Session Mapping
Hermes会话映射
typescript
// Task metadata (Minions SQLite):
{
id: "task_123",
title: "Research AI tools",
status: "in_progress",
hermesSessionId: "sess_abc", // Reference to Hermes
model: "claude-3-5-sonnet",
reasoningEffort: "medium"
}
// Chat transcript: stored in Hermes session database
// File outputs: in workspace directorytypescript
// 任务元数据(Minions SQLite):
{
id: "task_123",
title: "Research AI tools",
status: "in_progress",
hermesSessionId: "sess_abc", // 关联到Hermes的会话ID
model: "claude-3-5-sonnet",
reasoningEffort: "medium"
}
// 聊天记录:存储在Hermes会话数据库
// 文件输出:存储在工作区目录File Browser
文件浏览器
View agent-created files:
bash
undefined查看Agent创建的文件:
bash
// 文件会显示在Minions UI的文件浏览器中
// 按任务工作区目录组织
// 可直接从UI下载或查看示例工作区结构:
~/.minions/
├── db.sqlite # Minions任务元数据
└── workspaces/
├── task_123/ # 单个任务的工作区
│ ├── output.json
│ └── report.md
└── task_456/
└── data.csvFiles appear in the Minions UI file browser
故障排除
Organized by task workspace directory
Minions无法启动
Download or view directly from UI
—
Example workspace structure:
~/.minions/
├── db.sqlite # Minions task metadata
└── workspaces/
├── task_123/ # Per-task workspace
│ ├── output.json
│ └── report.md
└── task_456/
└── data.csv
undefinedbash
undefinedTroubleshooting
检查Node.js版本
Minions won't start
—
bash
undefinednode --version # 需为18+
Check Node.js version
检查端口是否被占用
node --version # Should be 18+
lsof -i :6969
Check if port is in use
使用其他端口
lsof -i :6969
MINIONS_PORT=8080 npx minionsai
undefinedUse different port
无法连接到Hermes
MINIONS_PORT=8080 npx minionsai
undefinedbash
undefinedCan't connect to Hermes
验证Hermes是否正在运行
—
查看Hermes安装文档:https://hermes-agent.nousresearch.com
—
Hermes通常运行在本地
—
确保防火墙允许本地连接
bash
undefinedundefinedVerify Hermes is running
任务卡在进行中
Check Hermes installation at https://hermes-agent.nousresearch.com
—
Hermes typically runs on localhost
—
Ensure firewall allows local connections
—
undefinedtypescript
// 通过UI操作:
// 1. 查看实时流输出
// 2. 检查Agent是否在等待输入
// 3. 通过聊天手动干预
// 4. 或取消并重启任务Task stuck in progress
完成度判断功能无法工作
typescript
// Use the UI to:
// 1. View live streaming output
// 2. Check if agent is waiting for input
// 3. Manually intervene via chat
// 4. Or cancel and restart the tasktypescript
// 确保已设置LLM API密钥:
// export OPENAI_API_KEY=your_key
// 在设置页面检查完成度判断配置
// 验证API配额/速率限制Completion judge not working
数据库损坏
typescript
// Ensure LLM API key is set:
// export OPENAI_API_KEY=your_key
// Check Settings page for completion judge configuration
// Verify API quota/rate limitsbash
undefinedDatabase corruption
备份当前数据
bash
undefinedcp -r ~/.minions/ ~/.minions.backup/
Backup current data
重置数据库
cp -r ~/.minions/ ~/.minions.backup/
rm ~/.minions/db.sqlite
Reset database
重启Minions(会创建新的数据库)
rm ~/.minions/db.sqlite
npx minionsai
Restart Minions (creates fresh database)
注意:Hermes会话数据会被保留
npx minionsai
undefinedNote: Hermes session data is preserved
最佳实践
—
任务提示编写
undefinedtypescript
// ✅ 推荐:具体、可衡量的结果
"Scrape product prices from 5 e-commerce sites,
save to products.json with timestamp,
compare to last week's data in products-history.json"
// ❌ 不推荐:模糊、无明确完成标准
"Research some products"Best Practices
工作区组织
Task Prompts
—
typescript
// ✅ Good: Specific, measurable outcomes
"Scrape product prices from 5 e-commerce sites,
save to products.json with timestamp,
compare to last week's data in products-history.json"
// ❌ Bad: Vague, no clear completion criteria
"Research some products"bash
undefinedWorkspace Organization
使用任务专属工作区
bash
undefinedtask_research/ # 研究输出
task_scraping/ # 抓取的数据
task_analysis/ # 分析报告
Use task-specific workspaces
在提示中引用文件:
task_research/ # Research outputs
task_scraping/ # Scraped data
task_analysis/ # Analysis reports
"Save output to ./results/summary-{date}.md"
undefinedReference files from prompts:
例行任务调度
"Save output to ./results/summary-{date}.md"
undefinedtypescript
// 使用cron语法设置调度
"0 9 * * 1-5" # 工作日上午9点
"*/30 * * * *" # 每30分钟一次
"0 0 * * 0" # 每周日
// 加入错误恢复逻辑:
"If website is down, retry 3 times with 5-minute delays.
Log failures to errors.log"Routine Scheduling
高级用法
—
自定义完成标准
typescript
// Use cron syntax for schedules
"0 9 * * 1-5" // 9 AM weekdays
"*/30 * * * *" // Every 30 minutes
"0 0 * * 0" // Weekly on Sunday
// Build in error recovery:
"If website is down, retry 3 times with 5-minute delays.
Log failures to errors.log"typescript
// 在任务提示中明确完成条件:
"Task is ONLY complete when:
1. 所有50个URL已处理完成
2. results.json存在且为有效JSON
3. summary.md中的error_count为0
4. 所有输出文件已提交至git"Advanced Usage
多Agent工作流
Custom Completion Criteria
—
typescript
// In task prompt, specify completion:
"Task is ONLY complete when:
1. All 50 URLs have been processed
2. results.json exists and is valid JSON
3. error_count in summary.md is 0
4. All output files are committed to git"typescript
// 创建依赖任务:
// 任务1:"Scrape data, save to data/raw.json"
// 任务2:"Read data/raw.json, analyze, create report.md"
// 任务3:"Read report.md, generate executive summary"
// 在Kanban看板上监控所有任务
// 每个任务独立推进Multi-Agent Workflows
—
typescript
// Create dependent tasks:
// Task 1: "Scrape data, save to data/raw.json"
// Task 2: "Read data/raw.json, analyze, create report.md"
// Task 3: "Read report.md, generate executive summary"
// Monitor all on Kanban board
// Each progresses independently—