fix(web): tool's api response change

This commit is contained in:
zhaoying
2026-01-13 13:56:14 +08:00
parent 49fa6906ac
commit f5e71f56e9
5 changed files with 39 additions and 47 deletions

View File

@@ -72,7 +72,7 @@ export const en = {
modelManagement: 'Model Management', modelManagement: 'Model Management',
memoryStore: 'Memory Store', memoryStore: 'Memory Store',
apiParameters: 'API Parameters', apiParameters: 'API Parameters',
userMemory: 'User Memory', userMemory: 'Memory Store',
memberManagement: 'Member Management', memberManagement: 'Member Management',
memorySummary: 'Memory Summary', memorySummary: 'Memory Summary',
memoryConversation: 'Memory Validation', memoryConversation: 'Memory Validation',
@@ -1211,6 +1211,8 @@ export const en = {
hire_date: 'Hire Date', hire_date: 'Hire Date',
memoryContent: 'Memory Content', memoryContent: 'Memory Content',
created_at: 'Created At', created_at: 'Created At',
updated_at: 'Updated At',
fullScreen: 'Full Screen',
memoryWindow: "{{name}}'s Window of Memory", memoryWindow: "{{name}}'s Window of Memory",
memory_insight: 'Overall Overview', memory_insight: 'Overall Overview',
@@ -1237,7 +1239,7 @@ export const en = {
unix: 'items', unix: 'items',
completeMemory: 'Complete Memory', completeMemory: 'Complete Memory',
relationshipEvolution: 'Relationship Evolution', relationshipEvolution: 'Relationship Evolution',
timelineMemories: 'Shared Memory Timeline', timelineMemories: 'Long-term Memory',
emotionLine: 'Emotion Changes Over Time', emotionLine: 'Emotion Changes Over Time',
interaction: 'Interaction Frequency & Relationship Stages', interaction: 'Interaction Frequency & Relationship Stages',
timelines_memory: 'All', timelines_memory: 'All',
@@ -1600,11 +1602,9 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
enterJson: 'Enter JSON', enterJson: 'Enter JSON',
jsonPlaceholder: 'Enter JSON data, e.g.: {"name": "test", "value": 123}', jsonPlaceholder: 'Enter JSON data, e.g.: {"name": "test", "value": 123}',
clear: 'Clear', clear: 'Clear',
parse: 'Paste', paste: 'Paste',
format: 'Format', parse: 'Parse',
minify: 'Minify', json_path: 'JSON Path Parameters',
validate: 'Validate',
convert: 'Escape',
outputResult: 'Output Result', outputResult: 'Output Result',
validJosn: 'JSON format is correct, validation passed!', validJosn: 'JSON format is correct, validation passed!',
@@ -1923,7 +1923,8 @@ Memory Bear: After the rebellion, regional warlordism intensified for several re
variableConfig: 'Variable Configuration', variableConfig: 'Variable Configuration',
variableRequired: 'Required', variableRequired: 'Required',
addMessage: 'Add Message', addMessage: 'Add Message',
answerDesc: 'Reply' answerDesc: 'Reply',
addNode: 'Add Node',
}, },
emotionEngine: { emotionEngine: {
emotionEngineConfig: 'Emotion Engine Configuration', emotionEngineConfig: 'Emotion Engine Configuration',

View File

@@ -72,7 +72,7 @@ export const zh = {
modelManagement: '模型管理', modelManagement: '模型管理',
memoryStore: '记忆存储', memoryStore: '记忆存储',
apiParameters: 'API参数', apiParameters: 'API参数',
userMemory: '用户记忆', userMemory: '记忆',
memberManagement: '成员管理', memberManagement: '成员管理',
memorySummary: '记忆摘要', memorySummary: '记忆摘要',
memoryConversation: '记忆验证', memoryConversation: '记忆验证',
@@ -87,7 +87,7 @@ export const zh = {
knowledgeShare: '详情', knowledgeShare: '详情',
knowledgeCreateDataset: '新建数据集', knowledgeCreateDataset: '新建数据集',
knowledgeDocumentDetails: '详情', knowledgeDocumentDetails: '详情',
userMemoryDetail: '用户记忆详情', userMemoryDetail: '记忆详情',
toolManagement: '工具管理', toolManagement: '工具管理',
emotionEngine: '情感引擎', emotionEngine: '情感引擎',
statementDetail: '情绪记忆', statementDetail: '情绪记忆',
@@ -1292,7 +1292,7 @@ export const zh = {
updated_at: '最后更新时间', updated_at: '最后更新时间',
fullScreen: '全屏', fullScreen: '全屏',
memoryWindow: "{{name}}的记忆之窗", memoryWindow: "{{name}} 的记忆之窗",
memory_insight: '总体概述', memory_insight: '总体概述',
key_findings: '关键发现', key_findings: '关键发现',
behavior_pattern: '行为模式', behavior_pattern: '行为模式',
@@ -1317,7 +1317,7 @@ export const zh = {
unix: '个', unix: '个',
completeMemory: '完整记忆', completeMemory: '完整记忆',
relationshipEvolution: '关系演化', relationshipEvolution: '关系演化',
timelineMemories: '共同记忆时间线', timelineMemories: '长期记忆',
emotionLine: '情绪随时间变化', emotionLine: '情绪随时间变化',
interaction: '互动频率 & 关系阶段', interaction: '互动频率 & 关系阶段',
timelines_memory: '全部', timelines_memory: '全部',
@@ -1698,11 +1698,9 @@ export const zh = {
enterJson: '输入JSON', enterJson: '输入JSON',
jsonPlaceholder: '输入JSON数据例如{"name": "测试", "value": 123}', jsonPlaceholder: '输入JSON数据例如{"name": "测试", "value": 123}',
clear: '清空', clear: '清空',
parse: '粘贴', paste: '粘贴',
format: '格式化', parse: '解析',
minify: '压缩', json_path: 'JSON 路径参数',
validate: '验证',
convert: '转义',
outputResult: '输出结果', outputResult: '输出结果',
validJosn: 'JSON格式正确验证通过', validJosn: 'JSON格式正确验证通过',
@@ -2022,7 +2020,8 @@ export const zh = {
variableConfig: '变量配置', variableConfig: '变量配置',
variableRequired: '必填', variableRequired: '必填',
addMessage: '添加消息', addMessage: '添加消息',
answerDesc: '回复' answerDesc: '回复',
addNode: '添加节点',
}, },
emotionEngine: { emotionEngine: {
emotionEngineConfig: '情感引擎配置', emotionEngineConfig: '情感引擎配置',

View File

@@ -1,5 +1,5 @@
import { forwardRef, useImperativeHandle, useState } from 'react'; import { forwardRef, useImperativeHandle, useState } from 'react';
import { Form, Input, Button, Space, Tree } from 'antd'; import { Form, Input, Button, Space } from 'antd';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import type { TreeDataNode } from 'antd'; import type { TreeDataNode } from 'antd';
@@ -12,7 +12,7 @@ import { execute } from '@/api/tools';
const JsonToolModal = forwardRef<JsonToolModalRef>((_props, ref) => { const JsonToolModal = forwardRef<JsonToolModalRef>((_props, ref) => {
const { t } = useTranslation(); const { t } = useTranslation();
const [visible, setVisible] = useState(false); const [visible, setVisible] = useState(false);
const [form] = Form.useForm<{ json: string; }>(); const [form] = Form.useForm<{ json: string; json_path: string; }>();
const [data, setData] = useState<ToolItem>({} as ToolItem) const [data, setData] = useState<ToolItem>({} as ToolItem)
const [formatValue, setFormatValue] = useState<string | Record<string, any> | null>(null) const [formatValue, setFormatValue] = useState<string | Record<string, any> | null>(null)
@@ -60,44 +60,29 @@ const JsonToolModal = forwardRef<JsonToolModalRef>((_props, ref) => {
} }
const handleOperate = (type: string) => { const handleOperate = (type: string) => {
const json = form.getFieldValue('json') const json = form.getFieldValue('json')
const json_path = form.getFieldValue('json_path')
if (!json || !data.id) return if (!json || !data.id) return
let params: ExecuteData = { let params: ExecuteData = {
tool_id: data.id, tool_id: data.id,
parameters: { parameters: {
operation: type, operation: type,
input_data: json input_data: json,
json_path
} }
} }
if (type === 'format') { if (type === 'parse') {
params = { params = {
...params, ...params,
parameters: { parameters: {
...params.parameters, ...params.parameters,
indent: 2,
ensure_ascii: false,
sort_keys: false
} }
} }
} }
execute(params) execute(params)
.then(res => { .then(res => {
const { data } = res as {data: { const { data } = res as { data: string; }
formatted_json: string; setFormatValue(data);
minified_json: string;
is_valid: boolean;
converted_json: string;
error: string;
structure: Record<string, string | number>
}}
switch (type) {
case 'format':
setFormatValue(data.formatted_json);
break
case 'minify':
setFormatValue(data.minified_json)
break
}
}) })
} }
const clear = () => { const clear = () => {
@@ -126,15 +111,20 @@ const JsonToolModal = forwardRef<JsonToolModalRef>((_props, ref) => {
label={<Space size={8}> label={<Space size={8}>
{t('tool.enterJson')} {t('tool.enterJson')}
<Button onClick={clear}>{t('tool.clear')}</Button> <Button onClick={clear}>{t('tool.clear')}</Button>
<Button onClick={handleParse}>{t('tool.parse')}</Button> <Button onClick={handleParse}>{t('tool.paste')}</Button>
</Space>} </Space>}
> >
<Input.TextArea rows={10} placeholder={t('tool.jsonPlaceholder')} /> <Input.TextArea rows={10} placeholder={t('tool.jsonPlaceholder')} />
</FormItem> </FormItem>
<FormItem
name="json_path"
label={t('tool.json_path')}
>
<Input placeholder={t('common.pleaseEnter')} />
</FormItem>
<Space size={8} className="rb:mb-3"> <Space size={8} className="rb:mb-3">
<Button onClick={() => handleOperate('format')}>{t('tool.format')}</Button> <Button onClick={() => handleOperate('parse')}>{t('tool.parse')}</Button>
<Button onClick={() => handleOperate('minify')}>{t('tool.minify')}</Button>
</Space> </Space>
<FormItem <FormItem
label={t('tool.outputResult')} label={t('tool.outputResult')}

View File

@@ -23,6 +23,7 @@ interface CurrentTimeObj {
iso_format: string; iso_format: string;
timestamp: string; timestamp: string;
timestamp_ms: string; timestamp_ms: string;
utc_datetime: string;
} }
const TimeToolModal = forwardRef<TimeToolModalRef>((_props, ref) => { const TimeToolModal = forwardRef<TimeToolModalRef>((_props, ref) => {
const { t } = useTranslation(); const { t } = useTranslation();
@@ -88,8 +89,8 @@ const TimeToolModal = forwardRef<TimeToolModalRef>((_props, ref) => {
} }
}) })
.then(res => { .then(res => {
const response = res as { data: CurrentTimeObj } const response = res as { data: string }
setTimestampFormat(response.data.datetime) setTimestampFormat(response.data)
}) })
} }
const handleChangeFormatType = () => { const handleChangeFormatType = () => {
@@ -149,7 +150,7 @@ const TimeToolModal = forwardRef<TimeToolModalRef>((_props, ref) => {
<Input disabled value={currentTime?.datetime} /> <Input disabled value={currentTime?.datetime} />
</FormItem> </FormItem>
<FormItem label={t('tool.utcTime')} > <FormItem label={t('tool.utcTime')} >
<Input disabled value={currentTime?.iso_format} /> <Input disabled value={currentTime?.utc_datetime} />
</FormItem> </FormItem>
<FormItem label={t('tool.secondsTimestamp')} > <FormItem label={t('tool.secondsTimestamp')} >
<Input disabled value={currentTime?.timestamp} /> <Input disabled value={currentTime?.timestamp} />

View File

@@ -130,6 +130,7 @@ export interface ExecuteData {
ensure_ascii?: boolean; ensure_ascii?: boolean;
sort_keys?: boolean; sort_keys?: boolean;
input_data?: string; input_data?: string;
json_path?: string;
} }
} }
export interface CustomToolModalRef { export interface CustomToolModalRef {