@the3asic/opencode-smart-titleOpenCode plugin that automatically generates meaningful session titles using AI and smart context selection
1
28
近 7 天 10
22.4
生态多维模型
5 个月前
2026-03-04
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@the3asic/opencode-smart-title@0.2.2"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@the3asic/opencode-smart-title@0.2.2"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D @the3asic/opencode-smart-titleopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
This plugin auto-generates meaningful OpenCode session titles from your conversation.
Fork Notice
This repository is a fork of:
- Upstream:
Tarquinen/opencode-smart-title - Fork:
the3asic/opencode-smart-title
The npm package for this fork is:
@the3asic/opencode-smart-title
What This Fork Adds
Compared to upstream, this fork adds:
- Custom prompt support via config (
prompt) - Directory exclusion (
excludeDirectories) so specific paths are ignored - Config model fallback flow with better provider/model selection behavior
- Subagent skip logic (does not rename subagent sessions)
- Smarter context extraction (keeps full user message + first/last assistant reply per turn)
- Improved logging and error output for debugging and operations
How It Works
- Plugin listens for OpenCode
session.statusevents. - When status becomes
idle, it checks gates:- plugin enabled
- not a subagent session
- current directory not excluded
updateThresholdreached
- It loads recent conversation context and builds a compact prompt payload.
- It picks a model:
- use configured
modelfirst (if set) - fallback to authenticated providers in priority order
- use configured
- It generates a short title and updates the current session title.
Installation
npm install @the3asic/opencode-smart-title
Add to ~/.config/opencode/opencode.json:
{
"plugin": ["@the3asic/opencode-smart-title"]
}
Configuration
The plugin supports global and project-level config:
- Global:
~/.config/opencode/smart-title.jsonc - Project:
.opencode/smart-title.jsonc(overrides global)
The plugin auto-creates a default global config on first run.
{
"enabled": true,
"debug": false,
// Optional, for example: "opencode/gpt-5-nano"
// "model": "anthropic/claude-haiku-4-5",
// Optional custom generation prompt
// "prompt": "Generate very short technical titles...",
"updateThreshold": 1,
// Optional directory blacklist
// "excludeDirectories": ["/home/ubuntu/.heartbeat"]
}
Local Development (Optional)
If you are actively developing this plugin, you can load local build output directly:
{
"plugin": [
"file:///absolute/path/to/opencode-smart-title/dist/index.js"
]
}
Use package install for daily usage across machines, and local file mode only for development/debugging.
License
MIT