2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00
2026-02-15 22:02:21 +08:00

spaceflow

Spaceflow 的工作流系统,提供统一的 CI/CD 管理和 AI 代码审查能力。

功能特性

  • 统一管理手动触发的 CI:提供统一的 UI 系统管理手动触发的 CI 任务
  • 可扩展的 UI 界面支持命令行、Web 界面、飞书对话机器人等多种交互方式
  • 可自定义的通知消息模板:灵活配置通知消息格式
  • 可扩展的通知方式:支持多种通知渠道
  • 按仓库隔离:各仓库配置独立,互不干扰
  • PR 流程自动化AI 审核、ESLint 检查、重复代码检查、自定义仓库脚本等

项目结构

spaceflow/
├── actions/           # GitHub Actions
├── core/              # 核心服务NestJS 应用)
│   └── src/
│       ├── commands/  # CLI 命令模块
│       │   ├── review/          # 代码审查
│       │   ├── publish/         # CI 发布
│       │   ├── ci-scripts/      # 自定义脚本执行
│       │   ├── ci-shell/        # Shell 命令执行
│       │   ├── claude-setup/    # Claude 配置
│       │   └── period-summary/  # 周期总结
│       └── shared/   # 共享模块
│           ├── feishu-sdk/      # 飞书 SDK
│           ├── git-sdk/         # Git 命令封装
│           ├── git-provider/    # Git Provider 适配器
│           ├── llm-proxy/       # LLM 统一代理
│           ├── review-spec/     # 审查规范管理
│           ├── review-report/   # 审查报告格式化
│           └── storage/         # 通用存储模块
├── .github/
│   └── workflows/     # GitHub Actions 工作流文件
└── spaceflow.json  # 项目配置

核心命令

review

基于 LLM 的自动化代码审查,支持 OpenAI、Claude 等多种 LLM 模式。

# 审查 PR
npx spaceflow review -p 123 -l openai

# 审查两个分支之间的差异
npx spaceflow review -b main --head feature/xxx -l openai

# 仅分析删除代码
npx spaceflow review -p 123 --deletion-only -l openai

详细文档:Review 模块文档

publish

自动化版本发布,基于 release-it 实现版本管理和变更日志生成。

ci-scripts

执行仓库中的自定义脚本。

ci-shell

执行自定义 Shell 命令。

claude-setup

配置 Claude CLI 工具。

period-summary

生成周期性工作总结,支持飞书消息推送。

配置

在项目根目录创建 spaceflow.json 配置文件:

export default {
  changelog: {
    preset: {
      type: [
        { type: "feat", section: "新特性" },
        { type: "fix", section: "修复BUG" },
        // 更多配置...
      ],
    },
  },
  review: {
    claudeCode: {
      baseUrl: process.env.CLAUDE_CODE_BASE_URL,
      authToken: process.env.CLAUDE_CODE_AUTH_TOKEN,
      model: process.env.CLAUDE_CODE_MODEL || "ark-code-latest",
    },
    openai: {
      baseUrl: process.env.OPENAI_BASE_URL || "https://api.openai.com/v1",
      apiKey: process.env.OPENAI_API_KEY,
      model: process.env.OPENAI_MODEL || "gpt-4o",
    },
    includes: ["*/**/*.ts", "!*/**/*.spec.*", "!*/**/*.config.*"],
    generateDescription: true,
    lineComments: true,
    verifyFixes: true,
    analyzeDeletions: true,
    concurrency: 10,
    retries: 3,
  },
  /**
   * 支持的编辑器列表,用于自动关联插件到对应的配置目录
   * 可选值: "claudeCode" (.claude), "windsurf" (.windsurf), "cursor" (.cursor), "opencode" (.opencode)
   * 默认值: ["claudeCode"]
   */
  support: ["claudeCode", "windsurf", "cursor"],
};

插件系统

Spaceflow 支持将插件自动关联到多个编辑器的配置目录中。通过在 spaceflow.json 中配置 support 字段,你可以让安装的技能和命令同时支持多个 AI 编程工具。

支持的编辑器

  • claudeCode: 关联到 .claude/
  • windsurf: 关联到 .windsurf/
  • cursor: 关联到 .cursor/
  • opencode: 关联到 .opencode/

自动关联逻辑

当你运行 spaceflow install 时,系统会:

  1. 下载/链接插件到 .spaceflow/ 目录。
  2. 根据 support 配置,在对应的编辑器目录下创建 skillscommands 的符号链接。
  3. 如果是全局安装 (-g),则会关联到家目录下的对应编辑器目录(如 ~/.claude/)。

开发

安装依赖

pnpm install

构建

pnpm build

运行测试

pnpm test

代码检查

pnpm lint

代码格式化

pnpm format

GitHub Actions 工作流

项目包含多个预配置的 GitHub Actions 工作流:

  • pr-review.yml:自动 PR AI 审查
  • pr-review-command.yml:手动触发 PR 审查
  • core-command.yml:运行任意 spaceflow 命令
  • actions-test.ymlActions 测试

Git Flow

参考飞书文档

许可证

UNLICENSED

Description
No description provided
Readme 3.5 MiB
Languages
TypeScript 97.4%
JavaScript 2.1%
Handlebars 0.5%