mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-10 23:59:45 +08:00
feat(ReadTool): add function to remove <system-reminder> tags (#11034)
feat(ReadTool): add function to remove <system-reminder> tags from output text - Introduced `removeSystemReminderTags` function to clean output by removing <system-reminder> tags and their content. - Updated output processing logic to apply this function for both array and string output types, ensuring consistent formatting.
This commit is contained in:
parent
7badaf02b9
commit
72299f833a
@ -8,20 +8,31 @@ import type { ReadToolInput as ReadToolInputType, ReadToolOutput as ReadToolOutp
|
|||||||
import { AgentToolsType } from './types'
|
import { AgentToolsType } from './types'
|
||||||
|
|
||||||
export function ReadTool({ input, output }: { input: ReadToolInputType; output?: ReadToolOutputType }) {
|
export function ReadTool({ input, output }: { input: ReadToolInputType; output?: ReadToolOutputType }) {
|
||||||
|
// 移除 system-reminder 标签及其内容的辅助函数
|
||||||
|
const removeSystemReminderTags = (text: string): string => {
|
||||||
|
// 使用正则表达式匹配 <system-reminder> 标签及其内容,包括换行符
|
||||||
|
return text.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/gi, '')
|
||||||
|
}
|
||||||
|
|
||||||
// 将 output 统一转换为字符串
|
// 将 output 统一转换为字符串
|
||||||
const outputString = useMemo(() => {
|
const outputString = useMemo(() => {
|
||||||
if (!output) return null
|
if (!output) return null
|
||||||
|
|
||||||
|
let processedOutput: string
|
||||||
|
|
||||||
// 如果是 TextOutput[] 类型,提取所有 text 内容
|
// 如果是 TextOutput[] 类型,提取所有 text 内容
|
||||||
if (Array.isArray(output)) {
|
if (Array.isArray(output)) {
|
||||||
return output
|
processedOutput = output
|
||||||
.filter((item): item is TextOutput => item.type === 'text')
|
.filter((item): item is TextOutput => item.type === 'text')
|
||||||
.map((item) => item.text)
|
.map((item) => removeSystemReminderTags(item.text))
|
||||||
.join('')
|
.join('')
|
||||||
|
} else {
|
||||||
|
// 如果是字符串,直接使用
|
||||||
|
processedOutput = output
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是字符串,直接返回
|
// 移除 system-reminder 标签及其内容
|
||||||
return output
|
return removeSystemReminderTags(processedOutput)
|
||||||
}, [output])
|
}, [output])
|
||||||
|
|
||||||
// 如果有输出,计算统计信息
|
// 如果有输出,计算统计信息
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user