gptscript
用自然语言脚本驱动大模型调用本地CLI、OpenAPI和文件系统的极简AI Agent框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用自然语言脚本驱动大模型调用本地CLI、OpenAPI和文件系统的极简AI Agent框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:凌晨两点,你突然想起今天的晨会需要汇报 GitHub 最新提交记录。按照传统方式,你得手动登录 GitHub、查找仓库、逐条查看——这至少要花掉你 10 分钟。但如果有一把"AI 命令行瑞士军刀",你只需在终端输入 gptscript github.com/用户名/git-commit-summarizer,它就能自动联网、抓取数据、生成摘要,整个过程不到 30 秒。GPTScript 正是这把瑞士军刀。

GPTScript 背后的公司 Acorn Labs 颇具故事性。这家成立于旧金山的初创公司,最初的拳头产品是一款 Kubernetes 平台即服务(KPaaS)产品,名为 Acorn(同样开源,Apache-2.0 许可)。2024 年 2 月,Acorn Labs 在 Kubernetes 赛道深耕多年后,突然宣布战略转型,押注大语言模型应用开发框架,并在 2024 年 2 月 19 日悄然在 GitHub 上发布了 GPTScript 的第一个版本(v0.0.1)。
这一转向的背后是清晰的商业判断:Kubernetes 生态已经高度成熟,差异化空间有限;而彼时 GPT-4 的函数调用(Function Calling)能力刚刚开放,业界还没有一个成熟框架能让开发者用自然语言脚本轻松编排 LLM 与外部系统的交互。Acorn Labs 联合创始人兼 CEO 梁胜(Sheng Liang)在媒体采访中直言:"云原生应用的黄金时代已经过去,AI 原生应用的浪潮正在到来。"
GPTScript 的命名也暗藏心思——它不是又一个"LangChain 竞品",而是一种脚本语言:用 .gpt 后缀的文件来描述 AI 任务,语法类似自然语言与 YAML 的混合体,降低了 AI 应用开发的门槛。
如果用生活场景来类比,GPTScript 更像是 AI 世界的 bash 脚本解释器:bash 让你用文本命令驱动操作系统,GPTScript 让你用自然语言驱动大模型和各种外部系统。传统 AI 应用开发需要写大量代码来管理 prompt、记忆上下文、处理工具调用,而 GPTScript 把这一切抽象成了几行"脚本"。
一个典型的 GPTScript 脚本(bob.gpt)可能长这样:
#!/bin/gptscript
name: Bob
description: A CLI assistant that can run commands
Do not ask for confirmation before running commands.
Tools:
- name: Exec
description: Run a shell command
用户只需定义"角色"和"工具",GPTScript 的运行时(Runtime)自动处理 LLM 的函数调用序列化、结果回传和上下文管理。开发者不需要懂 LangChain、不需要懂 LangGraph、不需要懂 LangSmith——一行脚本搞定。
GPTScript 最直观的使用方式是让 AI 操控本地命令行工具。你可以把任何本地可执行文件(git、kubectl、docker、npm 等)注册为 GPTScript 的工具,让 AI 通过自然语言调用它们。
典型场景:运维工程师无需记忆复杂的 kubectl 命令,只需说"帮我查看所有命名空间下 CPU 使用率超过 50% 的 Pod",GPTScript 就能自动生成并执行相应的 kubectl 指令组合。
GPTScript 支持将任何符合 OpenAPI 规范的 REST API 注册为工具。这意味着 Salesforce、GitHub、Slack、Stripe 等主流 SaaS 平台的 API,无需编写适配代码,直接在 .gpt 脚本中引用即可被 AI 调用。

通过内置的文件系统工具,GPTScript 可以读取、搜索和分析本地目录结构。这使得它天然适合做代码审查、日志分析、文档生成等任务——无需额外的 RAG 管道,AI 直接"看到"你的文件。
GPTScript 的 .gpt 脚本支持声明式的工作流描述:一个脚本可以定义多个步骤,每个步骤调用不同的工具/系统,最终组合成完整的业务流程。官方示例 workflow-demo.gpt 展示了如何让 AI 自动从 Hacker News 抓取头条新闻,筛选技术类内容,并生成一份每日简报保存为 tweets.md。
作为 2024 年 AI Agent 领域最重要的协议之一,MCP 由 Anthropic 在 2024 年 11 月推出,旨在标准化大模型与外部工具的交互。GPTScript 已在框架层面支持 MCP 服务器连接(支持 STDIO、HTTP、SSE、WebSocket 等传输方式),使 GPTScript 可以接入更广泛的工具生态。
GPTScript 的核心设计原则之一是模型无关性。它不绑定任何特定 LLM 提供商,通过抽象的聊天补全(Chat Completion)接口,可以接入 OpenAI、Anthropic、本地 Ollama 模型等。默认使用 OpenAI GPT-4o,但用户可以通过环境变量切换到其他模型。
GPTScript 的核心实现值得关注:这是一个完全用 Go 语言编写的单二进制工具,通过 brew install gptscript 或一行 curl 脚本即可完成安装,安装包即为最终可执行文件,无需 Python 环境、Node.js 或 Docker。
项目结构清晰:
| 目录/包 | 职责 |
|---|---|
pkg/engine | 核心执行引擎:处理函数调用、OpenAPI schema 解析、HTTP 工具调用 |
pkg/cli | 命令行入口:credentail 管理、环境变量解析、SDK 服务端 |
pkg/auth | 认证模块:OAuth、API Key 管理 |
pkg/builtin | 内置工具集:文件操作、进程执行等 |
pkg/daemon | 后台守护进程:缓存管理、长连接维持 |
pkg/gptscript | 主 SDK 包:供其他 Go 程序调用 GPTScript 能力 |
static/ui | 内置 Web UI(基于 Vue 3 / Nuxt.js 的 _nuxt 目录) |
docs | 文档站点(基于 Docusaurus) |
值得注意的是 static/ui 目录下包含了一个 _nuxt 目录(Nuxt.js 编译产物),说明 GPTScript 确实有内置的 Web UI 界面,但这个 UI 是作为二进制文件的嵌入式静态资源打包的(Go 的 embed.FS 机制),不是独立部署的 Web 服务。
integration/ 目录和 smoke 测试标签,CI 流程中通过 ./bin/gptscript ./scripts/ci.gpt 运行集成测试,测试意识良好.golangci.yml 配置了标准化规则GPTScript 的安装堪称零门槛:
# macOS/Linux
brew install gptscript
# 或一行脚本
curl https://get.gptscript.ai/install.sh | sh
# Windows
winget install gptscript-ai.gptscript
安装后,运行一个示例脚本只需要一行:
gptscript github.com/gptscript-ai/llm-basics-demo
但"隐形门槛"在于:它需要一个 OpenAI API Key。 虽然 GPTScript 支持切换模型,但默认配置和文档示例都以 OpenAI API 为默认提供商。对于企业用户来说,这可能涉及数据合规考量;对于个人用户,API 费用也是持续成本。
截至分析时,该 GitHub 仓库已被标记为 archived: true。代码不再接受新提交、维护状态已冻结。虽然 3,280 颗星和活跃的 Discord 社区表明它在 2024 年确实积累了一定的用户基础,但归档决定让不少开发者担忧后续维护和 bug 修复的可持续性。
GPTScript 的优势是极简,代价是功能深度。面对 CrewAI 的角色扮演多Agent、LangGraph 的复杂状态图、Mastra 的生产级工作流引擎,GPTScript 的 .gpt 脚本在表达复杂业务流程时存在局限。
Acorn Labs 的商业模式是通过 GPTScript 框架吸引用户,进而推广其商业化产品。如果未来 GPTScript 的核心能力向商业版本倾斜,开源社区的信任可能受损。
虽然 GPTScript 已支持 MCP 协议,但独立 MCP 客户端库仍处于"未来工作"规划中,当前的 MCP 实现依赖外部 FastMCP 库,存在一定外部依赖风险。
尽管 GPTScript 的功能深度比不上 LangChain 或 CrewAI,但它在降低 AI Agent 开发门槛这件事上确实做到了极致。它的 .gpt 脚本格式是 2024 年初的一个有趣探索——在那个时间点,业界还在争论"Prompt Engineering 是否是真正的编程",GPTScript 就已经尝试用脚本语言来结构化 AI 任务定义。
从增长曲线看,GPTScript 的 3,280 颗星虽然不及 LangChain(超过 100,000 颗),但它的归档决定反映了一个现实:面对 LangChain、AutoGen 等重型框架的快速迭代和生态扩张,定位在"极简脚本工具"的产品在长期竞争中难以持续。
代表趋势:GPTScript 体现了 2024 年 AI Agent 领域的一个核心趋势——从"用代码控制 AI"到"用自然语言描述 AI 任务"的范式转变。这一理念后来被 OpenAI Agents SDK、Smolagents 等框架继承和发展。