项目简介

Cyrus 是一个强大的 AI 开发代理,旨在自动化 Linear 平台上的软件开发工作流。它能够监控 Linear 任务,创建独立的 Git 工作区,并利用 Claude Code AI 模型处理这些任务。Cyrus 可以在您的本地计算机上安全运行,通过 Linear API 进行任务更新和协作。

主要功能点

  • 线性任务自动化:自动监控分配给 Cyrus 的 Linear 任务,创建独立的工作区进行处理。
  • AI 驱动的开发:利用 Claude Code 进行代码生成、问题调试、功能实现和需求分析。
  • Git 工作流集成:为每个任务创建 Git 工作区,确保开发环境隔离且易于管理。
  • 上下文与工具管理:动态配置 AI 可用的工具集,包括文件读写、Bash 命令、Web 搜索等,并可集成外部 MCP 服务器以扩展功能。
  • Prompt 模板定制:支持根据 Linear 标签(如 Bug, Feature)自动切换 AI 模式和 Prompt 模板,优化 LLM 交互。
  • 子代理协调:支持 AI 代理创建和协调子代理会话,实现复杂任务的分解和委托。
  • 持久化会话:代理会话状态可持久化,确保重启后能恢复工作。

安装步骤

  1. 安装 Node.js 和 npm:确保您的系统已安装 Node.js (推荐 LTS 版本) 和 npm。
  2. 安装 Git 和 GitHub CLI (gh)
    • 安装 Git:'sudo apt install git' (Linux) 或 'brew install git' (macOS)。
    • 安装 GitHub CLI (gh):'brew install gh' (macOS) 或访问 GitHub CLI 查找适合您平台的说明。
    • 使用 'gh auth login' 登录 GitHub。
  3. 安装 Cyrus CLI
    npm install -g cyrus-ai
  4. 运行 Cyrus 并完成设置
    cyrus
    按照提示连接您的 Linear 工作区(通过 OAuth),配置您的代码仓库设置,并设置允许的工具和可选的 MCP 服务器。Cyrus 会将配置保存在 '~/.cyrus/config.json'。

MCP 服务器配置

Cyrus 在内部启动并管理 MCP 服务器,MCP 客户端(例如 Claude Code)需要配置 Cyrus 的 MCP 服务器。以下是 MCP 客户端配置 Cyrus 作为 MCP 服务器的参考信息(JSON 格式):

{
  "mcpServers": {
    "linear": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@tacticlaunch/mcp-linear"],
      "env": {
        "LINEAR_API_TOKEN": "YOUR_LINEAR_API_TOKEN" // 替换为你的Linear API令牌
      }
    },
    "cyrus-tools": {
      "type": "sdk",
      "module": "path/to/cyrus-claude-runner/dist/tools/cyrus-tools/index.js", // Cyrus工具模块的路径
      "initParams": ["YOUR_LINEAR_API_TOKEN"], // 初始化参数,第一个是你的Linear API令牌
      "options": {
        "parentSessionId": "OPTIONAL_PARENT_SESSION_ID", // 可选,用于子会话追溯父会话
        "onSessionCreated": "CALLBACK_FUNCTION", // 可选,会话创建回调函数
        "onFeedbackDelivery": "CALLBACK_FUNCTION" // 可选,反馈传递回调函数
      }
    }
  }
}

参数说明:

  • 'linear': Linear 官方 MCP 服务器,提供 Linear API 的工具访问。
    • 'type': 'stdio' 表示通过标准 I/O 协议通信。
    • 'command': 启动服务器的命令,这里使用 'npx' 运行 '@tacticlaunch/mcp-linear' 包。
    • 'args': 传递给命令的参数。
    • 'env': 环境变量,'LINEAR_API_TOKEN' 需替换为有效的 Linear API 令牌。
  • 'cyrus-tools': Cyrus 自身实现的 MCP 服务器,提供了额外的 Linear 相关工具。
    • 'type': 'sdk' 表示作为 SDK 模块直接集成。
    • 'module': 指向 Cyrus 内部 'cyrus-tools' 模块的路径。
    • 'initParams': 模块初始化参数,需要传入 Linear API 令牌。
    • 'options': 可选参数,用于配置会话管理回调。

请注意:上述配置信息是给 MCP 客户端(如 Claude Code)使用的。在实际使用 Cyrus CLI 时,您不需要手动编辑这些 MCP 服务器的配置,Cyrus 会在内部自动为您管理和启动它们。您只需在 Cyrus 的配置文件 ('~/.cyrus/config.json') 中,通过 'mcpConfigPath' 属性指定其他外部 MCP 配置文件的路径(如果有),或通过 'allowedTools' 和 'disallowedTools' 配置来控制 AI 可用工具。

基本使用方法

  1. 启动 Cyrus
    cyrus
    保持此命令运行,Cyrus 将开始监控分配给您的 Linear 任务。
  2. 分配任务:在 Linear 中将一个问题分配给您自己(或 Cyrus 账户),Cyrus 将会自动检测并开始处理。
  3. 查看进度:Cyrus 会在终端输出处理进度,并在 Linear 任务中发布评论以更新状态。
  4. 配置调整:您可以随时编辑 '~/.cyrus/config.json' 文件来调整仓库设置、允许的工具、Prompt 模板路由等,然后重启 Cyrus 使更改生效。

信息

分类

开发者工具