Models:支持在 Web UI 里管理可见模型 (#613)
* feat(models): add WUI model visibility filter Store provider model visibility in Web UI app config and filter the WUI model picker/model page without rewriting Hermes CLI config or canonical model IDs. * fix(models): sync sidebar after visibility changes
This commit is contained in:
@@ -5,6 +5,11 @@ import { homedir } from 'os'
|
||||
const APP_HOME = join(homedir(), '.hermes-web-ui')
|
||||
const APP_CONFIG_FILE = join(APP_HOME, 'config.json')
|
||||
|
||||
export interface ModelVisibilityRule {
|
||||
mode: 'all' | 'include'
|
||||
models: string[]
|
||||
}
|
||||
|
||||
export interface AppConfig {
|
||||
// Whether GitHub Copilot has been explicitly added by the user in web-ui.
|
||||
// Default false: even when COPILOT_GITHUB_TOKEN / gh-cli / apps.json can
|
||||
@@ -12,6 +17,11 @@ export interface AppConfig {
|
||||
// via "Add Provider". Mirrors how the user manages Codex/Nous: the web-ui
|
||||
// owns the provider list, system credentials are merely a fallback source.
|
||||
copilotEnabled?: boolean
|
||||
|
||||
// Web UI-only model picker visibility. This filters what the WUI exposes in
|
||||
// its sidebar/model pages and never renames or rewrites Hermes canonical
|
||||
// provider/model IDs. Hermes CLI config remains the upstream source of truth.
|
||||
modelVisibility?: Record<string, ModelVisibilityRule>
|
||||
}
|
||||
|
||||
let cache: AppConfig | null = null
|
||||
|
||||
Reference in New Issue
Block a user