shotgun
Shotgun 是一款专为提升 AI 编程效率而设计的开发工具,致力于解决当前 AI 编码助手(如 Cursor、Claude Code、Codex 等)在处理大型功能开发时容易“跑偏”的痛点。很多时候,AI 虽然擅长完成小任务,但在面对复杂需求时,往往会遗忘上下文、重复构建已有代码或偏离原始需求,导致生成的代码难以维护。
Shotgun 通过“规范驱动开发”(Spec-Driven Development)模式改变了这一现状。它能深度读取并理解整个项目代码库,预先规划完整的功能实现路径,随后将大任务拆解为多个阶段清晰、文件级指令明确的拉取请求(PR)。这样一来,开发者不再需要面对单个包含上万行代码、难以审查的巨型 PR,而是获得一系列聚焦且可立即交付的小型 PR,显著提升了代码质量和审查效率。
这款工具非常适合专业软件开发者和工程团队使用,尤其是那些希望将 AI 代理融入现有工作流,却又受限于其上下文管理能力的人群。其独特的技术亮点在于能够生成“感知代码库”的规范文档,确保 AI 在执行每一步时都紧扣项目实际结构,从而避免幻觉和错误重构。无论是个人开发者还是协作团队,Shotgun 都能帮助你们更稳健地利用 AI 能力,让大型功能落地变得更加可控和高效。
使用场景
某初创团队的后端工程师正利用 Cursor 或 Claude Code 等 AI 助手,试图在一个拥有数万行代码的遗留项目中重构整个用户认证模块并集成新的 OAuth2 登录功能。
没有 shotgun 时
- 上下文丢失:AI 在生成长代码时经常“遗忘”项目现有的工具类或数据库结构,导致重复造轮子甚至覆盖原有逻辑。
- 需求偏离:开发进行到一半,AI 容易忽略初始约束,自行添加未请求的功能或采用不兼容的技术栈,最终产出与预期不符。
- 审查灾难:所有改动被打包成一个包含数千行代码的巨型 Pull Request,人类开发者根本无法有效审查,只能盲目合并或全部推翻重来。
- 迭代挫败:一旦出错,由于缺乏清晰的分步规划,开发者不得不反复手动修正提示词,陷入“生成 - 报错 - 重试”的死循环。
使用 shotgun 后
- 全局感知规划:shotgun 先扫描整个代码库,基于现有架构生成一份精准的、分阶段的开发蓝图,确保 AI 完全理解项目上下文。
- 原子化执行:它将宏大需求拆解为多个小型、独立的 PR,每个 PR 仅包含具体的文件级指令,让 AI 专注完成单一任务而不跑偏。
- 可控的代码交付:开发者收到的是 5 个逻辑清晰、易于审查的小型 PR,而非一个难以维护的“代码怪兽”,大幅降低合并风险。
- 流程自动化:从规划到分步执行的流程由 shotgun 自动编排,工程师只需关注核心逻辑确认,显著提升了大型功能落地的成功率。
shotgun 通过将宏大的开发目标转化为 AI 可精准执行的原子化步骤,彻底解决了大模型在复杂工程中容易“脱轨”的难题。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
|
AI 助手擅长处理小型任务,但在大型功能上容易失控。 它们会忘记上下文、重复构建已存在的内容,甚至在中途偏离既定规范。 Shotgun 可以解决这一问题。 它会读取你的整个代码库,提前规划完整功能,然后将其拆分为一系列分阶段的 PR——每个 PR 都包含逐文件的详细指令,AI 助手完全可以按照这些指令执行。 与其提交一个无人愿意评审的 1 万行巨型 PR,不如生成 5 个聚焦于特定任务的 PR 并顺利合并。 Shotgun 与 Cursor、Claude Code、Antigravity 或 Codex 均可完美配合。你可以自行提供密钥,也可以使用 Shotgun 的积分(10 美元等同于 10 美元的使用额度)。 |
📦 安装
请在下方选择您的操作系统,并点击查看安装说明:
► MacOS 安装说明(点击展开)
步骤 1:安装 uv
# 使用 Homebrew
brew install uv
# 或者使用 curl
curl -LsSf https://astral.sh/uv/install.sh | sh
步骤 2:运行 Shotgun
uvx shotgun-sh@latest
► Linux 安装说明(点击展开)
步骤 1:安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
步骤 2:运行 Shotgun
uvx shotgun-sh@latest
► Windows 安装说明(点击展开)
打开 PowerShell 并运行以下命令:
# 设置执行策略(仅需一次)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
# 安装 uv
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# 添加到 PATH(或重启终端)
$env:Path = "C:\Users\$env:USERNAME\.local\bin;$env:Path"
# 可选:启用代码索引(需以管理员身份运行)
Import-Module BitsTransfer
Start-BitsTransfer -Source "https://aka.ms/vs/17/release/vc_redist.x64.exe" -Destination "$env:TEMP\vc_redist.x64.exe"
Start-Process -FilePath "$env:TEMP\vc_redist.x64.exe" -ArgumentList "/install", "/quiet", "/norestart" -Wait
# 运行 Shotgun
uvx --python 3.12 shotgun-sh@latest
| 支持 | 不支持 |
|---|---|
| Windows x64(普通 PC) | 32 位 Python |
| Python 3.11–3.13 | Python 3.14+(暂无预编译轮子包) |
重要提示: 请务必在 PowerShell 中运行,而非命令提示符或 VS 开发人员工具。
💡 安装完成后请重启终端
为什么选择 uv? 它比 pip 快 10 到 100 倍,并且能可靠地处理二进制轮子包——不会出现 cmake 或构建工具相关的错误。
需要帮助吗?查看 uv 安装文档
3. 开始使用
当你启动 Shotgun 时,它会引导你完成以下步骤:
| 步骤 | 操作 |
|---|---|
| 1. 代码库索引 | 构建整个仓库的可搜索图谱 |
| 2. LLM 设置 | 配置 OpenAI、Anthropic 或 Gemini |
| 3. 初始研究 | 开始生成具备代码库感知能力的规范 |
小贴士: 在 IDE 的终端中运行 Shotgun,体验更佳。
🎥 演示
点击上方图片即可在 YouTube 上观看完整演示
🎯 使用方法
在项目目录中启动 Shotgun:
请先参阅适用于您平台的 安装说明!
uvx shotgun-sh@latest
计划模式与草稿模式
| 模式 | 工作原理 | 适用场景 |
|---|---|---|
| 计划模式(默认) | Shotgun 会提出执行计划,展示每一步操作,并在运行可能修改文件的代理之前请求确认。你可以设置检查点,细化计划,并在某项更改影响其他文档时决定是否继续级联更新。 | 当你需要控制权、清晰的可见性以及在执行前调整计划的能力时。 |
| 草稿模式 | Shotgun 会一次性执行整个计划,不进行中间确认。进度仍会在内部跟踪,但你不会在每一步都被提示。 | 当你对计划充满信心,希望快速完成端到端的执行时。 |
TUI 会自动打开。按 Shift+Tab 可在计划模式和草稿模式之间切换,或按 / 打开命令面板。
路由器的内部工作原理
在底层,路由器依赖于专门的子代理。你无需手动选择或管理它们。
| 🔬 研究 探索并理解 |
→ | 📝 规范化 定义需求 |
→ | 📋 计划 制定路线图 |
→ | ✅ 任务 分解为步骤 |
→ | 📤 导出 格式化供 AI 使用 |
计划模式和草稿模式是你唯一可以控制的执行模式;其余部分均由路由器自动处理。
模式切换: 按 Shift+Tab 可循环切换模式
⌨️ 键盘快捷键
| 快捷键 | 动作 |
|---|---|
Shift+Tab |
切换模式 |
/ |
打开命令面板 |
Ctrl+C |
取消操作(或复制选中文本) |
Escape |
退出问答 / 停止代理 |
Ctrl+U |
查看使用统计 |
获得更好结果的提示
| 应该这样做 | 不应该这样做 |
|---|---|
✅ 研究我们如何处理认证 |
❌ 直接开始开发 |
✅ Shotgun,请先问我问题 |
❌ 认为Shotgun了解你的需求 |
✅ 我在做支付相关工作,需要退款功能 |
❌ 添加退款功能(缺乏上下文) |
| ✅ 先从规划模式开始,让Shotgun与你一起提出并完善方案,然后再执行 | ❌ 不先审查方案就一次性全部执行(除非你故意切换到草稿模式) |
结果: 你的 AI 编码代理将获得完整的上下文——现有内容、原因以及要构建的内容。
注意: CLI 已在 docs/CLI.md 中提供,但建议使用 TUI。
Context7 文档查找(实验性)
Research 代理可以通过 Context7 获取最新的库文档。配置后,代理在查找文档时会优先使用 Context7 而不是网络搜索。
要启用它,请设置你的 Context7 API 密钥:
shotgun config set-context7 --api-key <your-context7-api-key>
要移除它:
shotgun config clear-context7
🤝 与团队共享规格说明
在 付费 Shotgun 方案 上可以将规格说明共享到工作区。
Shotgun 允许你通过将其发布到 工作区 来对外共享规格说明。这会创建一个版本化的可共享快照,你的团队可以在仓库之外访问。
如何共享规格说明
- 按下
/→ 选择 将规格说明共享到工作区 - 选择以下选项之一:
- 创建新规格 — 从当前
.shotgun/文件中发布一份全新的规格 - 添加新版本 — 发布现有规格的更新版本
- 等待上传完成。完成后,你可以:
- 在浏览器中打开 — 查看工作区中的共享规格
- 复制 URL — 将链接分享给你的团队
- 完成 — 返回 Shotgun
你本地的 .shotgun/*.md 文件保持不变。
工作区包含的是规格说明的 可共享、版本化快照。
✨ 功能
使 Shotgun 不同之处
| 功能 | Shotgun | 其他工具 |
|---|---|---|
| 代码库理解 | 在生成规格之前,会读取你的 整个代码库。找到现有的模式、依赖关系和架构。 | 每次都需要手动提供上下文或进行搜索。无法持续理解你的代码库结构。 |
| 研究阶段 | 从研究开始——在编写任何内容之前,发现你已经拥有的内容以及外部存在的内容。 | 直接从规格说明开始。先开发,之后才发现问题。 |
| 每个模式专用的代理 | 每个模式(研究、规格、计划、任务、导出)都使用一个 独立的专业代理,其提示专门针对该阶段定制。可通过模式切换完全由用户控制。 | 单一代理或通用提示。 |
| 结构化工作流 | 基于路由器的流程,包含规划和草稿模式;内部流程为研究 → 规格 → 计划 → 任务 → 导出,并在规划模式中设有检查点。 | 没有明确的结构。只是“输入提示,寄希望于结果”。 |
| 导出格式 |
AGENTS.md 文件已准备好用于 Cursor、Claude Code、Windsurf、Lovable——你可以自由选择工具。
|
受限于特定的 IDE 或编码代理。 |
案例研究 - 实际例子:
我们曾需要实现支付功能。Cursor、Claude Code 和 Copilot 都建议构建自定义支付代理——这将需要 3-4 周的开发时间。
⭐ 而 Shotgun 的研究发现了一个名为 LiteLLM Proxy 的解决方案——仅需 30 分钟发现,5 天部署完成,第一个客户在 14 小时内接入。
开发时间减少了 80%。技术债务几乎为零。
📖 阅读完整案例研究
使用场景
- 🚀 新员工入职 - 新开发者?Shotgun 会绘制你的整个架构图,并生成与代码实际匹配的文档。
- 🔧 重构 - 在动手之前先了解所有依赖关系。避免重构变成重写。
- 🌱 新项目 - 在写下第一行代码之前,先调研全球范围内已有的解决方案。
- ➕ 添加功能 - 准确知道你的功能应该放在哪里。防止功能重复。
- 📦 迁移 - 绘制旧系统的架构图,规划新系统,跟踪差异。将迁移过程分解为安全的步骤。
📚 想看详细示例吗? 请查看我们的 案例研究,其中展示了 Shotgun 在实际项目中的应用。
常见问题解答
问:Shotgun 会收集任何统计数据或数据吗?
答:我们只收集极少量的匿名事件(例如安装、服务器启动、工具调用)。我们不会收集具体内容——只记录事件的发生。我们使用 PostHog 进行分析和错误报告,以提高稳定性。
问:索引代码时,我的代码会离开我的电脑吗?
答:不会。当你索引代码库时,所有的索引操作都在你的本地机器上进行。索引存储在 ~/.shotgun-sh/codebases/ 中,永远不会发送到任何服务器。你的代码始终留在你的电脑上。

问:本地 LLM 支持?
答:正在计划中。我们会发布兼容性说明和本地提供商集成信息。
问:支持哪些 LLM 提供商?
答:目前支持 OpenAI、Anthropic(Claude)和 Google Gemini。本地 LLM 支持也在计划中。
问:我可以在离线状态下使用 Shotgun 吗?
答:你需要互联网连接来进行 LLM API 调用,但你的代码库仍然保留在本地。
问:代码图是如何工作的?
答:Shotgun 使用 tree-sitter 对你的代码库进行索引,以实现准确的解析,并创建一个可搜索的代码结构、依赖关系和相互关系图。
贡献
Shotgun 是开源项目,我们欢迎各方贡献。无论是修复 bug、提出功能建议、改进文档,还是传播消息——我们都期待你成为社区的一员。
贡献方式:
不确定从哪里开始? 加入我们的 Discord,我们会帮助你入门!
开发资源
- 贡献指南 - 环境搭建、工作流程与规范
- Git 钩子 - Lefthook、trufflehog 及安全扫描
- CI/CD - GitHub Actions 与自动化测试
- 可观测性 - 遥测、Logfire 与监控
- Docker - 容器化部署与运行
🚀 准备好阻止 AI 助手失控了吗?
规划 → 起草 — 两种执行模式为 AI 助手提供全局视角,并辅以内部阶段:研究 → 明确需求 → 规划 → 任务分解 → 导出。
uvx shotgun-sh@latest
⭐ 在 GitHub 上给项目加星
星标历史
许可证: MIT | Python: 3.11+ | 官网: shotgun.sh
卸载
uv tool uninstall shotgun-sh
版本历史
0.13.02026/04/140.13.0.dev12026/04/140.12.0.dev12026/03/180.11.02026/03/130.11.0.dev22026/03/120.11.0.dev12026/03/120.10.142026/03/100.10.14.dev32026/03/100.10.14.dev12026/03/100.10.132026/03/030.10.13.dev12026/03/030.10.122026/02/250.10.12.dev12026/02/250.10.112026/02/200.10.11.dev12026/02/200.10.102026/02/190.10.10.dev12026/02/190.10.92026/02/190.10.9.dev22026/02/190.10.9.dev12026/02/18常见问题
相似工具推荐
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
gstack
gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置,旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战,gstack 提供了一套标准化解决方案,帮助开发者实现堪比二十人团队的高效产出。 这套配置特别适合希望提升交付效率的创始人、技术负责人,以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具,涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令(如 `/review` 进行代码审查、`/qa` 执行测试、`/plan-ceo-review` 规划功能),即可自动化处理从需求分析到部署上线的全链路任务。 所有操作基于 Markdown 和斜杠命令,无需复杂配置,完全免费且遵循 MIT 协议。gstack 不仅是一套工具集,更是一种现代化的软件工厂实践,让单人开发者也能拥有严谨的工程流程。
codex
Codex 是 OpenAI 推出的一款轻量级编程智能体,专为在终端环境中高效运行而设计。它允许开发者直接在命令行界面与 AI 交互,完成代码生成、调试、重构及项目维护等任务,无需频繁切换至浏览器或集成开发环境,从而显著提升了编码流程的连贯性与专注度。 这款工具主要解决了传统 AI 辅助编程中上下文割裂的问题。通过将智能体本地化运行,Codex 能够更紧密地结合当前工作目录的文件结构,提供更具针对性的代码建议,同时支持以自然语言指令驱动复杂的开发操作,让“对话即编码”成为现实。 Codex 非常适合习惯使用命令行的软件工程师、全栈开发者以及技术研究人员。对于追求极致效率、偏好键盘操作胜过图形界面的极客用户而言,它更是理想的结对编程伙伴。 其独特亮点在于灵活的部署方式:既可作为全局命令行工具通过 npm 或 Homebrew 一键安装,也能无缝对接现有的 ChatGPT 订阅计划(如 Plus 或 Pro),直接复用账户权益。此外,它还提供了从纯文本终端到桌面应用的多形态体验,并支持基于 API 密钥的深度定制,充分满足不同场景下的开发需求。