I’d be happy to open a PR for this. Rough plan, building on #21531:
In packages/provider-opencode/src/server/driver.ts, have the v2 branch of snapshotForCwd also call loadOpenCode2Catalog(client, cwd), with the same timeout and fallback as the skills and commands scan. Add an optional models field to ServerProviderWorkspaceSnapshot. It’s only set when the folder’s catalog differs from the machine-wide one. Have the model picker prefer the workspace models for the thread’s folder, and fall back to the machine-wide catalog otherwise.
Does that fit how you want to build this, or is per-workspace model support already planned on top of #21531 (for example alongside #21532)? I don’t want to step on that work.