Files
agent-loop/async-agent-lab/agent/config.ts
2026-11-12 15:29:12 +08:00

43 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 模型网关配置。字段和团队的 provider 配置保持一致:
//
// eastmoney:
// displayName: 东财AI网关
// apiKeyEnv: EASTMONEY_API_KEY
// api: openai-completions
// baseURL: https://dd-ai-api.eastmoney.com/coding/v1
// models: [DeepSeek-V4.1-Flash-1017]
//
// 密钥只从环境变量读取。项目根目录的 .env.local(不进 git)会在启动时加载。
import { existsSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import type { Provider } from './llm.ts';
export const PROJECT_ROOT = fileURLToPath(new URL('..', import.meta.url));
const eastmoney = {
displayName: '东财AI网关',
apiKeyEnv: 'EASTMONEY_API_KEY',
api: 'openai-completions' as const,
baseURL: 'https://dd-ai-api.eastmoney.com/coding/v1',
model: 'DeepSeek-V4.1-Flash-1017',
};
export function loadProvider(): Provider {
const envFile = `${PROJECT_ROOT}.env.local`;
if (existsSync(envFile)) process.loadEnvFile(envFile);
const apiKey = process.env[eastmoney.apiKeyEnv];
if (!apiKey) {
throw new Error(
`缺少模型网关密钥。请设置环境变量 ${eastmoney.apiKeyEnv},或写进 ${envFile}(参考 .env.example)。`,
);
}
return {
displayName: eastmoney.displayName,
api: eastmoney.api,
baseURL: process.env.LLM_BASE_URL ?? eastmoney.baseURL,
model: process.env.LLM_MODEL ?? eastmoney.model,
apiKey,
};
}