事件、插件与质量门禁
事件、插件与质量门禁
读到这里,lark-cli 已经不只是命令行封装,而是一个带事件、扩展、策略和质量门禁的 Agent 操作面。
事件系统
事件相关代码分两层:
| 目录 | 作用 |
|---|---|
cmd/event/ | CLI 命令:list、schema、consume、status、stop、bus 等 |
events/ | 事件适配:IM、minutes、task、VC、whiteboard 等 |
internal/event/ | bus、consume、protocol、schema、source、transport 等基础设施 |
这让 Agent 不只能主动调用 API,也能消费飞书侧事件,例如消息、任务、会议生命周期、录制生成等。
插件与扩展
cmd/build.go 在注册内置命令后,会安装插件和 hook:
installPluginsAndHooks;applyUserPolicyPruning;wireHooks;- root 执行结束后 emit
Shutdown。
extension/ 目录则定义更底层的扩展点:credential、fileio、platform、transport、contentsafety。它们让 CLI 可以在不同环境里替换凭证来源、文件 IO 或传输层,而不把这些策略写死在每个命令里。
质量门禁
internal/qualitygate 很值得读,因为它暴露了维护者最在意的稳定性:
| 模块 | 检查方向 |
|---|---|
rules/dryrun.go | 写入命令是否具备 dry-run 规则 |
rules/output.go | 输出形状是否符合契约 |
rules/errorfacts.go | 错误事实是否稳定 |
rules/naming.go | 命名一致性 |
rules/refs.go | 引用和文档链接 |
rules/skillquality.go | Skill 质量 |
publiccontent | 公开内容扫描 |
semantic | 语义审查 |
skillscan | Skill 内容采集和检查 |
这解释了为什么这个仓库的文档、skills、examples、error contract 都像代码一样被对待。Agent-Native 项目里,“文档错了”就是运行时 bug。
下一篇:总结与参考。