minions-hermes-mission-control

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Minions 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 minionsai
The server starts at
http://localhost:6969
bash
npx minionsai
服务器将启动在
http://localhost:6969

Check Version

版本检查

bash
minions --version
npm view minionsai version
bash
minions --version
npm view minionsai version

Data 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
undefined
bash
undefined

API 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
undefined
export MINIONS_DATA_DIR=/path/to/data
undefined

Settings 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

创建任务

  1. Open Minions at
    http://localhost:6969
  2. Click "New Task" or use the chat interface
  3. Describe what you want the agent to do
  4. Agent begins autonomous execution
  1. http://localhost:6969
    打开Minions
  2. 点击“New Task”或使用聊天界面
  3. 描述你希望Agent完成的工作
  4. 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 turn
typescript
// 任务会实时显示在Kanban列中
// 在任务详情页查看实时流输出
// 完成度判断会在Agent每轮操作后运行

Reviewing Completions

审核任务完成情况

  1. Agent moves task to "In Review" when it believes work is done
  2. Review the chat transcript and outputs
  3. Either:
    • Approve and move to "Done"
    • Send back with feedback for more work
  1. 当Agent认为工作完成时,会将任务移至“审核中”列
  2. 查看聊天记录和输出内容
  3. 选择:
    • 批准并移至“已完成”
    • 退回并附上反馈,要求继续工作

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 completion
typescript
// 任务提示:
"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 verify
typescript
// 任务提示:
"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
undefined
bash
undefined

Start 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/
undefined
rm -rf ~/.minions/
undefined

Integration 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 database
Minions连接到本地安装的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 directory
typescript
// 任务元数据(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.csv

Files 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
undefined
bash
undefined

Troubleshooting

检查Node.js版本

Minions won't start

bash
undefined
node --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
undefined

Use different port

无法连接到Hermes

MINIONS_PORT=8080 npx minionsai
undefined
bash
undefined

Can't connect to Hermes

验证Hermes是否正在运行

查看Hermes安装文档:https://hermes-agent.nousresearch.com

Hermes通常运行在本地

确保防火墙允许本地连接

bash
undefined
undefined

Verify Hermes is running

任务卡在进行中

Check Hermes installation at https://hermes-agent.nousresearch.com

Hermes typically runs on localhost

Ensure firewall allows local connections

undefined
typescript
// 通过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 task
typescript
// 确保已设置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 limits
bash
undefined

Database corruption

备份当前数据

bash
undefined
cp -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
undefined

Note: Hermes session data is preserved

最佳实践

任务提示编写

undefined
typescript
// ✅ 推荐:具体、可衡量的结果
"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
undefined

Workspace Organization

使用任务专属工作区

bash
undefined
task_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"
undefined

Reference files from prompts:

例行任务调度

"Save output to ./results/summary-{date}.md"
undefined
typescript
// 使用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. 所有50URL已处理完成
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