Whale源码贡献指南:从环境搭建、本地构建到提交你的第一个PR
Whale源码贡献指南从环境搭建、本地构建到提交你的第一个PR【免费下载链接】WhaleWhale — blazingly fast, terminal-first AI coding agent for DeepSeek. ~98% prompt cache hit rate, 1M context, MCP tools, dynamic workflows.项目地址: https://gitcode.com/gh_mirrors/de/WhaleWhale 是一个极速的终端优先 AI 编码智能体AI coding agent专为 DeepSeek 打造拥有约 98% 的提示词缓存命中率、1M 长上下文、MCP 工具与动态工作流。本文是一份完整的 Whale 源码贡献指南带你从环境搭建、本地构建一步步走到提交你的第一个 PR。在开始之前先记住三件事 先读文档README 了解公开命令面AGENTS.md了解仓库布局与本地开发规范中文版见docs/contributing.zh.md。小而聚焦Whale 仍处于实验阶段小型、行为驱动的改动比大范围重构更容易被审查合并。先开 Issue如果要新增顶层命令、修改会话文件格式或扩展 DeepSeek 之外的 provider请先开 Issue 讨论方向再动手。第一步环境搭建5分钟完成工具要求说明Go1.26Whale 是纯 Go 项目见 go.modGit任意近期版本克隆代码与提交 PRmakemacOS/Linux 自带Windows 可跳过用go run等价命令 Whale 通过 Makefile 使用仓库本地的.gocache目录保证缓存路径一致。没有make的系统可直接使用go run ./cmd/dev build等跨平台命令。第二步克隆代码完成第一次本地构建git clone https://gitcode.com/gh_mirrors/de/Whale cd Whale make build # 产出可执行文件 bin/whale make test # 运行全部离线 Go 测试 make run # 构建并启动交互式 TUIWindows 或没有 make 的系统go run ./cmd/dev build go run ./cmd/dev test go run ./cmd/dev run第一次make test全绿说明你的 Whale 开发环境搭建完成 ✅ 之后可以用make run在本地 TUI 里体验一下这个 AI 编码智能体。第三步熟悉项目结构找到你的贡献点项目入口是cmd/whale核心应用代码都在internal/下详见AGENTS.md目录职责适合切入的贡献internal/tui/internal/ui/cli终端 UI 与 Cobra 命令界面显示、按键交互internal/agent对话循环、审批、hooks、工具编排行为修复internal/tools内置工具shell、补丁、文件、web新工具能力internal/session/internal/store/internal/memory运行时状态与持久化会话格式相关internal/evals回放与测试框架评估用例scripts/smoke/需要真实 API Key 的在线冒烟脚本冒烟脚本docs/面向用户的配置文档文档改进第四步常用的构建与测试命令速查命令作用make build构建bin/whaleWindows 产出bin/whale.exemake test运行全部离线 Go 测试make test-tui只跑 TUI 相关测试子集make test-evals只跑 eval 回放测试子集make fmt-check/make vet格式检查与静态检查make run构建并启动 TUImake clean清理bin/与.gocache可选的冒烟测试见scripts/smoke/README.md./scripts/smoke/local.sh # 离线Go 测试 mock deep-research E2E DEEPSEEK_API_KEY... ./scripts/smoke/real_stream.sh # 在线需要真实 DeepSeek Key第五步写代码 补测试提交你的第一个 PR编码规范Go 标准风格Tab 缩进gofmt格式化包名简洁文件名按职责命名如tool_repair.go、model_test.go测试与实现放在同一目录命名TestXxx优先表驱动测试优先离线测试临时目录 fake provider真实网络调用只放进scripts/smoke/提交信息风格短祈使句 可选作用域前缀参考仓库历史git commit -m feat(tui): 简短描述你的改动 git commit -m agent: 修复工具调用重试逻辑PR 描述四要素什么行为发生了变化为什么需要这个变更你运行了哪些测试涉及 CLI/TUI 可见变更时附上终端输出或截图⚠️红线清单❌ 不要提交.whale/、会话文件、使用日志、API Key 等本地状态❌ 不要把变更故意做成破坏性改动却不说明——breaking change 必须在 PR 中明确标注⚠️ 复现他人工作区问题时把./.whale/settings.json视为不可信输入hooks 可执行 shell 命令小 Bug 修复和文档更新可以直接开 PR涉及命令面、会话持久化、provider 支持的大改动请先在 Issue 里对齐方向再动手写代码 【免费下载链接】WhaleWhale — blazingly fast, terminal-first AI coding agent for DeepSeek. ~98% prompt cache hit rate, 1M context, MCP tools, dynamic workflows.项目地址: https://gitcode.com/gh_mirrors/de/Whale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考