Package Exports
- @the3asic/opencode-smart-title
- @the3asic/opencode-smart-title/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@the3asic/opencode-smart-title) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Smart Title Plugin (Fork)
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-titleAdd 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