fix it to use env vars if available (#1063)

This commit is contained in:
Michael Neale
2025-02-04 19:11:30 +11:00
committed by GitHub
parent 3f23061831
commit dd55c42342
6 changed files with 22 additions and 6 deletions

View File

@@ -60,7 +60,7 @@ fn setup_profile(temp_dir_path: &Path, profile_string: Option<&str>) {
"profile_items": { "profile_items": {
"default": { "default": {
"provider": "databricks", "provider": "databricks",
"model": "claude-3-5-sonnet-2", "model": "goose",
"additional_extensions": [] "additional_extensions": []
} }
} }

View File

@@ -14,7 +14,7 @@
"databricks": { "databricks": {
"name": "Databricks", "name": "Databricks",
"description": "Connect to LLMs via Databricks", "description": "Connect to LLMs via Databricks",
"models": ["claude-3-5-sonnet-2"], "models": ["goose"],
"required_keys": ["DATABRICKS_HOST"] "required_keys": ["DATABRICKS_HOST"]
}, },
"google": { "google": {

View File

@@ -363,6 +363,14 @@ export default function ChatWindow() {
useEffect(() => { useEffect(() => {
const setupStoredProvider = async () => { const setupStoredProvider = async () => {
const config = window.electron.getConfig(); const config = window.electron.getConfig();
if (config.GOOSE_PROVIDER && config.GOOSE_MODEL) {
window.electron.logInfo(
'Initializing system with environment: GOOSE_MODEL and GOOSE_PROVIDER as priority.'
);
await initializeSystem(config.GOOSE_PROVIDER, config.GOOSE_MODEL);
return;
}
const storedProvider = getStoredProvider(config); const storedProvider = getStoredProvider(config);
const storedModel = getStoredModel(); const storedModel = getStoredModel();
if (storedProvider) { if (storedProvider) {

View File

@@ -47,6 +47,11 @@ export default function BottomMenu({ hasMessages }) {
}; };
}, [isModelMenuOpen]); }, [isModelMenuOpen]);
let envModelProvider = null;
if (window.electron.getConfig().GOOSE_MODEL && window.electron.getConfig().GOOSE_PROVIDER) {
envModelProvider = `${window.electron.getConfig().GOOSE_MODEL} - ${window.electron.getConfig().GOOSE_PROVIDER}`;
}
return ( return (
<div className="flex justify-between items-center text-textSubtle relative bg-bgSubtle border-t border-borderSubtle text-xs pl-4 h-[40px] pb-1 align-middle"> <div className="flex justify-between items-center text-textSubtle relative bg-bgSubtle border-t border-borderSubtle text-xs pl-4 h-[40px] pb-1 align-middle">
{/* Directory Chooser - Always visible */} {/* Directory Chooser - Always visible */}
@@ -72,7 +77,7 @@ export default function BottomMenu({ hasMessages }) {
className="flex items-center cursor-pointer" className="flex items-center cursor-pointer"
onClick={() => setIsModelMenuOpen(!isModelMenuOpen)} onClick={() => setIsModelMenuOpen(!isModelMenuOpen)}
> >
<span>{currentModel?.name || 'Select Model'}</span> <span>{envModelProvider || currentModel?.name || 'Select Model'}</span>
{isModelMenuOpen ? ( {isModelMenuOpen ? (
<ChevronDown className="w-4 h-4 ml-1" /> <ChevronDown className="w-4 h-4 ml-1" />
) : ( ) : (

View File

@@ -48,7 +48,7 @@ export const azure_openai_models = ['gpt-4o'];
export const default_models = { export const default_models = {
openai: 'gpt-4o', openai: 'gpt-4o',
anthropic: 'claude-3-5-sonnet-latest', anthropic: 'claude-3-5-sonnet-latest',
databricks: 'claude-3-5-sonnet-2', databricks: 'goose',
google: 'gemini-2.0-flash-exp', google: 'gemini-2.0-flash-exp',
groq: 'llama-3.3-70b-versatile', groq: 'llama-3.3-70b-versatile',
openrouter: 'anthropic/claude-3.5-sonnet', openrouter: 'anthropic/claude-3.5-sonnet',

View File

@@ -73,7 +73,7 @@ const getGooseProvider = () => {
//{env-macro-start}// //{env-macro-start}//
//needed when goose is bundled for a specific provider //needed when goose is bundled for a specific provider
//{env-macro-end}// //{env-macro-end}//
return process.env.GOOSE_PROVIDER; return [process.env.GOOSE_PROVIDER, process.env.GOOSE_MODEL];
}; };
const generateSecretKey = () => { const generateSecretKey = () => {
@@ -83,8 +83,11 @@ const generateSecretKey = () => {
return key; return key;
}; };
let [provider, model] = getGooseProvider();
let appConfig = { let appConfig = {
GOOSE_PROVIDER: getGooseProvider(), GOOSE_PROVIDER: provider,
GOOSE_MODEL: model,
GOOSE_API_HOST: 'http://127.0.0.1', GOOSE_API_HOST: 'http://127.0.0.1',
GOOSE_PORT: 0, GOOSE_PORT: 0,
GOOSE_WORKING_DIR: '', GOOSE_WORKING_DIR: '',