- **文件管理**: - 支持文件上传、解析和删除。 - 限制支持格式(txt, md, docx, pdf),最大 10MB。 - 提供前端上传区、文件列表及后端解析服务。 - **技能管理**: - 新增技能的创建、更新及删除功能。 - 支持分配自定义提示词和工具权限。 - 提供技能列表及分组工具选择交互界面。 同时调整相关 API 和前端组件,优化协作体验。
This commit is contained in:
@@ -37,6 +37,9 @@ const TOOL_ICONS: Record<string, string> = {
|
||||
create_chapter: 'M3 2h7v12H3zM12 5v5M9.5 7.5h5',
|
||||
update_chapter: 'M4 2h8v12H4zM7 7l2-2 2 2-2 2z',
|
||||
delete_chapter: 'M4 2h8v12H4zM6 6l4 4M10 6l-4 4',
|
||||
// 文件
|
||||
list_files: 'M13.5 7.5l-5.8 5.8a3.2 3.2 0 01-4.5-4.5l5.8-5.8a2.1 2.1 0 013 3L6.2 11.8',
|
||||
read_file: 'M4 2h5l3 3v9H4V2zM9 2v3h3M6 8h4M6 10h4M6 12h2',
|
||||
}
|
||||
|
||||
// 工具颜色主题
|
||||
@@ -60,6 +63,9 @@ const TOOL_COLORS: Record<string, string> = {
|
||||
create_chapter: '#4a90d9',
|
||||
update_chapter: '#d4a017',
|
||||
delete_chapter: 'var(--danger)',
|
||||
// 文件
|
||||
list_files: '#e8833a',
|
||||
read_file: '#e8833a',
|
||||
}
|
||||
|
||||
function getIcon(name: string): string {
|
||||
@@ -104,6 +110,9 @@ function formatArgs(call: ToolCallEntry): string {
|
||||
return `#${args.chapter_id}` + (args.title ? ` → ${args.title}` : '')
|
||||
case 'delete_chapter':
|
||||
return `#${args.chapter_id}`
|
||||
// 文件
|
||||
case 'read_file':
|
||||
return `#${args.file_id}` + (args.offset ? ` (偏移 ${args.offset})` : '')
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
@@ -164,6 +173,16 @@ function formatResult(call: ToolCallEntry): string {
|
||||
return `已更新: ${(data as { title: string }).title}`
|
||||
case 'delete_chapter':
|
||||
return '已删除'
|
||||
// 文件
|
||||
case 'list_files': {
|
||||
const files = (data as { files: { id: number; filename: string; text_length: number }[] }).files
|
||||
if (!files?.length) return '暂无文件'
|
||||
return files.map((f: { id: number; filename: string; text_length: number }) => `• ${f.filename} (${f.text_length} 字)`).join('\n')
|
||||
}
|
||||
case 'read_file': {
|
||||
const d = data as { filename: string; total_length: number; offset: number; limit: number; has_more: boolean }
|
||||
return `${d.filename} [${d.offset}–${d.offset + d.limit}] / ${d.total_length} 字${d.has_more ? '(还有更多)' : ''}`
|
||||
}
|
||||
default:
|
||||
return call.result.slice(0, 100)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user