opencode-lmstudio-warmDeterministic LM Studio model pre-warm gate for opencode — loads and keeps the target model resident before every request, healing cold starts and mid-session TTL evictions.
0
828
近 7 天 301
37.9
生态多维模型
7 小时前
2026-08-20
快速安装与配置
opencode.json写入当前项目的 opencode.json,只对这个仓库生效。
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-lmstudio-warm@0.3.2"]
}写入 ~/.config/opencode/opencode.json,对所有项目生效。
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["opencode-lmstudio-warm@0.3.2"]
}若你要在本地改造这个插件,先装到项目里再从本地路径引用。
shell
pnpm add -D opencode-lmstudio-warmopencode 启动时会通过内嵌运行时自动加载 npm 依赖并缓存至本地目录,无需手动在全局环境执行安装。
A bun-workspaces monorepo for deterministic LM Studio model pre-warming across coding-agent integrations. Every package warms a target model — makes sure it's already loaded and addressable in LM Studio — before it lets a completion request leave, instead of paying an in-flight cold-load latency spike or racing a "no model loaded" error.

Scripted demo using the omp package — the status/log
lines are the plugins' real strings; the cold-load wait is shortened.
Packages
| Package | npm name | What it wires into |
|---|---|---|
packages/core |
lm-studio-warm-core |
Runtime-agnostic core: cross-process lock, eviction planning, lms CLI client, model discovery, two-tier config loading. Not user-facing on its own. |
packages/omp |
omp-lm-studio-warm |
omp extension — warms LM Studio models before every lm-studio completion stream. |
packages/pi |
pi-lm-studio-warm |
pi extension — same gate, wired as a native lm-studio provider. |
packages/opencode |
opencode-lmstudio-warm |
opencode plugin — gates every request via the chat.params hook; heals mid-session TTL evictions. |
All four packages share the same
WarmOptions config shape and the same cross-process lock at
~/.cache/lm-studio-warm/lock — see
packages/core/README.md for the canonical
configuration reference and lock semantics. Each wiring package's own README
covers its install steps, config file location, and runtime-specific
behavior.
Repo map
lm-studio-warm/
├── package.json # private workspace root; no publishable code
├── tsconfig.base.json · bunfig.toml
├── release-please-config.json · .release-please-manifest.json
├── .github/workflows/ # ci.yml (per-package matrix), release-please.yml, publish.yml
├── docs/assets/ # demo assets — quickstart-<runtime>.{cast,gif}
└── packages/
├── core/ → npm lm-studio-warm-core
├── omp/ → npm omp-lm-studio-warm
├── pi/ → npm pi-lm-studio-warm
└── opencode/ → npm opencode-lmstudio-warm
Development
bun install
bun run check # typecheck + test, fanned out to every package
bun run typecheck
bun run test
CI (.github/workflows/ci.yml) runs a per-package check matrix plus a
bun audit job.
See packages/*/README.md for package-specific documentation.
Releases
Versioning is automated with release-please in manifest mode, one component per package. Conventional commits drive per-package version bumps; no one edits a version number by hand.
Naming note: the opencode package keeps its historical npm spelling
(opencode-lmstudio-warm, no hyphen in "lmstudio") — npm rejects new names
that differ from an existing package only in punctuation, so the rename to
match its siblings is not possible on the registry.
License
MIT. See LICENSE.