opencode-starcraftStarCraft sound effects plugin for OpenCode - plays iconic Protoss and Terran voice lines on session events
1
15
近 7 天 4
20.4
生态多维模型
5 个月前
2026-02-25
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-starcraft@1.0.3"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-starcraft@1.0.3"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-starcraftopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
StarCraft sound effects plugin for OpenCode. Plays iconic Protoss and Terran voice lines when things happen in your coding session.
Install
From npm (recommended)
Add opencode-starcraft to the plugin array in your OpenCode config file.
The config file is at ~/.config/opencode/opencode.json (global) or opencode.json (project-level).
{
"plugin": ["opencode-starcraft"]
}
OpenCode installs npm plugins automatically at startup. No other steps needed.
From source
Clone this repo and copy index.js into your OpenCode plugins directory:
git clone https://github.com/spartandingo/opencode-starcraft.git
cp opencode-starcraft/index.js ~/.config/opencode/plugins/starcraft-sounds.js
How it works
Sound files are downloaded automatically on first run from The Sounds Resource and cached in ~/.config/opencode/sounds/starcraft/. No sound files are distributed with this package.
Audio playback uses child_process.spawn with platform-native commands (afplay on macOS, paplay on Linux) -- no additional dependencies required.
Mute / Unmute
You can mute sound effects at any time. There are two ways:
Slash command: Type /mute in the TUI to toggle sounds on/off. No setup required -- the command is registered automatically by the plugin.
Ask the LLM: Say "mute sounds" or "unmute sounds" in your session. The plugin registers an rts_mute_toggle tool that the LLM will call.
Mute state is persisted across sessions. When you unmute, a confirmation sound plays.
Events
| OpenCode Event | Sound | Quote |
|---|---|---|
session.created |
scv-ready.wav |
"SCV good to go, sir" |
session.idle |
scv-yes-sir.wav / scv-affirmative.wav |
"Yes sir" / "Affirmative" |
session.compacted |
additional-pylons.wav |
"You must construct additional pylons!" |
session.error |
not-enough-minerals-*.wav / not-enough-vespene-gas.wav |
"Not enough minerals" / "Insufficient vespene gas" |
permission.asked |
scv-whaddya-want.wav / scv-im-not-listening.wav |
"Whaddya want?" |
Platform support
| Platform | Audio command | Status |
|---|---|---|
| macOS | afplay (built-in) |
Tested |
| Linux | paplay (PulseAudio) |
Should work |
Credits
- Sound files from StarCraft (Blizzard Entertainment) via The Sounds Resource
- Sounds are downloaded on demand and not distributed with this package
- StarCraft is a trademark of Blizzard Entertainment, Inc.
License
MIT