Hermes Agent通过Kanban看板实现任务自动拆解、并行执行与闭环管理:启用kanban后配置SQLite存储、定义角色、创建父任务触发Orchestrator拆解,Dispatcher轮询分发,支持交互式委派与JSONL批量调度,并通过Hook脚本完成飞书通知。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让Hermes Agent把一个复杂任务自动拆解成多个子任务,同时交给不同AI助手并行执行,并确保整个流程无人干预、状态可查、失败可恢复——这不是靠人工调度,而是靠系统级编排能力驱动。
启用Kanban看板实现任务持久化与自动分发
第一步:编辑config.yaml,将kanban.enabled设为true,否则所有任务都只是内存中的一次性快照,进程重启即丢失。
第二步:配置存储后端为sqlite,命令行执行hermes kanban init --storage sqlite。用文件系统存储虽简单,但多进程并发写入时会触发数据库锁,导致子任务卡在ready状态无法被Dispatcher拾取。
第三步:在kanban.roles下声明至少两个角色,例如researcher和reporter,并确保对应Profile已存在且工具集完整。角色名必须与Profile名完全一致,大小写敏感,否则Dispatcher匹配失败后任务永远滞留。
第四步:通过CLI创建父任务:hermes kanban create --title "竞品分析Q2" --assign-to researcher。这一步会触发Orchestrator自动拆解出3个子任务,全部写入~/.hermes/kanban.db,状态初始为todo。
第五步:等待Dispatcher轮询(默认60秒周期),当看到日志中出现[Dispatcher] picked up task #12745, routing to profile: researcher,说明任务已进入自动流转通道。
配置delegate_task实现上下文隔离的并行执行
方法一:交互式单任务委派
在CLI中输入/delegate --task "检查requirements.txt中所有包的最新版本兼容性",系统会立即拉起一个独立终端会话,加载devops Profile并仅启用pip_checker和semver_analyzer两个工具。这一步不依赖Kanban,适合调试或临时任务,但无法追踪状态。
方法二:批量JSONL驱动的并行调度
准备tasks.jsonl,每行是一个JSON对象,必须包含goal、toolsets和role字段,例如:{"goal":"爬取techcrunch.com今日头条","toolsets":["web_crawler"],"role":"researcher"}。
执行python batch_runner.py --dataset_file=tasks.jsonl --num_workers=3。注意:若num_workers超过parallelism.max_workers配置值,多余任务会被排队而非拒绝,但实际并发数仍受限制。
【max_workers必须≤3】——Hermes默认硬编码了子代理并发上限为3,强行设为4会导致第4个子代理启动失败并静默跳过,日志中仅提示Worker limit exceeded, skipping task,无错误退出码。
构建自动化闭环:从触发到通知
1. 在~/.hermes/hooks/下新建on_kanban_done.py,接收stdin传入的JSON格式任务完成事件,提取task_id和output_summary字段。
2. 脚本内调用飞书Webhook发送消息,内容模板为:"✅ 任务#{task_id}已完成\n{output_summary}"。必须使用sys.stdout.write(json.dumps({...}))输出标准响应,否则Hermes会判定Hook执行失败。
3. 将该脚本路径注册进全局Hook:echo 'HERMES_HOOK_ON_KANBAN_DONE=/home/user/.hermes/hooks/on_kanban_done.py' >> ~/.hermes/.env。
4. 执行hermes kanban watch启动监听模式,此时只要任意任务状态变为done,就会触发该脚本并推送通知到飞书群。
这一步操作起来很简单,直接把文件拖进去就行。但要注意:Hook脚本必须有chmod +x权限,且Python解释器路径需与Hermes运行环境一致,否则会报exec format error。


















