goose 扩展实战:将 prompts.chat MCP Server 接入 AI Agent,让提示词库触手可及
【免费下载链接】goosean open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM项目地址: https://gitcode.com/GitHub_Trending/goose3/goose
将 prompts.chat MCP Server 注册为 goose 的扩展(Extension),即可在对话中直接检索并复用平台上收录的成千上万条 AI 提示词(Prompt)。本指南以 goose 官方 MCP 教程文档 prompts-chat-mcp.md 为骨架,结合仓库内扩展配置的源码实现与官方配置文档,完整覆盖从快速安装、交互式配置、环境变量注入,到实际提示词搜索与调用的全过程。读完本文,你将掌握在 goose Desktop 与 goose CLI 两种界面下接入任意stdio型 MCP Server 的通用方法,并理解扩展配置在底层的落盘格式与运行机制。
扩展机制与 prompts.chat 的定位
goose 的扩展(Extensions)本质上是一套基于 Model Context Protocol(MCP)的即插即用能力:外部 MCP Server 通过标准输入输出(stdio)或 Streamable HTTP 与 goose 通信,把自身的工具(tools)暴露给 AI Agent 调用。官方在 使用扩展指南 中明确说明:扩展可用于接入你工作流中正在使用的应用与数据源;goose 自带的 Developer、Computer Controller、Memory 等内置扩展本身也是 MCP Server,而任意第三方 MCP Server 都可以被安装为扩展。
prompts.chat 提供的就是这样一个"提示词供给型" MCP Server:它暴露了一个可检索的提示词库,goose 可以像调用普通工具一样在其中搜索、取回提示词,再把取回的提示词框架应用到当前任务上——例如代码审查、Pull Request 评审、安全审计等成熟提示词模板。这对那些"知道要什么但缺少高质量提示词表达"的任务尤其有价值:无需自己从头设计 Prompt,直接复用社区沉淀的已验证模式。
安装前置条件
接入该扩展前,需要先确认两点:
- Node.js 运行环境:安装命令基于
npx执行,系统需预装 Node.js。官方在配置小节以:::info块明确提醒了这一点(见 prompts-chat-mcp.md 的 Configuration 部分)。 - (可选)prompts.chat API Key:仅当你想保存并列出私有提示词时才需要。
PROMPTS_API_KEY环境变量在本扩展中是可选配置。
由于扩展是以本地命令进程方式拉起并常驻的,官方还提醒过 goose 会在激活外部扩展前做已知恶意软件检查(见 使用扩展指南),被识别的恶意包会直接拦截报错——这意味着安装来源应保持为官方 npm 渠道。
快速安装:一行命令与一键链接
原文档在"Quick Install"提示框中同时给出了两种最快捷的接入路径,可直接照搬。
方式一:goose Desktop 一键安装器
在 goose Desktop 中,直接点击下方协议链接,会拉起内置安装向导(id=prompts-chat-mcp,显示名prompts.chat):
goose://extension?cmd=npx&arg=-y&arg=@fkadev/prompts.chat-mcp@latest&id=prompts-chat-mcp&name=prompts.chat&description=Access%20thousands%20of%20AI%20prompts%20directly%20in%20your%20AI%20assistant&env=PROMPTS_API_KEY%3DAPI%20Key%20to%20save%20and%20list%20private%20prompts这段链接的生成逻辑对应仓库里的 GooseDesktopInstaller 组件:协议以goose://extension开头,cmd为启动命令、arg可重复传递多个参数(每个参数单独一个arg=),再拼接id、name、description,最后用env=声明需要注入的环境变量(格式为变量名=变量说明)。需要说明的是,链接中的所有参数都要求 URL 编码,例如空格写作%20、@写作%40。
方式二:goose CLI 直接运行
命令行下无需任何安装交互,直接执行:
npx -y @fkadev/prompts.chat-mcp@latest这条命令即扩展的完整启动命令:-y表示自动确认下载 npm 包,@latest拉取最新发布版本。若需要配置PROMPTS_API_KEY(可选),作为环境变量随进程注入即可:
PROMPTS_API_KEY: <YOUR_API_KEY>标准配置流程:Desktop 与 CLI 双界面
若希望通过官方向导完成完整注册(包括命名、超时与密钥配置),可按界面选择以下流程。两种流程产出的配置等价,区别仅在操作载体。
goose Desktop:图形化注册
- 点击上文中"一键安装器"的
Launch the installer链接; - 在弹出的确认框中点击Yes;
- 获取你的 prompts.chat API Key(可选,仅私有提示词功能需要)并粘贴填入;
- 点击Add Extension完成添加;
- 点击左上角侧边栏按钮打开侧栏,进入聊天界面即可看到新扩展。
goose CLI:goose configure交互向导
goose configure的每一步交互渲染由 CLIExtensionInstructions 组件 定义,全部过程如下:
- 运行配置命令:
goose configure- 在
What would you like to configure?中选择Add Extension,然后在类型选择中选中Command-line Extension(运行本地命令或脚本的扩展类型),界面呈现:
┌ goose-configure │ ◇ What would you like to configure? │ Add Extension │ ◆ What type of extension would you like to add? │ ○ Built-in Extension │ ● Command-line Extension (Run a local command or script) │ ○ Remote Extension (Streamable HTTP) └- 为扩展命名(此处对应显示名
prompts.chat,即What would you like to call this extension?); - 输入要运行的命令(
What command should be run?),即:
npx -y @fkadev/prompts.chat-mcp@latest- 设置超时时间(秒)。向导默认值是300 秒,即 goose 等待该扩展完成一次工具调用所允许的最长时间;
- 填写扩展描述(此处为 "Access thousands of AI prompts directly in your AI assistant");
- 询问
Would you like to add environment variables?:- 若希望支持保存/列出私有提示词,选择Yes,依次输入变量名
PROMPTS_API_KEY与从 prompts.chat 获取的 API Key 值; - 不需要则选No,向导直接以
Added prompts.chat extension结束。
- 若希望支持保存/列出私有提示词,选择Yes,依次输入变量名
其中"默认 300 秒"并非文案巧合,而是源码中的常量事实:扩展的超时默认值定义在 crates/goose/src/config/extensions.rs,即DEFAULT_EXTENSION_TIMEOUT: u64 = 300。任何通过向导注册的扩展,超时字段不填时都会落为 300 秒。
会话内使用:goose session
配置完成后,CLI 用户可在终端启动一个新的 goose 会话:
goose sessionDesktop 用户则打开一个新会话即可,扩展会随会话自动加载。
高级玩法:直接在 config.yaml 中落盘配置
goose configure的一切交互最终都会写入 YAML 配置文件。配置文件位置依平台而异(见 配置文件指南):
- macOS / Linux:
~/.config/goose/config.yaml - Windows:
%APPDATA%\Block\goose\config\config.yaml
高级用户可直接编辑该文件以精确控制扩展属性。上述 prompts.chat 注册动作等价于在extensions键下新增一个stdio类型条目:
extensions: prompts-chat-mcp: name: prompts-chat-mcp display_name: prompts.chat description: Access thousands of AI prompts directly in your AI assistant type: stdio cmd: npx args: ["-y", "@fkadev/prompts.chat-mcp@latest"] envs: PROMPTS_API_KEY: "<YOUR_API_KEY>" env_keys: [] enabled: true timeout: 300各字段含义与来源可以直接对照源码验证:
type: stdio:扩展以本地子进程方式运行。在 crates/goose/src/agents/extension.rs 中,ExtensionConfig枚举明确声明了Stdio变体及其反序列化字段:cmd(启动命令)、args(参数数组)、envs(环境变量映射)、env_keys(从密钥库/环境解析的密钥名列表)、timeout(可选的超时秒数)、cwd、bundled以及available_tools(工具白名单)。envs的 YAML 解析同时接受env别名(源码中#[serde(default, alias = "env")]),即老配置里写作env:也能被兼容读取。name键在缺失时会被自动注入:解析器inject_name_if_missing会将扩展条目所在的键名补为name(见 crates/goose/src/config/extensions.rs)。extensions段的读取走配置的get_param("extensions")路径(见 extensions.rs),单个条目解析失败只会被跳过并打日志,不会拖垮整份配置。
提示:编辑
config.yaml后,通常需要重启 goose 才能对已有会话生效;可用goose info -v查看当前实际生效的完整配置。密钥类敏感信息不建议明文写入envs,官方更推荐通过goose configure的系统密钥环存储,或使用env_keys引用密钥库中的条目。
实战用法:在会话中检索并调用提示词
扩展注册完成后,它带来的工具(prompts.chat 的搜索/取回类工具)就会进入 goose 的工具集。原文档给出了一套完整的对话式交互范式,可直接套用。
场景一:搜索提示词
向 goose 直接下达自然语言搜索指令:
goose Prompt
Search for prompts about code reviewgoose Output
I found several prompts related to code review: 1. **Code Review Assistant** - A comprehensive prompt for reviewing code quality, security, and best practices 2. **Pull Request Reviewer** - Helps analyze pull requests and suggest improvements 3. **Security Code Audit** - Focuses on identifying security vulnerabilities Would you like me to retrieve any of these prompts?可以看到 goose 会调用扩展的搜索工具,把结果按提示词名称与适用场景整理成结构化列表,并主动询问是否进一步取回全文。这背后正是 MCP 工具调用的标准链路:goose 判定当前请求需要外部工具 → 把请求编码为工具调用发给 prompts.chat 进程 → 取回结构化结果 → 汇入模型上下文生成回答。
场景二:取回并应用提示词
检索到目标后,无需复制粘贴,直接让 goose 取回该提示词并立即应用:
goose Prompt
Get the Code Review Assistant prompt and use it to review my current filegoose Output
I've retrieved the Code Review Assistant prompt. Let me apply it to analyze your code... [Applying prompt guidelines to review your code] Here's my review based on the prompt's framework: ✅ Code structure and organization ✅ Naming conventions ⚠️ Consider adding error handling for edge cases ⚠️ Documentation could be improved for public methods Would you like me to help address any of these findings?注意这一范式的高价值点:提示词不再只是贴在浏览器书签里的文本,而是变成了 Agent 可直接消费的"方法论组件"。goose 取回模板后,会把其中要求的审查维度(代码质量、安全、最佳实践、命名、错误处理、文档等)作为执行框架,叠加在你当前工作区的真实文件上产出评审意见——提示词库与文件系统工具链在此完成了闭环协作。
延伸:排查与验证
- 扩展未生效:检查
goose configure→Toggle Extensions中该扩展是否处于启用态(实心◼为启用),或在 Desktop 侧栏 Extensions 面板查看开关; - 确认配置落盘:查看上文所述
config.yaml中的extensions.prompts-chat-mcp条目;也可用goose info -v核对加载结果; - 私有提示词功能不可用:确认
PROMPTS_API_KEY已通过向导环境变量步骤或envs/env_keys注入,并确认密钥值来自 prompts.chat 账户后台。
小结
接入 prompts.chat 扩展本身只需一条npx命令,但把它放到 goose 的扩展生态中理解会更有收获:无论是 Desktop 的一键协议链接、CLI 的goose configure交互向导,还是直接编辑 config.yaml 中extensions段的stdio条目,最终都收敛到同一个由 ExtensionConfig 枚举 驱动的落盘结构,并由 extensions.rs 完成解析与默认值注入(含默认 300 秒超时)。掌握这套机制后,把任意 MCP Server 接进 goose、为它配好密钥与环境变量,就只是一项可复制的例行操作了。想要继续探索更多扩展,可参考 MCP 扩展系列文档 下的其它教程。
【免费下载链接】goosean open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM项目地址: https://gitcode.com/GitHub_Trending/goose3/goose
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考