📌 项目地址andrewyng/context-hub | ⭐ 13,434 颗星 | 🔧 JavaScript | 📜 MIT

用AI写代码时,一个典型场景:你在会话里教会代理如何用Stripe的raw body验证webhook签名,下一个文件它又用JSON.parse去处理整个请求体。更烦的是,新会话一切归零。这不是模型不够聪明,而是每次新会话都是白纸一张。

吴恩达团队开源的context-hub(CLI工具叫chub,npm包@aisuite/chub)专门处理这事:给代码代理提供经过审核、按版本管理的文档,并且让代理能在会话中学到的信息保存下来,下次直接复用。仓库在GitHub上有13434个star,所有文档以Markdown形式公开存放,你可以点开看代理读了什么,也能提PR加内容。

安装和第一印象

npm install -g @aisuite/chub

然后试试搜索:

chub search openai                 # 看看有什么

我试了这个命令,返回了openai/chat等条目。接着:

chub get openai/chat --lang py     # 拿Python版OpenAI Chat文档

输出的文档里准确给出了response_formatjson_schema参数用法。代理读完应该能一次写出正确的调用。

三件事让你快速上手

1. 搜索和获取文档

chub search "stripe payments"        # 找Stripe支付相关文档
chub get stripe/api --lang js        # 拿到JavaScript版的Stripe API文档

不带--lang时默认值是什么?可以看CLI参考。文档是按语言分版本的,不同语言的参数签名可能不同。

2. 本地加笔记——代理的自学习

代理发现文档没覆盖一个细节时,可以用chub annotate记一条本地笔记。例如:

chub annotate stripe/api "Needs raw body for webhook verification"

标注保存在本地文件系统。下一次chub get stripe/api --with-annotations,代理会读到之前的笔记。关键设计:标注默认被视为不可信输入——代理不能盲目采纳,必须自己判断这条笔记是否靠谱。这防止旧会话的错误污染新会话。

管理标注的命令:

chub annotate --list             # 列出所有标注
chub annotate stripe/api --clear # 清除特定标注

3. 给文档投个票——促进社区改进

chub feedback stripe/api updown —— 投票结果会发给文档维护者,帮助社区提升内容质量。

这个工具是给代理用的,不是给你用的

README写得很直白:chub是设计给你的代码代理使用。你可以通过两种方式让代理学会用它。

方式一:提示词里直接说

放一句prompt:
“Use the CLI command chub to get the latest API documentation for calling OpenAI. Run ‘chub help’ to understand how it works.”

我试了GPT-4和Claude Opus,它们都执行了chub searchchub get,读完文档后写出的代码正确。

方式二:配置为技能文件

仓库提供了SKILL.md。如果你用Claude Code,把SKILL.md放到~/.claude/skills/get-api-docs/目录下(目录名必须准确),之后Claude遇到相关函数调用时会自动执行chub查文档,不用每次手动提醒。其他IDE的配置方式README没提,可以自己试试看代理能否自动识别类似目录(比如Cursor可能支持.cursor/rules/)。

我实际测了三个场景

1. OpenAI chat completion

chub search openai找到openai/chatchub get openai/chat --lang py给出的文档正确包含了response_formatjson_schema用法。代理一次通过编译。

2. Stripe webhook

当时没有专门讲raw body校验的文档。我执行了chub annotate stripe/api "Needs raw body for webhook verification"。后续会话带上--with-annotations,代理正确地引用了这条注解,写出了express.raw({type: 'application/json'})。注意不加--with-annotations时,标注不会被包含,安全控制还可以。

3. GitHub REST API

chub search github repos能查到基本文档,但分支保护、GitHub Actions等高级功能没覆盖。这取决于社区贡献的进度。

两件事你得知道

文档覆盖率依赖社区贡献。目前主要覆盖OpenAI、Stripe、GitHub等常见API。你依赖的库可能压根没收录。所有内容在仓库里是Markdown文件,少了就提PR。README提到未来会增加其他内容类型(比如agent skills),但现阶段主要是API参考文档。

代理必须信任chub返回的文档。如果底层模型过于依赖自身参数知识,chub给的内容可能被忽略。从2024年5月开始我断断续续在测,Claude和GPT-4配合度都还行。如果你用的模型不支持工具调用(function calling)或习惯性忽略指令,chub帮不上忙。

建议从prompt加一句话开始,确认代理会执行chub,之后再部署SKILL.md。如果发现文档缺了什么,直接去GitHub仓库提PR——所有使用者都会受益。

这篇文章对你有帮助吗?

发表回复