feat(auth): add DeepSeek API and fix
This commit is contained in:
parent
301a9f5068
commit
37bee604b1
@ -186,37 +186,37 @@ describe("models-config", () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
it("adds deepseek provider when DEEPSEEK_API_KEY is set", async () => {
|
it("adds deepseek provider when DEEPSEEK_API_KEY is set", async () => {
|
||||||
await withTempHome(async () => {
|
await withTempHome(async () => {
|
||||||
vi.resetModules();
|
vi.resetModules();
|
||||||
const prevKey = process.env.DEEPSEEK_API_KEY;
|
const prevKey = process.env.DEEPSEEK_API_KEY;
|
||||||
process.env.DEEPSEEK_API_KEY = "sk-deepseek-test";
|
process.env.DEEPSEEK_API_KEY = "sk-deepseek-test";
|
||||||
try {
|
try {
|
||||||
const { ensureClawdbotModelsJson } = await import("./models-config.js");
|
const { ensureClawdbotModelsJson } = await import("./models-config.js");
|
||||||
const { resolveClawdbotAgentDir } = await import("./agent-paths.js");
|
const { resolveClawdbotAgentDir } = await import("./agent-paths.js");
|
||||||
|
|
||||||
await ensureClawdbotModelsJson({});
|
await ensureClawdbotModelsJson({});
|
||||||
|
|
||||||
const modelPath = path.join(resolveClawdbotAgentDir(), "models.json");
|
const modelPath = path.join(resolveClawdbotAgentDir(), "models.json");
|
||||||
const raw = await fs.readFile(modelPath, "utf8");
|
const raw = await fs.readFile(modelPath, "utf8");
|
||||||
const parsed = JSON.parse(raw) as {
|
const parsed = JSON.parse(raw) as {
|
||||||
providers: Record<
|
providers: Record<
|
||||||
string,
|
string,
|
||||||
{
|
{
|
||||||
baseUrl?: string;
|
baseUrl?: string;
|
||||||
apiKey?: string;
|
apiKey?: string;
|
||||||
models?: Array<{ id: string }>;
|
models?: Array<{ id: string }>;
|
||||||
}
|
}
|
||||||
>;
|
>;
|
||||||
};
|
};
|
||||||
expect(parsed.providers.deepseek?.baseUrl).toBe("https://api.deepseek.com/v1");
|
expect(parsed.providers.deepseek?.baseUrl).toBe("https://api.deepseek.com/v1");
|
||||||
expect(parsed.providers.deepseek?.apiKey).toBe("DEEPSEEK_API_KEY");
|
expect(parsed.providers.deepseek?.apiKey).toBe("DEEPSEEK_API_KEY");
|
||||||
const ids = parsed.providers.deepseek?.models?.map((model) => model.id);
|
const ids = parsed.providers.deepseek?.models?.map((model) => model.id);
|
||||||
expect(ids).toContain("deepseek-chat");
|
expect(ids).toContain("deepseek-chat");
|
||||||
expect(ids).toContain("deepseek-reasoner");
|
expect(ids).toContain("deepseek-reasoner");
|
||||||
} finally {
|
} finally {
|
||||||
if (prevKey === undefined) delete process.env.DEEPSEEK_API_KEY;
|
if (prevKey === undefined) delete process.env.DEEPSEEK_API_KEY;
|
||||||
else process.env.DEEPSEEK_API_KEY = prevKey;
|
else process.env.DEEPSEEK_API_KEY = prevKey;
|
||||||
}
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|||||||
@ -245,6 +245,7 @@ export function buildAuthChoiceOptions(params: {
|
|||||||
label: "MiniMax M2.1 Lightning",
|
label: "MiniMax M2.1 Lightning",
|
||||||
hint: "Faster, higher output cost",
|
hint: "Faster, higher output cost",
|
||||||
});
|
});
|
||||||
|
options.push({ value: "deepseek-api-key", label: "DeepSeek API key" });
|
||||||
if (params.includeSkip) {
|
if (params.includeSkip) {
|
||||||
options.push({ value: "skip", label: "Skip for now" });
|
options.push({ value: "skip", label: "Skip for now" });
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user