mirror of
https://gitcode.com/JianFeeeee/ModelRouter.git
synced 2026-09-22 09:58:00 +00:00
feat: opencode zen adapter + first-run config generation, fix stats/stream bugs
- adapters/opencode.lua: opencode.ai zen free pool adapter — sends the opencode client User-Agent (zen fingerprints clients by UA; non-official clients hit FreeUsageLimitError); pairs with api_key: public - config: no config file ships in the repo; first run generates a default config at the -config path with a random admin key, loopback listen and a keyless zen source (config.EnsureDefault); remove config.example.yaml - lua: seed bundled adapters from the embedded FS instead of a hardcoded name list - ui: widen model kind select (chat was clipped to 'cha') - phase 5 bugfixes: stats ms/s bucket mixing, cleanScopes nil, ctx.Err guards, direct-path ModelAvailable, empty stream body failure, bestImageModel rewrite, transform failure recording, Core.mu, timer, effective model for tool-calls
This commit is contained in:
@ -302,13 +302,21 @@ func (v *VM) pool(name string) *adapterPool {
|
||||
}
|
||||
|
||||
func (v *VM) writeBundledAdapters() error {
|
||||
known := []string{"openai", "anthropic", "deepseek", "gemini", "github", "groq", "mistral", "ollama", "kimicode"}
|
||||
for _, name := range known {
|
||||
dst := filepath.Join(v.dir, name+".lua")
|
||||
// Derive the set from the embedded FS instead of a hardcoded name list so
|
||||
// adding an adapter never requires maintaining a second list.
|
||||
entries, err := bundledAdapters.ReadDir("adapters")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, e := range entries {
|
||||
if e.IsDir() || !strings.HasSuffix(e.Name(), ".lua") {
|
||||
continue
|
||||
}
|
||||
dst := filepath.Join(v.dir, e.Name())
|
||||
if _, err := os.Stat(dst); err == nil {
|
||||
continue
|
||||
}
|
||||
data, err := bundledAdapters.ReadFile("adapters/" + name + ".lua")
|
||||
data, err := bundledAdapters.ReadFile("adapters/" + e.Name())
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user