fix(coding-agent): lazy-init OpenAI client to avoid top-level throw
This commit is contained in:
@@ -26,23 +26,16 @@ createApp(App).mount();
|
||||
|
||||
```vue
|
||||
<!-- src/App.vue -->
|
||||
<script lang="ts">
|
||||
import { shallowRef, defineComponent } from "vue";
|
||||
<script setup lang="ts">
|
||||
import { shallowRef } from "vue";
|
||||
import { Box, Text, useInput } from "@vue-tui/runtime";
|
||||
|
||||
export default defineComponent({
|
||||
components: { Box, Text },
|
||||
setup() {
|
||||
const count = shallowRef(0);
|
||||
|
||||
useInput((input) => {
|
||||
if (input === "+") count.value++;
|
||||
if (input === "-") count.value--;
|
||||
});
|
||||
|
||||
return { count };
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
@@ -23,10 +23,16 @@ export interface AgentOptions {
|
||||
requestApproval: (command: string) => Promise<boolean>;
|
||||
}
|
||||
|
||||
const client = new OpenAI({
|
||||
let client: OpenAI | undefined;
|
||||
function getClient(): OpenAI {
|
||||
if (!client) {
|
||||
client = new OpenAI({
|
||||
apiKey: process.env["DEEPSEEK_API_KEY"],
|
||||
baseURL: "https://api.deepseek.com",
|
||||
});
|
||||
}
|
||||
return client;
|
||||
}
|
||||
|
||||
const BASH_TOOL = {
|
||||
type: "function" as const,
|
||||
@@ -83,7 +89,7 @@ export async function runAgentLoop(
|
||||
messages = [...messages, { role: "user", content: userMessage }];
|
||||
|
||||
while (true) {
|
||||
const stream = await client.chat.completions.create({
|
||||
const stream = await getClient().chat.completions.create({
|
||||
model: "deepseek-v4-pro",
|
||||
messages: [
|
||||
{ role: "system", content: SYSTEM_PROMPT },
|
||||
|
||||
Reference in New Issue
Block a user