Skip to content

onevcat/MeowHook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeowHook

这是一个个人自用的实验/参考项目,不是通用产品,也不是 production-ready 的服务模板。公开代码主要用于展示事件路由、agent 调度和回写流程;真实部署前需要自行完成安全审计、权限模型、运维隔离、监控告警和密钥管理。

MeowHook 是一个可扩展的事件驱动 Agent 网关:

任意事件源(Webhook) → 统一路由/最小解析 → OpenClaw 执行 → 回写到原平台

当前支持 GitHub 与 Linear 触发:

  • GitHub:评论 mention 与 CI 失败自愈触发
  • Linear:issue assign 与 comment mention

Dev

cp .env.example .env
npm install
npm run dev:local

Endpoint

  • POST /webhooks/github
  • POST /webhooks/linear
  • GET /healthz

Quality

npm run check
npm test

Local smoke test

Start service first, then:

GITHUB_WEBHOOK_SECRET=replace-with-secret npm run smoke:local

Production Status

这个仓库不承诺生产环境可用性。当前实现假设运行者完全理解自己的 GitHub App、Linear、OpenClaw、agent 账号和回写权限配置;默认配置仅作为示例。若要部署到公网,请至少自行处理:

  • 使用独立的 GitHub App / token / webhook secret,并放在环境变量或本机 secret 文件中。
  • 将公网 webhook 入口、反向代理、TLS、访问控制和 rate limit 放到仓库外配置。
  • 为 agent 账号设置最小权限,并审计所有自动回写路径。
  • 配置 ALLOWED_GITHUB_USERS / ALLOWED_LINEAR_USERS / TARGET_AGENT_LOGINS / REPO_ACCESS_SCRIPT 等本地环境变量。
  • 建立日志脱敏、告警、备份、升级和 incident response 流程。

Current behavior (MVP)

  • 评论 mention 触发:通过 ALLOWED_GITHUB_USERS 控制白名单
  • Linear assign/mention 触发:通过 ALLOWED_LINEAR_USERS 控制白名单
  • CI 自愈触发:workflow_run.completedconclusion=failure,当触发者是 agent(onevclaw/onevpaw/onevtail)时自动分配给对应 agent
  • 无权限默认:静默拒绝(仅日志)
  • reaction 默认开启(GitHub/Linear:👀 处理中;🚀 全部完成;😕 失败)
  • 最终评论由各 agent 自己回写(MeowHook 本身不发业务评论)
  • 可选 mention polling 模式(通过 GitHub notifications 轮询 reason=mention
  • CI 自愈可通过环境变量控制:CI_AUTOFIX_ENABLED / CI_AUTOFIX_REPO_ALLOWLIST / CI_AUTOFIX_BRANCH_ALLOW_REGEX / CI_AUTOFIX_MAX_ROUNDS
  • 可选逻辑身份/执行后端拆分:通过 OPENCLAW_AGENT_EXECUTION_TARGETS 把某个 GitHub mention 逻辑身份映射到另一条 OpenClaw 执行路径(例如 onevtail=claude),并可用 OPENCLAW_AGENT_SESSION_KEYS 指定专用 hook session 基准前缀
  • 评论 mention 默认按「同 repo + 同 PR/Issue + 同 logical agent」复用会话 key;不同 PR/Issue 隔离。会话映射保存在进程内内存,每月 1 日 03:00(本地时区)自动清空一轮

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors