OpenCode plugin for adding instructions from OpenAI-compatible API requests
npm install @kiritoko1029/opencode-add-oai-instructionOpenCode 插件:会向 OpenAI 兼容接口的请求体中注入 instructions 字段。
instructions 的内容会根据请求里的 model 从对应的 Markdown 文件加载。
另外,对于 gpt* 模型(model 包含 gpt),插件也会移除 max_output_tokens / max_tokens,用于兼容一些不支持这些字段的 OpenAI-compatible provider。
``bash`
cd ~/.config/opencode
bun add github:kiritoko1029/opencode-add-oai-instruction
在你的 opencode.json 中加入:
`jsonc`
{
"plugins": [
"@kiritoko1029/opencode-add-oai-instruction" // 添加这一行
],
"provider": {
"my-provider": {
"npm": "@ai-sdk/openai",
"api": "https://your-api.com/v1",
"env": ["MY_API_KEY"],
"options": {
"addInstruction": true // 启用插件
},
"models": {
"gpt-5.2": {}
}
}
}
}
本包已内置提示词 Markdown 文件(通常不需要用户额外创建)。
提示词来源:https://github.com/openai/codex/tree/main/codex-rs/core
如果你希望使用自己的提示词(覆盖内置提示词,或为其它 model 增加提示词),可以在插件目录(与 index.mjs 同级)放置/替换对应的 Markdown 文件。
文件命名规则:
-
示例:
- model="gpt-5.2-codex" → gpt-5.2-codex_prompt.mdmodel="gpt-5.2"
- → gpt-5.2_prompt.md(或 gpt_5_2_prompt.md)
说明:
- 匹配不区分大小写。
- 如果没有找到匹配的文件,插件会使用一段内置的简短 instructions(除非请求里已经包含非空的 instructions)。model
- 读取到的提示词会按 做内存缓存(in-memory cache)。
1. 在 chat.params hook 中读取 provider.options.addInstruction。globalThis.fetch
2. 拦截 ,当插件启用时:model
- 当 包含 gpt 时,移除 max_output_tokens / max_tokens。model
- 根据 加载对应的 _prompt.md 文件内容,并写入请求体 instructions。model` 的提示词内容进行缓存,减少文件读取次数。
3. 对每个
MIT