From 175512820994bbcffbfb466c49a07f430a7b1760 Mon Sep 17 00:00:00 2001 From: Li Xin Date: Thu, 24 Apr 2025 17:24:58 +0800 Subject: [PATCH] feat: add `autoAcceptedPlan` to options --- web/src/app/_settings/tabs/general-tab.tsx | 23 ++++++++++++++++++++++ web/src/core/api/chat.ts | 4 +++- web/src/core/store/settings-store.ts | 2 ++ web/src/core/store/store.ts | 1 + 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/web/src/app/_settings/tabs/general-tab.tsx b/web/src/app/_settings/tabs/general-tab.tsx index 1c02876..2dbbf74 100644 --- a/web/src/app/_settings/tabs/general-tab.tsx +++ b/web/src/app/_settings/tabs/general-tab.tsx @@ -17,11 +17,14 @@ import { FormMessage, } from "~/components/ui/form"; import { Input } from "~/components/ui/input"; +import { Label } from "~/components/ui/label"; +import { Switch } from "~/components/ui/switch"; import type { SettingsState } from "~/core/store"; import type { Tab } from "./types"; const generalFormSchema = z.object({ + autoAcceptedPlan: z.boolean(), maxPlanIterations: z.number().min(1, { message: "Max plan iterations must be at least 1.", }), @@ -68,6 +71,26 @@ export const GeneralTab: Tab = ({
+ ( + + +
+ + +
+
+
+ )} + /> (resolveServiceURL("chat/stream"), { body: JSON.stringify({ messages: [{ role: "user", content: userMessage }], - auto_accepted_plan: false, ...params, }), signal: options.abortSignal, @@ -44,11 +44,13 @@ async function* chatStreamMock( userMessage: string, params: { thread_id: string; + auto_accepted_plan: boolean; max_plan_iterations: number; max_step_num: number; interrupt_feedback?: string; } = { thread_id: "__mock__", + auto_accepted_plan: false, max_plan_iterations: 3, max_step_num: 1, interrupt_feedback: undefined, diff --git a/web/src/core/store/settings-store.ts b/web/src/core/store/settings-store.ts index 30e0329..8aff926 100644 --- a/web/src/core/store/settings-store.ts +++ b/web/src/core/store/settings-store.ts @@ -9,6 +9,7 @@ const SETTINGS_KEY = "deerflow.settings"; const DEFAULT_SETTINGS: SettingsState = { general: { + autoAcceptedPlan: false, maxPlanIterations: 1, maxStepNum: 3, }, @@ -44,6 +45,7 @@ const DEFAULT_SETTINGS: SettingsState = { export type SettingsState = { general: { + autoAcceptedPlan: boolean; maxPlanIterations: number; maxStepNum: number; }; diff --git a/web/src/core/store/store.ts b/web/src/core/store/store.ts index fc314f8..b53094b 100644 --- a/web/src/core/store/store.ts +++ b/web/src/core/store/store.ts @@ -107,6 +107,7 @@ export async function sendMessage( content, { thread_id: THREAD_ID, + auto_accepted_plan: generalSettings.autoAcceptedPlan, max_plan_iterations: generalSettings.maxPlanIterations, max_step_num: generalSettings.maxStepNum, interrupt_feedback: interruptFeedback,