事件、插件与质量门禁

读到这里,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:

  1. installPluginsAndHooks
  2. applyUserPolicyPruning
  3. wireHooks
  4. 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.goSkill 质量
publiccontent公开内容扫描
semantic语义审查
skillscanSkill 内容采集和检查

这解释了为什么这个仓库的文档、skills、examples、error contract 都像代码一样被对待。Agent-Native 项目里,“文档错了”就是运行时 bug。

下一篇:总结与参考