SuperAPI AI 工具集

devloop

编程与开发

查看项目

更新于 10-15 09:44

技能介绍

用途

DevLoop 是一个基于 Rust 的开发可观测性工具,提供 TUI(终端用户界面)用于可视化 Git 活动与 Claude AI 会话。本技能是配合 DevLoop 使用的综合助手,覆盖两个方向:一是使用 DevLoop 分析开发模式,二是参与 DevLoop 自身的开发。

主要能力

1. DevLoop 命令封装

技能提供对常用 DevLoop 命令的快速访问,并说明何时以及如何使用它们:

  • just analyze [BRANCH]:AI 分支分析(单一视角)
  • just analyze --council [BRANCH]:AI 分支分析(多角色 council 模式)
  • just logs [SESSION]:查看 Claude Code 会话记录
  • just export:将时间线数据导出为 JSON
  • just run:启动交互式 TUI
  • 开发命令:just dev(调试模式)、just test(运行测试)、just fmt(格式化代码)、just check(快速编译检查)、just relay(WebSocket 中继服务器)

各命令适用场景:analyze 用于合并前的快速健康检查;analyze --council 用于从多个 AI 视角(安全、性能、创意等)进行深度分析;logs 用于回顾过往 Claude Code 会话与开发历史;export 用于获取结构化数据以进行自定义分析或报告;run 用于交互式探索 Git 活动与时间线。

2. 分支分析助手

Council 模式提供来自 5 种不同 AI 角色的洞察:

  • Strict Critic(严格批评者):保守的风险评估,关注潜在问题
  • Creative Explorer(创意探索者):创新机会与创造性解决方案
  • General Analyst(通用分析师):平衡视角,整体健康评估
  • Security Reviewer(安全审查者):安全关切与漏洞检测
  • Performance Analyst(性能分析师):性能影响与优化机会

健康评分范围为 0.0 到 1.0:0.8-1.0 表示优秀、可合并;0.6-0.8 表示良好、建议小幅改进;0.4-0.6 表示一般、合并前应处理建议;0.0-0.4 表示较差、存在需要关注的重要问题。

每位分析师提供:health_score(数值评估)、risk_level(low/medium/high)、insights(具体观察数组)、recommendations(可操作建议)。

3. 开发可观测性

Git 活动分析追踪:分支生命周期与活动模式、提交频率与时机、会话与提交的关联、开发节奏与关注领域。

Claude 会话元数据位于 ~/.claude/projects/(项目配置)和 ~/.claude/transcripts/(会话记录)。DevLoop 将会话与 Git 活动关联,用于识别哪些会话导致了哪些提交、检测上下文切换与多任务处理、测量规划(会话)与实现(提交)之间的时间、呈现生产力模式。

生产力洞察包括:会话到提交的延迟、分支专注度(单分支 vs 多分支开发模式)、提交批处理(小而频繁的提交 vs 大批量提交)、AI 依赖度(会话频率与代码质量的相关性)。

4. DevLoop 开发

DevLoop 采用六边形(端口与适配器)架构,分为三层:TUI 层(crates/cli,Ratatui UI 组件,App<T, B, I> 泛型适配器)、领域层(crates/components,纯领域模型零依赖,基于 trait 的端口如 TimelineProvider、BranchAggregator、InsightProvider)、适配器层(crates/cli/adapters,包括 GitAdapter、BamlAdapter、GkgAdapter、UnifiedAdapter、CouncilAdapter)。

关键设计原则:领域纯净(components/src/domain.rs 零外部依赖)、依赖注入(App 接收 trait 对象而非具体类型)、可测试性(trait 边界支持测试替身而无需 mock)、可序列化模式(components/src/schema.rs 用于跨运行时渲染)。

工作区 crate 包括:crates/cli(主 TUI 应用)、crates/components(领域模型、端口、git 适配器)、crates/baml(AI 分析模式与生成的客户端)、crates/slides(基于 BAML 的幻灯片生成)、crates/devloop-cli(面向代理/脚本的非交互式 CLI)、crates/relay(事件 WebSocket 广播服务器)。

BAML 文件在 crates/baml/baml_src/ 中定义 AI 分析函数。BAML 最佳实践:类使用 PascalCase、字段使用 snake_case、所有字段需要 @description 注解、提示词始终以 {{ ctx.output_format }} 结尾、简单提取用 Mini 模型而推理用完整模型、在 clients.baml 中定义客户端以便复用、测试名称具有描述性。

GKG(GitLab Knowledge Graph)集成提供代码结构,可获取代码定义、代码引用和仓库映射。GKG 设置(v0.25.0+):先 gkg server stop,再 gkg index .,最后 gkg server start。注意 v0.25.0+ 移除了 HTTP 索引 API,需直接使用 CLI。

使用方式

使用 DevLoop 的前提:已安装并构建 DevLoop(just run 可运行)、有待分析的 Git 仓库、设置 OPENAI_API_KEY 或 ANTHROPIC_API_KEY(用于 AI 分析)。

开发 DevLoop 的前提:Rust 工具链(edition 2024)、just 命令运行器、可选的 GKG 服务器用于代码结构集成。

常见开发任务命令:just test(运行测试)、cargo test -p devloop-cli(运行特定包测试)、just fmt(格式化所有代码)、cargo clippy --workspace(lint)、just check(快速编译检查)、just clean(清理构建产物)、zellij --layout devloop-layout.kdl(同时运行 relay 与 TUI 开发)。

适用场景

  • 在分支上运行 DevLoop 分析并解读结果
  • 理解 council 模式的各种视角
  • 审查 Claude Code 会话记录与开发模式
  • 参与 DevLoop 代码库开发(架构、BAML、GKG 集成)
  • 调试或扩展 DevLoop 功能
  • 生成开发可观测性洞察

限制

  • 使用 AI 分析需要 OPENAI_API_KEY 或 ANTHROPIC_API_KEY
  • GKG 集成需要 GKG 服务器,但 UnifiedAdapter 设计为在 GKG 不可用时优雅降级
  • 健康评分是信号而非绝对真理,council 模式使用多视角,单一分析师可能过于乐观或悲观
  • BAML 变更后需重新生成客户端(cd crates/baml && baml-cli generate),否则测试可能失败
  • 具体收费、价格、平台支持等信息暂未提供