欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

看板工作者

2026-05-20 · Skills中心

看板工作者

本 skill 是 Hermes Kanban worker 的深入指南:良好的交接格式、重试诊断、边缘情况。

工作区处理

你的工作区类型决定了你在 $HERMES_KANBAN_WORKSPACE 中的行为:

类型含义如何工作
scratch全新临时目录,只属于你自由读写;任务归档时会被 GC
dir:共享持久目录其他运行会读取你写的内容。把它当作长期状态
worktreeGit worktree 在解析路径在此提交工作

租户隔离

如果设置了 $HERMES_TENANT,任务属于租户命名空间。读写持久记忆时,用租户前缀记忆条目:

  • 正确:business-a: Acme is our biggest customer
  • 错误(泄露):Acme is our biggest customer

良好的摘要 + 元数据格式

kanban_complete(summary=..., metadata=...) 交接是下游 worker 了解你做了什么的方式:

编码任务:


kanban_complete(
    summary="shipped rate limiter — token bucket, keys on user_id with IP fallback, 14 tests pass",
    metadata={
        "changed_files": ["rate_limiter.py", "tests/test_rate_limiter.py"],
        "tests_run": 14,
        "tests_passed": 14,
    },
)

审查任务:


kanban_complete(
    summary="reviewed PR #123; 2 blocking issues found (SQL injection, missing CSRF)",
    metadata={
        "pr_number": 123,
        "findings": [
            {"severity": "critical", "file": "api/search.py", "line": 42, "issue": "raw SQL concat"},
            {"severity": "high", "file": "api/settings.py", "issue": "missing CSRF middleware"},
        ],
        "approved": False,
    },
)

声明你实际创建的卡片

如果你的运行产生了新的看板任务(通过 kanban_create),在 kanban_complete 上通过 created_cards 传递 id:


# 正确——捕获返回值,然后声明它们
c1 = kanban_create(title="remediate SQL injection", assignee="security-worker")
c2 = kanban_create(title="fix CSRF middleware", assignee="web-worker")

kanban_complete(
    summary="Review done; spawned remediations for both findings.",
    metadata={"pr_number": 123, "approved": False},
    created_cards=[c1["task_id"], c2["task_id"]],
)

阻塞原因

差:"stuck"——人类没有上下文。

好:一句话命名你需要做出的具体决定:


kanban_block(reason="Rate limit key choice: IP (simple, NAT-unsafe) or user_id (requires auth)?")

重试场景

如果你打开任务,kanban_show 返回带一个或多个已关闭运行的 runs: [...],你就是重试:

  • outcome: "timed_out"——之前的尝试达到 max_runtime_seconds。你可能需要分块工作
  • outcome: "crashed"——OOM 或段错误。减少内存占用
  • outcome: "spawn_failed"——通常是 profile 配置问题。通过 kanban_block 询问人类
  • outcome: "blocked"——之前的尝试阻塞;取消阻塞评论现在应该在线程中

绝对不要

  • 调用 delegate_task 代替 kanban_createdelegate_task 用于短期推理子任务;kanban_create 用于跨 agent 交接
  • 修改 $HERMES_KANBAN_WORKSPACE 之外的文件,除非任务正文说要这样做
  • 创建分配给你自己的后续任务——分配给正确的专家
  • 完成你实际上没完成的任务。改为阻塞它

注意事项

任务状态可能在派发和启动之间变化。始终先 kanban_show。如果报告 blockedarchived,停止。

工作区可能有陈旧产物。特别是 dir:worktree 工作区可能有之前运行的文件。阅读评论线程了解状态。

评论区

发表评论