first commit

This commit is contained in:
魏天炜
2026-11-12 15:29:12 +08:00
commit 5dabea54ab
93 changed files with 12170 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
// 模型网关配置。字段和团队的 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,
};
}