|
|
@@ -48,6 +48,9 @@ export default function AgentCreate() {
|
|
|
const [systemPrompt, setSystemPrompt] = useState(SYSTEM_PROMPT_TEMPLATES[0].prompt)
|
|
|
const [selectedKBs, setSelectedKBs] = useState<string[]>([])
|
|
|
const [kbSearchMode, setKbSearchMode] = useState('bm25')
|
|
|
+ // 任务型(ReAct)+ 进度纪律:勾选则建可多步读写文件的 react 智能体并开 PROGRESS.md 纪律;
|
|
|
+ // 不勾为纯对话问答型(conversation)。
|
|
|
+ const [taskMode, setTaskMode] = useState(false)
|
|
|
|
|
|
const { data: providerData } = useQuery({
|
|
|
queryKey: ['providers'],
|
|
|
@@ -77,7 +80,7 @@ export default function AgentCreate() {
|
|
|
agentId: name.toLowerCase().replace(/\s+/g, '-'),
|
|
|
name,
|
|
|
description,
|
|
|
- type: 'conversation',
|
|
|
+ type: taskMode ? 'react' : 'conversation',
|
|
|
systemPrompt,
|
|
|
model: {
|
|
|
provider,
|
|
|
@@ -85,6 +88,8 @@ export default function AgentCreate() {
|
|
|
temperature: parseFloat(temperature),
|
|
|
maxTokens: parseInt(maxTokens, 10),
|
|
|
},
|
|
|
+ // 任务型:给默认 react 配置 + 开进度纪律(平台自动配内置读写/跑命令工具)。
|
|
|
+ ...(taskMode ? { react: { maxSteps: 20, progressDiscipline: true } } : {}),
|
|
|
},
|
|
|
tags: tags
|
|
|
.split(',')
|
|
|
@@ -145,6 +150,18 @@ export default function AgentCreate() {
|
|
|
onChange={e => setTags(e.target.value)}
|
|
|
hint="标签便于筛选和分类"
|
|
|
/>
|
|
|
+ <label className="flex items-start gap-2 cursor-pointer rounded-lg border border-gray-200 p-3 hover:bg-gray-50">
|
|
|
+ <input type="checkbox" className="mt-0.5" checked={taskMode}
|
|
|
+ onChange={e => setTaskMode(e.target.checked)} />
|
|
|
+ <span className="text-sm">
|
|
|
+ <span className="font-medium text-gray-800">任务型智能体(可读写文件、多步执行)</span>
|
|
|
+ <span className="block text-xs text-gray-500 mt-0.5">
|
|
|
+ 勾选则创建 ReAct 智能体,可读写文件/跑命令,并自动维护工作目录里的
|
|
|
+ PROGRESS.md 进度清单(逐项打勾、不重做、不做完不收尾),防多步任务"乱跳/重做"。
|
|
|
+ 不勾则为纯对话问答型。创建后可在「编辑 → 行为」里再调整。
|
|
|
+ </span>
|
|
|
+ </span>
|
|
|
+ </label>
|
|
|
<Button onClick={() => setActiveTab('model')} className="w-full" disabled={!name.trim()}>
|
|
|
下一步:模型配置
|
|
|
</Button>
|