opencode-gpt-talk-normalOpenCode server plugin — auto-inject talk-normal system prompt for GPT models
0
11
5 in 7 days
19.7
Multi-signal model
4 months ago
2026-04-11
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gpt-talk-normal@0.1.0"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gpt-talk-normal@0.1.0"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D opencode-gpt-talk-normalopencode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
English | 中文
OpenCode server plugin — automatically injects the talk-normal system prompt when using GPT models.
What it does
When model.id or model.modelID contains gpt (case-insensitive), this plugin prepends the talk-normal prompt to the system message before it reaches the LLM. Non-GPT models are completely unaffected.
The prompt source is talk-normal v0.6.1 by hexiecs.
Install
# via opencode CLI (recommended)
opencode plugin opencode-gpt-talk-normal
# or pnpm
pnpm add -D opencode-gpt-talk-normal
# or npm
npm install -D opencode-gpt-talk-normal
Configure
Add to your opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-gpt-talk-normal"]
}
Or with a local path for development:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["/absolute/path/to/opencode-gpt-talk-normal"]
}
Behavior
| Condition | Result |
|---|---|
model.id contains gpt |
talk-normal prompt prepended to system[] |
| model is Claude, Gemini, etc. | no change |
| prompt already injected | skipped (idempotent) |
E2E verified
Tested against real openai/gpt-5.4 through OpenCode's plugin hook (experimental.chat.system.transform). The captured request confirmed talk-normal appears as the first system message, while a control run with claude-sonnet-4.6 showed no injection.
Test
node --test
License
MIT