feat(agent): support AGENT_PROVIDER and AGENT_MODEL env vars
Add environment variable support for provider/model defaults: - AGENT_PROVIDER: default LLM provider (fallback: kimi-coding) - AGENT_MODEL: default model name - Auto-load .env via tsx --env-file in agent:cli script Priority: CLI args > env vars > session meta > defaults. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
9858576abe
commit
236863acd4
2 changed files with 7 additions and 8 deletions
|
|
@ -6,7 +6,7 @@
|
|||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
"dev": "tsx src/index.ts",
|
||||
"agent:cli": "tsx src/agent/cli.ts",
|
||||
"agent:cli": "tsx --env-file=.env src/agent/cli.ts",
|
||||
"agent:interactive": "tsx src/agent/interactive-cli.ts",
|
||||
"agent:profile": "tsx src/agent/profile-cli.ts",
|
||||
"dev:gateway": "tsx --watch src/gateway/main.ts",
|
||||
|
|
|
|||
|
|
@ -90,8 +90,9 @@ export class Agent {
|
|||
this.output = createAgentOutput({ stdout, stderr });
|
||||
this.debug = options.debug ?? false;
|
||||
|
||||
// Resolve provider for API key and base URL
|
||||
const resolvedProvider = options.provider ?? "kimi-coding";
|
||||
// Resolve provider and model from options > env vars > defaults
|
||||
const resolvedProvider = options.provider ?? process.env.AGENT_PROVIDER ?? "kimi-coding";
|
||||
const resolvedModel = options.model ?? process.env.AGENT_MODEL;
|
||||
const apiKey = resolveApiKey(resolvedProvider, options.apiKey);
|
||||
|
||||
this.agent = new PiAgentCore(
|
||||
|
|
@ -142,11 +143,9 @@ export class Agent {
|
|||
return tempSession.getMeta();
|
||||
})();
|
||||
|
||||
let model = options.provider && options.model ? resolveModel(options) : resolveModel({
|
||||
...options,
|
||||
provider: storedMeta?.provider,
|
||||
model: storedMeta?.model,
|
||||
});
|
||||
const effectiveProvider = resolvedModel ? resolvedProvider : (options.provider ?? storedMeta?.provider);
|
||||
const effectiveModel = resolvedModel ?? options.model ?? storedMeta?.model;
|
||||
let model = resolveModel({ ...options, provider: effectiveProvider, model: effectiveModel });
|
||||
|
||||
// Override base URL if provided via options or environment variable
|
||||
const baseUrl = resolveBaseUrl(model.provider, options.baseUrl);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue