Webhook 基础设施,用于接收、排队和投递 webhook。运营 Hookaido webhook 入口、持久化 webhook 队列(SQLite/Postgres),以及 webhook 投递。
Hookaido是一项面向实际任务的技能,主要用于配置第一工作流程的识别和故障识别 : 编辑 Hookaidofile , 验证、运行、 锻炼入侵/ 推/ 执行流程, 然后诊断队列健康以及 DLQ 行为。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
采用“配置优先”(config-first)工作流来实现和排查 Hookaido:编辑 Hookaidofile,验证配置,运行服务,测试入站(ingress)、拉取(pull)与执行(exec)流程,随后诊断队列健康状况及死信队列(DLQ)行为。
在本技能中,将 Hookaido v2.6.0 的模块化架构视为**增量式扩展能力**:默认保持现有工作流不变;仅当 postgres 模块、gRPC 工作者、子进程投递(deliver exec)或发布验证等功能对当前任务产生实质性助益时,才选择启用。
所有变更应保守、可逆,并在运行时操作前完成充分验证。
sqlite、memory 或 postgres)。hookaido 可在工具执行位置被访问:metadata.openclaw.install 中定义的安装动作。bash {baseDir}/scripts/install_hookaido.sh(固定版本 v2.6.0,SHA256 校验通过)。go install github.com/nuetzliches/hookaido/cmd/hookaido@v2.6.0 使用上游公共仓库 github.com/nuetzliches/hookaido。hookaido 的沙箱镜像;或通过 agents.defaults.sandbox.docker.setupCommand 在沙箱内安装。metadata.openclaw.requires.bins 约束。Hookaidofile。hookaido config fmt --config ./Hookaidofilehookaido config validate --config ./Hookaidofilehookaido config validate --config ./Hookaidofile --strict-secretshookaido run --config ./Hookaidofile --db ./.data/hookaido.dbqueue postgres,则使用:hookaido run --config ./Hookaidofile --postgres-dsn "$HOOKAIDO_POSTGRES_DSN"curl http://127.0.0.1:2019/healthz?details=1dequeue/ack/nack/extend)正常工作(支持 HTTP 拉取、批量 ack/nack,启用时还支持 gRPC 拉取)ack/nack。推荐以下基础配置:
ingress {
listen :8080
}
pull_api {
listen :9443
grpc_listen :9943 # 可选的 gRPC 拉取工作者监听器
auth token env:HOOKAIDO_PULL_TOKEN
}
/webhooks/github {
auth hmac env:HOOKAIDO_INGRESS_SECRET
pull { path /pull/github }
}
/webhooks/stripe {
auth hmac env:STRIPE_SIGNING_SECRET
deliver "https://billing.internal/stripe" {
retry exponential max 8 base 2s cap 2m jitter 0.2
timeout 10s
}
}
deliver exec)HOOKAIDO_ROUTE、HOOKAIDO_EVENT_ID、HOOKAIDO_ATTEMPT 等)。0 表示成功确认(ack);1–125 表示重试;126/127 表示立即进入 DLQ。sign 指令(编译时报错)。/webhooks/github {
auth hmac {
provider github
secret env:GITHUB_WEBHOOK_SECRET
}
deliver exec "/opt/hooks/deploy.sh" {
timeout 30s
retry exponential max 3 base 1s cap 30s jitter 0.2
env DEPLOY_ENV production
env NOTIFY_URL {env.SLACK_WEBHOOK_URL}
}
}
provider github、provider gitea、provider stripe 或 provider cituro。signature_header、timestamp_header、nonce_header 和 tolerance 均不可用(编译时报错)。/webhooks/github {
auth hmac {
provider github
secret env:GITHUB_WEBHOOK_SECRET
}
pull { path /pull/github }
}
/webhooks/gitea {
auth hmac {
provider gitea
secret env:GITEA_WEBHOOK_SECRET
}
pull { path /pull/gitea }
}
/webhooks/stripe {
auth hmac {
provider stripe
secret env:STRIPE_SIGNING_SECRET
}
pull { path /pull/stripe }
}
/webhooks/cituro {
auth hmac {
provider cituro
secret env:CITURO_WEBHOOK_SECRET
}
pull { path /pull/cituro }
}
GET {pull.path}/stream,而非重复调用 POST .../dequeue。pull 块中配置保活间隔(keepalive)与最大连接持续时间(max_duration)。# 建立 SSE 流连接(持久化,服务端主动推送事件)
curl -sS -N "http://localhost:9443/pull/github/stream"
-H "Authorization: Bearer $HOOKAIDO_PULL_TOKEN"
# 确认已接收事件
curl -sS -X POST "http://localhost:9443/pull/github/ack"
-H "Authorization: Bearer $HOOKAIDO_PULL_TOKEN"
-H "Content-Type: application/json"
-d '{"lease_id":"lease_xyz"}'
sqlite。memory 和 postgres 视为 v2 版本的**增量模块**,而非替代已有 sqlite 工作流的方案。postgres 时,须记录 DSN 来源,并在启动后验证健康状态及积压接口响应。推荐以下声明方式:
queue sqlite queue memory queue postgres
reason)。可用接口如下:
GET /healthz?details=1GET /backlog/trendsGET /dlqPOST /dlq/requeuePOST /dlq/delete--role read。--enable-mutations --role operate --principal --enable-runtime-control --role admin --pid-file reason 字段。添加至 .claude/settings.json(或全局配置 ~/.claude/settings.json):
{
"mcpServers": {
"hookaido": {
"command": "hookaido",
"args": [
"mcp", "serve",
"--config", "./Hookaidofile",
"--db", "./.data/hookaido.db",
"--role", "read"
]
}
}
}
启用操作角色(支持队列变更)时:
{
"mcpServers": {
"hookaido": {
"command": "hookaido",
"args": [
"mcp", "serve",
"--config", "./Hookaidofile",
"--db", "./.data/hookaido.db",
"--enable-mutations",
"--role", "operate",
"--principal", "claude"
]
}
}
}
MCP 服务端直接暴露结构化工具接口,无需解析 Shell 输出。Claude Code 启动时自动发现可用工具,并以类型安全的方式调用它们。
使用命令:
hookaido verify-release --checksums ./hookaido_v2.6.0_checksums.txt --require-provenancehookaido config validate 在运行时启动/重载前返回成功。hookaido config validate --strict-secrets。dequeue、ack、nack 和 extend 操作(支持 HTTP、SSE 及可选的 gRPC 传输),启用时亦支持批量 ack/nack。queue postgres,运行时须通过 --postgres-dsn 或 HOOKAIDO_POSTGRES_DSN 启动。env: 或 file: 引用中。references/operations.md 获取命令片段与 API 请求体模板。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章