SwissArmyHammer
SwissArmyHammer 使用说明
项目简介
SwissArmyHammer 是一个面向开发者的智能自动化编码助手,基于 Model Context Protocol (MCP) 构建。用户只需编写简短的 Markdown 规格说明,即可启动多工具协作的工作流,系统自动完成代码实现、测试及文档生成。它支持长时间持续的自主执行与上下文管理,极大提升软件开发的自动化和智能化水平。
主要功能点
- 自动化代码生成:通过简单的 Markdown 规格描述,自动生成完整的 Rust CLI 应用,包括文件操作、HTTP 调用、参数解析和错误处理。
- 丰富的专业工具集:内置 25+ 高级工具,覆盖文件系统操作、Git 集成、代码规则与待办事项、Web 数据获取、Shell 安全执行等。
- 多步工作流编排:支持使用 Markdown 定义复杂的状态机工作流,实现多步骤的任务自动执行与上下文传递。
- Agent 式智能执行:具备多小时自动执行能力,能根据需求变更进行计划和再计划,支持错误恢复和自我纠错。
- 完全文件系统驱动:所有配置、规则、提示和流程均以 Markdown 文件管理,无需数据库或云服务,避免锁定和依赖。
- 与 MCP 客户端高兼容性:专为 MCP 服务端设计,支持多种传输协议,方便 LLM 客户端集成和调用。
安装步骤
-
通过 Homebrew 安装(macOS 环境):
- 'brew install swissarmyhammer/tap/swissarmyhammer-cli'
-
或者使用 Cargo 直接从 GitHub 源码安装:
- 'cargo install --git https://github.com/swissarmyhammer/swissarmyhammer swissarmyhammer-cli'
-
配置 MCP 客户端(以 Claude Code 为例)注册 SwissArmyHammer 作为 MCP 服务器:
{ "server_name": "sah", "command": "sah", "args": ["serve"], "description": "启动 SwissArmyHammer MCP 服务器,用于 LLM 客户端上下文与工具调用" } -
运行健康检查确认环境:
- 'sah doctor'
服务器配置示例
MCP 客户端需配置如下 JSON 对象用以启动和连接 SwissArmyHammer MCP 服务器:
{ "name": "SwissArmyHammer", "command": "sah", "args": ["serve"], "description": "启动 SwissArmyHammer MCP 服务器,为客户端提供标准化上下文与工具服务" }
- name:服务器标识名称
- command:启动 SwissArmyHammer 命令行工具的可执行命令
- args:命令行参数,'serve' 表示启动 MCP 服务器模式
- description:服务器简要说明
基本使用方法
-
创建项目目录:
mkdir my-project && cd my-project git init -
编写规格文件 'spec.md',用自然语言简单描述您的软件需求。例如:
# Weather CLI 创建一个命令行工具,可以通过 OpenWeatherMap API 查询任意城市的实时天气, 显示温度、湿度和天气状况,并支持错误处理和配置管理。 -
启动规划与执行工作流:
sah plan spec.md sah do -
查看生成的代码和文档,获得一个自动实现的功能完整的 Rust CLI 应用。
-
构建和运行生成的程序,验证自动化完成的项目。
-
高级功能:
- 使用自定义**提示(Prompts)和工作流(Workflows)**文件定义复杂自动化逻辑。
- 支持多步数据抓取、分析和报告生成,嵌套调用多种工具与外部 API。
- 支持环境变量和配置文件管理。
SwissArmyHammer 旨在大幅简化 AI 助力软件开发的复杂度,让您只需专注于需求与设计,其他由助理自动完成。