资讯动态

AI开发环境革命:great.sh如何用智能编排重塑开发者工作流

发布时间:2026/8/9 13:59:16 来源:尧图企业网站定制
1. 项目概述从零到一的AI开发环境革命如果你和我一样每天都在和代码、终端以及各种AI工具打交道那你肯定也经历过那种“环境配置地狱”。新换一台机器光是装好IDE、配置好各种AI助手、同步API密钥、搞定模型连接可能就得花上大半天。更别提还要在不同的项目间切换每个项目可能还需要不同的工具链和模型配置。这种碎片化的体验极大地消耗了开发者的心力和时间。最近我在深度测试一个名为great.sh的开源项目它号称是“托管的AI开发环境”。简单来说它的目标就是用一条命令把一个全新的、空白的开发机瞬间变成一个为你量身定制的、武装到牙齿的AI开发工作站。这听起来有点像是科幻小说里的情节但经过几周的实测我必须说它正在把这种想象变为现实。它的核心关键词是AI代理Agents、Claude Code和开发者工具Developer Tools但它的野心远不止于此。great.sh的核心理念是“编排”而非“安装”。它不只是一个安装脚本的集合而是一个智能的环境管理器。它帮你预配置了15个各司其职的AI代理它们被统称为“The Loop”集成了模型上下文协议MCP服务器的管理还提供了一个零知识加密的云端凭证保险库。这意味着你的开发环境是可移植、可复现、且安全的。无论是在公司的云主机、家里的个人笔记本还是临时借用的设备上你都能在几分钟内获得一个完全一致、生产力拉满的工作环境。注意great.sh目前处于 Alpha 阶段v0.1.0这意味着它核心功能已可用但仍在快速迭代中可能会遇到一些边界情况。不过对于热衷于探索前沿开发工具的工程师来说现在正是上手体验、贡献反馈的绝佳时机。2. 核心架构与设计哲学拆解2.1 为什么是“托管环境”与传统配置管理的本质区别在深入命令行之前我们得先理解great.sh试图解决的根本问题。传统的开发环境配置无论是通过脚本、Docker还是Infrastructure as Code如Ansible本质上都是“状态描述”。你写下一系列命令“安装A配置B下载C”。这种方法有两个痛点状态漂移环境会随着时间变化你手动装了个小工具更新了某个库最初的描述文件逐渐无法反映真实状态复现变得困难。缺乏智能感知环境不知道“为什么”要安装这些工具工具之间如何协同工作以及如何根据你的当前任务动态调整。great.sh采用了不同的思路。它将自己定位为一个“环境运行时”。它维护一个声明式的期望状态配置。当你运行great apply时它不是在机械地执行一串命令而是在进行“状态调和”——计算当前环境与期望状态之间的差异然后执行最小必要操作来弥合这个差异。这很像Kubernetes管理Pod的理念但应用到了开发者本地的IDE和工具链上。它的“托管”体现在几个层面代理托管它管理着一组AI代理The Loop负责它们的安装、更新和协同。MCP服务器托管它提供了一个注册表和一键安装机制用于管理那些为AI助手提供额外能力如访问数据库、执行命令的MCP服务器。凭证托管通过零知识加密的云端保险库安全地同步你的API密钥等敏感信息无需在每个设备上重复配置。2.2 The Loop15角色AI代理编排的深层逻辑项目中最引人注目的部分是“The Loop”——一个由15个AI角色组成的代理团队。这不仅仅是营销噱头其设计背后有深刻的软件工程和认知科学考量。传统的AI编码助手如GitHub Copilot、Claude Code的单体模式是一个“通才”。你向它提出需求它尝试给出一个完整的解决方案。这对于简单任务很有效但对于复杂项目输出质量不稳定且缺乏系统的、多角度的审查。The Loop 则将软件开发的生命周期分解为多个专业阶段并为每个阶段分配一个由历史人物象征的、高度特化的“代理角色”南丁格尔需求分析像护士一样细致地梳理和澄清模糊的用户需求转化为明确的问题定义。洛夫莱斯规格制定作为第一位程序员她将需求转化为清晰、可执行的技术规格说明书。苏格拉底评审与质疑对规格进行哲学式的诘问挑战假设发现逻辑漏洞和潜在风险。洪堡探索与调研像探险家一样为项目搜集必要的上下文信息、类似案例和可行方案。达芬奇架构与设计进行跨领域的创造性思考提出系统的高层架构和模块设计。之后构建阶段并行启动多个专家 6.维尔特/图灵/克尔克霍夫斯/尼尔森并行构建分别负责核心功能实现、算法逻辑、安全编码和用户体验优化。这种并行化模拟了现实开发中多线程工作的场景。构建完成后进入多维度审查流水线 7.迪杰斯特拉代码审查以对算法效率和逻辑严谨性的苛刻著称审查代码质量、复杂度和性能。 8.拉姆斯视觉设计审查秉承“少即是好”的设计哲学确保UI/UX的简洁性和一致性。 9.高德纳/古腾堡文档生成分别负责生成高质量的技术文档和用户友好的使用说明。最后完成收尾工作 10.霍珀提交与部署生成规范的提交信息并准备部署流程。 11.戴明观察与迭代监控运行结果收集反馈为下一次迭代循环提出改进建议。这个流程强制项目以“一次一个迭代”的节奏进行每个迭代都经过完整的、多专业视角的打磨。这极大地提升了复杂任务的输出质量和可靠性尤其适合需要严谨设计的系统、库或核心模块开发。2.3 MCP桥接器实现AI模型“联邦制”的关键Claude Code 原生支持通过MCPModel Context Protocol协议扩展其能力。great.sh的great mcp-bridge命令是一个神来之笔。它本身作为一个MCP服务器运行但其核心功能是路由。想象一下你以前需要为Claude Code单独配置Gemini的MCP服务器、Ollama的MCP服务器等等。管理多个连接很麻烦。而这个桥接器充当了一个统一的网关。你只需要配置好这个桥接器它内部就集成了通往多个AI后端如Gemini、OpenAI Codex、Claude、Grok、本地Ollama的通道。这意味着在Claude Code中你通过一个统一的“great-bridge”接口就可以根据任务需求灵活调用不同模型的能力。比如你可以让“洪堡”代理用Gemini进行网络调研让“维尔特”代理用Claude-3.5-Sonnet写代码让“尼尔森”代理用本地Ollama的专门微调模型评估UX。这种“模型联邦”的架构让AI代理团队可以根据特长选择最合适的“大脑”实现了资源的最优配置。3. 从零开始实战完整配置与深度使用指南3.1 环境初始化与核心配置详解让我们开始动手。官方的一键安装命令非常简洁curl -sS https://great.sh/install.sh | sh这条命令会下载安装脚本并执行。我建议有安全顾虑的开发者可以先下载脚本审阅curl -sS https://great.sh/install.sh -o install.sh cat install.sh然后再运行bash install.sh。安装程序会检测你的系统macOS或Linux安装必要的依赖如Rust工具链因为CLI是用Rust写的并将great命令行工具安装到合适的位置。安装完成后核心的第一步是great init这个命令会在当前目录下创建一个.great的隐藏文件夹并生成一个初始的great.toml配置文件。这个文件是你环境状态的“唯一真相源”。让我们拆解一个典型配置的要点# great.toml 示例 version 1 [environment] name my-ai-devbox template ai-fullstack-ts # 引用一个预置模板 [claude-code] enabled true # 会自动配置Claude Code的扩展和设置 [loop] enabled true # 这将启用完整的15代理Loop团队 [vault] provider great-cloud # 使用项目提供的零知识加密云同步 # 首次使用需要注册/登录将引导你完成 [mcp.servers] # 定义需要安装的MCP服务器 playwright { source registry, version latest } postgres { source registry, version latest } [ai.backends] # 配置mcp-bridge要连接的后端 openai { api_key ${vault.OPENAI_API_KEY} } anthropic { api_key ${vault.ANTHROPIC_API_KEY} } gemini { api_key ${vault.GEMINI_API_KEY} } ollama { base_url http://localhost:11434 }配置完成后运行great apply这是最关键的魔法时刻。great会解析你的great.toml。检查当前系统状态Claude Code是否安装、Loop代理是否就位、MCP服务器是否存在。计算差异并开始执行一系列任务安装/配置Claude Code从注册表拉取指定的MCP服务器并注入凭证安装The Loop代理团队到Claude Code中等等。整个过程是幂等的。你可以随时修改配置并再次运行great apply它会智能地只更新变化的部分。3.2 The Loop 代理团队的激活与协作实战运行great apply成功后你的Claude Code应该已经焕然一新。打开它你可能会注意到侧边栏或聊天界面有了新的变化。The Loop 代理团队是通过Claude Code的“自定义指令”或“扩展代理”功能深度集成的。要开始一个Loop迭代你需要在Claude Code的聊天框中以特定的方式触发。根据文档和我的测试最直接的方式是使用great loop子命令来管理或者直接在配置中启用后在Claude Code里对AI提及“请启动Loop流程”或“让我们按照Loop的步骤来处理这个需求”。实战案例开发一个简单的待办事项API假设我想用Node.js和Express开发一个待办事项API。触发需求我在Claude Code中输入“我需要一个简单的待办事项REST API使用Node.js和Express包含基本的CRUD操作数据暂时存在内存里需要清晰的API文档。”南丁格尔介入AI扮演南丁格尔可能会反问“请确认一下这个API需要用户认证吗对于‘待办事项’的字段除了标题和完成状态还需要创建时间、截止日期等其他属性吗API的版本管理有要求吗” 它帮助澄清模糊点。洛夫莱斯输出规格根据澄清后的需求洛夫莱斯代理会输出一份Markdown格式的规格书包括技术栈Express, Jest for test项目结构具体的API端点设计GET /todos,POST /todos,GET /todos/:id,PUT /todos/:id,DELETE /todos/:id每个端点的请求/响应格式JSON Schema。苏格拉底评审苏格拉底代理会挑战这个设计“将数据存储在内存中意味着服务重启后数据全部丢失。这在生产环境是不可接受的。即使作为示例是否应该注明这是一个临时方案另外PUT /todos/:id是替换整个资源而PATCH是部分更新哪个更符合‘更新待办状态’的典型场景”洪堡探索洪堡代理可能会同时去搜索“Express best practices 2024”、“REST API error handling standards”、“流行的Node.js项目结构”并将链接和摘要反馈回来供达芬奇参考。达芬奇设计综合以上信息达芬奇会给出更详细的设计采用三层架构route, controller, service错误处理中间件使用Joi进行请求验证以及一个简单的内存存储模块的接口设计。之后并行构建、审查、文档生成的流程会依次或并行展开。你会在Claude Code中看到不同“角色”的对话轮流出现每个角色专注于自己的部分。最终你会得到一个包含完整代码、测试、文档甚至基础Dockerfile的项目骨架。实操心得The Loop在初期可能会感觉节奏较慢因为它坚持完整的流程。但对于中大型或设计关键的任务这种“慢”恰恰避免了后续重构的“快”。建议从明确的中等规模任务开始体验比如“设计一个日志中间件”或“实现一个特定的算法”。3.3 MCP服务器管理与凭证安全实践great.sh极大地简化了MCP服务器的管理。之前你需要找到服务器的源码或发布包手动配置和运行。现在你可以通过命令行直接操作# 列出注册表中可用的MCP服务器 great mcp list # 安装一个MCP服务器例如用于浏览器自动化的Playwright great mcp install playwright # 查看已安装的服务器状态 great mcp status安装后great会自动将其配置到Claude Code中。更强大的是它的凭证管理。很多MCP服务器需要API密钥如数据库连接、云服务。传统做法是把密钥写在环境变量或配置文件里既不安全也难以同步。great.sh的vault子系统解决了这个问题# 设置一个密钥到本地保险库 great vault set OPENAI_API_KEY sk-xxxx... # 将本地保险库同步到加密云端需要先登录 great auth login great sync当你切换到另一台机器安装好great.sh并登录同一账户后运行great sync就可以把所有的密钥安全地拉取下来。great apply在配置MCP服务器时会使用类似${vault.OPENAI_API_KEY}的模板变量自动从保险库中注入真实的密钥你的密钥明文永远不会出现在磁盘上的配置文件中。配置mcp-bridge以实现多模型调用 这是发挥AI代理团队威力的关键一步。首先确保你在great.toml的[ai.backends]部分配置了至少两个后端如OpenAI和Ollama。然后在Claude Code中建立连接# 为当前项目添加桥接器 claude mcp add great-bridge -- great mcp-bridge # 或者为你用户账户下的所有项目全局添加推荐 claude mcp add --scope user great-bridge -- great mcp-bridge添加成功后在Claude Code中你就可以在请求AI时通过某种方式指定使用哪个后端具体语法可能取决于Claude Code的更新和great.sh的集成方式通常可能在自定义指令或代理配置中指定。例如你可以指示“让负责代码生成的代理使用Ollama的Codellama模型让负责审查的代理使用Claude-3.5-Sonnet”。4. 模板系统与个性化定制进阶4.1 预置模板深度解析与选择策略great.sh提供了来自 architecton.ai 的预配置模板这能让你秒速启动特定类型项目。理解每个模板的构成能帮你做出最佳选择。AI Full Stack (TypeScript)这是最全面的Web开发模板。它不仅仅安装了Node.js/TypeScript环境还预配置了playwrightMCP服务器用于AI驱动的前端测试ghCLI的MCP服务器让AI能操作GitHub以及全套的AI代理。适合从头开始构建现代化的TS全栈应用。AI Full Stack (Python)与TS模板类似但以Python为核心。它使用uv作为快速的Python包管理器和项目管理器预配置了postgresMCP服务器让AI能直接查询数据库结构或数据同样包含全套AI代理。适合数据后端、机器学习API或自动化脚本项目。AI Data Science面向数据科学家和分析师。除了基础的Python环境重点配置了CUDA支持用于GPU加速、Jupyter集成以及专门为数据分析优化的Gemini模型后端。还包含了连接常见数据库MySQL, PostgreSQL, BigQuery等的MCP服务器让AI能直接帮你写SQL、分析数据趋势。AI DevOps为基础设施即代码和云运维设计。预装了Terraform、AWS CLI、Docker、Kubernetes工具链并配置了对应的MCP服务器。想象一下你可以用自然语言描述“在AWS上创建一个具有负载均衡器的ECS集群”AI代理通过MCP调用Terraform服务器就能生成或修改对应的HCL代码。极大提升了Infra工作的效率。AI Minimal极简主义者的选择。只安装Claude Code并配上最基础的Filesystem文件系统和Memory记忆MCP服务器。适合那些希望从零开始慢慢添加功能或者只需要一个干净AI编码助手的用户。应用模板非常简单在great.toml中设置template “模板名”即可。你也可以基于模板进行二次定制。4.2 自定义模板与配置复用团队协作或个人多项目管理的精髓在于自定义模板。假设你的团队有一套内部的技术栈规范比如特定的代码风格、必须的依赖库、统一的监控SDK你可以将其封装成一个自定义模板。创建自定义模板有两种主要方式方式一从现有环境导出在你精心配置好一个项目环境后包含了所有你喜欢的MCP服务器、Loop代理设置、环境变量等可以将其导出为模板great template create my-team-template --from-current这会在~/.great/templates/下创建一个my-team-template的文件夹里面包含了配置的副本。你可以手动编辑这个文件夹下的template.toml和其他资源文件进行更精细的控制。方式二从头编写模板在~/.great/templates/my-custom-template/目录下创建template.toml文件# template.toml [metadata] name My Custom React Template description A template with React, Tailwind, and our internal UI library. version 0.1.0 [files] # 可以指定在初始化时创建的文件 src/app/globals.css { content /* Custom template styles */ } eslint.config.js { source ./templates/eslint.config.js } # 从本地复制 [hooks] # 可以定义在应用模板前后运行的脚本 post_apply ./scripts/post-apply.sh [dependencies] # 声明此模板依赖的MCP服务器或系统包 mcp_servers [playwright, github] system_packages [jq, htop]然后团队成员只需要在他们的great.toml里引用这个模板名如果模板在本地或者你将模板推送到内部仓库共享。这确保了团队所有成员开发环境的基础一致性。5. 故障排查、性能调优与实战经验5.1 常见问题诊断与解决great doctor的妙用遇到环境问题第一个求助的不是搜索引擎而是great doctor这个命令会运行一系列诊断检查包括网络连通性访问关键服务如更新服务器、MCP注册表。依赖项状态Rust, Node.js, Python等版本是否合适。工具链完整性Claude Code是否安装且路径正确。配置有效性great.toml语法是否正确引用的资源是否存在。凭证状态vault是否可访问密钥是否缺失。它会生成一份清晰的报告直接指出问题所在和修复建议。比如它可能会告诉你“检测到Claude Code扩展目录权限不足”并给出具体的chmod命令。其他常见问题速查表问题现象可能原因解决方案great apply失败提示网络错误1. 代理设置问题2. 防火墙阻止访问raw.githubusercontent.com或objects.githubusercontent.com1. 检查终端代理设置http_proxy,https_proxy。2. 尝试使用curl -I https://raw.githubusercontent.com测试连通性。The Loop 代理在Claude Code中不响应1. Claude Code自定义指令配置未正确加载2. Loop代理脚本存在语法错误1. 运行great apply重新配置。2. 检查Claude Code设置中的“自定义指令”或“扩展代理”部分看是否有great.sh注入的内容。尝试重启Claude Code。MCP服务器连接超时1. 服务器进程未启动2. 端口冲突3. 凭证错误1. 运行great mcp status查看服务器状态尝试great mcp restart server-name。2. 查看服务器日志通常在~/.great/logs/。3. 用great vault list确认密钥已正确设置并同步。vault sync失败1. 未登录云端账户2. 本地时钟不同步1. 运行great auth login重新认证。2. 同步系统时间。安装脚本在非x86_64 Linux上失败安装脚本可能只预置了x86_64架构的二进制包查看项目GitHub Issues看是否有ARM等架构的支持计划。目前可能需要从源码构建cargo build --release。5.2 性能调优与资源管理great.sh本身很轻量但其管理的AI代理和MCP服务器可能是资源消耗大户。内存与CPU同时运行多个MCP服务器尤其是Playwright这类浏览器相关的和多个活跃的AI代理会话会显著增加内存占用。如果感觉机器变慢可以通过great mcp stop server-name暂时停用不常用的MCP服务器。在Claude Code中避免同时开启过多复杂的、需要长期上下文的AI会话。对于本地Ollama在great.toml的[ai.backends.ollama]部分可以指定使用更小的模型如codellama:7b而非codellama:34b。网络优化mcp-bridge如果配置了远程API如OpenAI, Anthropic其响应速度取决于网络。可以为Claude Code或great mcp-bridge进程配置HTTP代理如果身处特殊网络环境。对于频繁使用的模型考虑在本地部署Ollama并量化模型以获得最低延迟。配置缓存great apply会缓存下载的MCP服务器和模板。缓存位置通常在~/.great/cache/。定期清理rm -rf ~/.great/cache/*可以释放磁盘空间但下次apply需要重新下载。5.3 与现有工作流的融合技巧你不需要完全抛弃现有的工具链。great.sh可以很好地融入其中。与Docker结合你可以创建一个Docker镜像其中预装了great.sh和你的自定义模板。这样无论是CI/CD流水线还是新的开发容器都能瞬间获得一个强大的AI增强环境。Dockerfile的基础步骤可以包括安装great.sh然后COPY great.toml .并运行great apply。与版本控制系统将你的项目级great.toml文件纳入版本控制如Git。但务必在.gitignore中添加!.great/目录因为其中包含本地状态和缓存的二进制文件。团队其他成员克隆项目后只需运行great apply即可获得完全一致的环境。与Shell环境集成great.sh本身不修改你的Shell配置。但你可以通过Shell别名或函数来包装常用命令。例如在.zshrc或.bashrc中添加alias ginitgreat init alias gapplygreat apply echo “Environment applied!” alias gsyncgreat vault sync这能进一步提升使用流畅度。经过这段时间的深度使用great.sh给我的感觉更像是一个“开发环境的操作系统”而不仅仅是工具。它抽象了底层环境的复杂性让开发者能更专注于创造本身。虽然Alpha版本还有一些粗糙的边缘但其理念和已经实现的功能已经足够让人眼前一亮。它尤其适合独立开发者、前沿技术团队以及任何希望将AI深度、系统化地融入日常编码工作流的人。最大的体会是它重新定义了“准备好开发环境”的速度和标准——从小时级缩短到分钟级并且这个环境是智能的、可协作的、随身携带的。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价