SwissArmyHammer

SwissArmyHammer 使用说明

项目简介

SwissArmyHammer 是一个面向开发者的智能自动化编码助手,基于 Model Context Protocol (MCP) 构建。用户只需编写简短的 Markdown 规格说明,即可启动多工具协作的工作流,系统自动完成代码实现、测试及文档生成。它支持长时间持续的自主执行与上下文管理,极大提升软件开发的自动化和智能化水平。

主要功能点

  • 自动化代码生成:通过简单的 Markdown 规格描述,自动生成完整的 Rust CLI 应用,包括文件操作、HTTP 调用、参数解析和错误处理。
  • 丰富的专业工具集:内置 25+ 高级工具,覆盖文件系统操作、Git 集成、代码规则与待办事项、Web 数据获取、Shell 安全执行等。
  • 多步工作流编排:支持使用 Markdown 定义复杂的状态机工作流,实现多步骤的任务自动执行与上下文传递。
  • Agent 式智能执行:具备多小时自动执行能力,能根据需求变更进行计划和再计划,支持错误恢复和自我纠错。
  • 完全文件系统驱动:所有配置、规则、提示和流程均以 Markdown 文件管理,无需数据库或云服务,避免锁定和依赖。
  • 与 MCP 客户端高兼容性:专为 MCP 服务端设计,支持多种传输协议,方便 LLM 客户端集成和调用。

安装步骤

  1. 通过 Homebrew 安装(macOS 环境):

    • 'brew install swissarmyhammer/tap/swissarmyhammer-cli'
  2. 或者使用 Cargo 直接从 GitHub 源码安装:

    • 'cargo install --git https://github.com/swissarmyhammer/swissarmyhammer swissarmyhammer-cli'
  3. 配置 MCP 客户端(以 Claude Code 为例)注册 SwissArmyHammer 作为 MCP 服务器:

    {
      "server_name": "sah",
      "command": "sah",
      "args": ["serve"],
      "description": "启动 SwissArmyHammer MCP 服务器,用于 LLM 客户端上下文与工具调用"
    }
  4. 运行健康检查确认环境:

    • 'sah doctor'

服务器配置示例

MCP 客户端需配置如下 JSON 对象用以启动和连接 SwissArmyHammer MCP 服务器:

{
  "name": "SwissArmyHammer",
  "command": "sah",
  "args": ["serve"],
  "description": "启动 SwissArmyHammer MCP 服务器,为客户端提供标准化上下文与工具服务"
}
  • name:服务器标识名称
  • command:启动 SwissArmyHammer 命令行工具的可执行命令
  • args:命令行参数,'serve' 表示启动 MCP 服务器模式
  • description:服务器简要说明

基本使用方法

  1. 创建项目目录

    mkdir my-project && cd my-project
    git init
  2. 编写规格文件 'spec.md',用自然语言简单描述您的软件需求。例如:

    # Weather CLI
    创建一个命令行工具,可以通过 OpenWeatherMap API 查询任意城市的实时天气,
    显示温度、湿度和天气状况,并支持错误处理和配置管理。
  3. 启动规划与执行工作流

    sah plan spec.md
    sah do
  4. 查看生成的代码和文档,获得一个自动实现的功能完整的 Rust CLI 应用。

  5. 构建和运行生成的程序,验证自动化完成的项目。

  6. 高级功能

    • 使用自定义**提示(Prompts)工作流(Workflows)**文件定义复杂自动化逻辑。
    • 支持多步数据抓取、分析和报告生成,嵌套调用多种工具与外部 API。
    • 支持环境变量和配置文件管理。

SwissArmyHammer 旨在大幅简化 AI 助力软件开发的复杂度,让您只需专注于需求与设计,其他由助理自动完成。

服务器信息