diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 20da6a4..2853853 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -24,7 +24,12 @@ const PolicyLibrary = lazy(() => import("@/pages/PolicyLibrary")); // 政策库 const DataAnalysis = lazy(() => import("@/pages/DataAnalysis")); // 数据分析 const Tendency = lazy(() => import("@/pages/Tendency")); // 趋势洞察 const Yuqingfenxi = lazy(() => import("@/pages/Yuqingfenxi")); // 分析详情 +const Economics = lazy(() => import("@/pages/Economics")); // 经济发展 +const Talents = lazy(() => import("@/pages/Talents")); // 人才分析 +const Industry = lazy(() => import("@/pages/Industry")); // 产业分析 +const TrendPrediction = lazy(() => import("@/pages/TrendPrediction")); // 趋势预测 const ReportGeneration = lazy(() => import("@/pages/ReportGeneration")); // 报告生成 +const Report = lazy(() => import("@/pages/Report")); // 报告生成1 const InvitePage = lazy(() => import("@/pages/Invite")); const WorkspaceChat = lazy(() => import("@/pages/WorkspaceChat")); @@ -110,6 +115,22 @@ export default function App() { path="/home/Yuqingfenxi" element={} /> + } + /> + } + /> + } + /> + } + /> } @@ -118,7 +139,10 @@ export default function App() { path="/home/ReportGeneration" element={} /> - + } + /> } /> { event.preventDefault(); diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile/index.jsx index 93fb747..fdd7371 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/UploadFile/index.jsx @@ -80,7 +80,7 @@ export default function UploadFile({ return (
- Document Processor Unavailable + 文档处理器不可用
- We can't upload your files right now because the document - processor is offline. Please try again later. + 我们现在不能上传你的文件,因为文件 + 处理器脱机。请稍后再试。
- ) : files.length === 0 ? ( -
- -
- 单击上传或拖放 + ) + : files.length === 0 ? ( +
+ +
+ 单击上传或拖放 +
+
+ 支持文本文件,csv,电子表格,音频文件,和更多! +
-
- 支持文本文件,csv,电子表格,音频文件,和更多! + ) : ( +
+ {files.map((file) => ( + + ))}
-
- ) : ( -
- {files.map((file) => ( - - ))} -
- )} + )}
或者提交一个链接 diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx index 76bb371..576c3ba 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/WorkspaceFileRow/index.jsx @@ -31,7 +31,8 @@ export default function WorkspaceFileRow({ setLoadingMessage(`从文件分析区中删除文件中`); await Workspace.modifyEmbeddings(workspace.slug, { adds: [], - deletes: [`${folderName}/${item.name}`], + // deletes: [`${folderName}/${item.name}`], + deletes: [`${item.relativePath}`], }); await fetchKeys(true); } catch (error) { diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx index 6662181..84a7ced 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/WorkspaceDirectory/index.jsx @@ -26,7 +26,6 @@ function WorkspaceDirectory({ movedItems, }) { const [selectedItems, setSelectedItems] = useState({}); - const toggleSelection = (item) => { setSelectedItems((prevSelectedItems) => { const newSelectedItems = { ...prevSelectedItems }; @@ -41,6 +40,7 @@ function WorkspaceDirectory({ const toggleSelectAll = () => { const allItems = files.items.flatMap((folder) => folder.items); + const allSelected = allItems.every((item) => selectedItems[item.id]); if (allSelected) { setSelectedItems({}); @@ -53,6 +53,7 @@ function WorkspaceDirectory({ } }; + const removeSelectedItems = async () => { setLoading(true); setLoadingMessage("Removing selected files from workspace"); @@ -60,7 +61,9 @@ function WorkspaceDirectory({ const itemsToRemove = Object.keys(selectedItems).map((itemId) => { const folder = files.items.find((f) => f.items.some((i) => i.id === itemId) + ); + const item = folder.items.find((i) => i.id === itemId); return `${folder.name}/${item.name}`; }); diff --git a/frontend/src/components/Modals/ManageWorkspace/Documents/index.jsx b/frontend/src/components/Modals/ManageWorkspace/Documents/index.jsx index b857aa1..952f8eb 100644 --- a/frontend/src/components/Modals/ManageWorkspace/Documents/index.jsx +++ b/frontend/src/components/Modals/ManageWorkspace/Documents/index.jsx @@ -34,7 +34,7 @@ export default function DocumentSettings({ workspace, systemSettings }) { : workspace; const documentsInWorkspace = - currentWorkspace.documents.map((doc) => doc.docpath) || []; + currentWorkspace.documents.map((doc) => doc.filename) || []; // Documents that are not in the workspace const availableDocs = { @@ -46,7 +46,7 @@ export default function DocumentSettings({ workspace, systemSettings }) { items: folder.items.filter( (file) => file.type === "file" && - !documentsInWorkspace.includes(`${folder.name}/${file.name}`) + !documentsInWorkspace.includes(`${file.name}`) ), }; } else { @@ -65,7 +65,7 @@ export default function DocumentSettings({ workspace, systemSettings }) { items: folder.items.filter( (file) => file.type === "file" && - documentsInWorkspace.includes(`${folder.name}/${file.name}`) + documentsInWorkspace.includes(`${file.name}`) ), }; } else { @@ -90,9 +90,11 @@ export default function DocumentSettings({ workspace, systemSettings }) { setLoadingMessage("对于大型文档,这可能需要一段时间"); const changesToSend = { - adds: movedItems.map((item) => `${item.folderName}/${item.name}`), + // adds: movedItems.map((item) => `${item.folderName}/${item.name}`), + adds: movedItems.map((item) => `${item.relativePath}`), }; + setSelectedItems({}); setHasChanges(false); setHighlightWorkspace(false); diff --git a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx index fa1ebaa..5007c0b 100644 --- a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx +++ b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/HistoricalMessage/index.jsx @@ -53,7 +53,7 @@ const HistoricalMessage = ({ return (
@@ -81,7 +81,7 @@ const HistoricalMessage = ({ onAnimationEnd={onEndAnimation} className={`${ isDeleted ? "animate-remove" : "" - } flex justify-center items-end w-full group `} + } flex justify-center items-end w-full group`} >
diff --git a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx index 71169bf..ab6f156 100644 --- a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx +++ b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/PromptReply/index.jsx @@ -19,7 +19,8 @@ const PromptReply = ({ sources = [], closed = true, }) => { - const assistantBackgroundColor = "bg-theme-bg-chat"; + // const assistantBackgroundColor = bg-theme-bg-chat + const assistantBackgroundColor = "bg-[#F9FBFD]"; if (!reply && sources.length === 0 && !pending && !error) return null; diff --git a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx index e939dae..ee61f19 100644 --- a/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx +++ b/frontend/src/components/WorkspaceChat/ChatContainer/ChatHistory/index.jsx @@ -176,7 +176,7 @@ export default function ChatHistory({ if (history.length === 0 && !hasAttachments) { return ( -
+

欢迎来到你的新工作空间。 diff --git a/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/AddPresetModal.jsx b/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/AddPresetModal.jsx index 2cabfda..4ea7a06 100644 --- a/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/AddPresetModal.jsx +++ b/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/AddPresetModal.jsx @@ -9,17 +9,22 @@ export default function AddPresetModal({ isOpen, onClose, onSave }) { const handleSubmit = async (e) => { e.preventDefault(); const form = new FormData(e.target); - const sanitizedCommand = command.replace(CMD_REGEX, ""); + // 修改默认输入框英文设置 + // const sanitizedCommand = command.replace(CMD_REGEX, ""); + const sanitizedCommand = command const saved = await onSave({ - command: `/${sanitizedCommand}`, + // command: `/${sanitizedCommand}`, + command:sanitizedCommand, prompt: form.get("prompt"), description: form.get("description"), }); if (saved) setCommand(""); + window.location.reload() }; const handleCommandChange = (e) => { - const value = e.target.value.replace(CMD_REGEX, ""); + // const value = e.target.value.replace(CMD_REGEX, ""); + const value = e.target.value setCommand(value); }; @@ -29,7 +34,7 @@ export default function AddPresetModal({ isOpen, onClose, onSave }) {

- Add New Preset + 添加新的提示词

diff --git a/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/EditPresetModal.jsx b/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/EditPresetModal.jsx index 3d66102..6246c1e 100644 --- a/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/EditPresetModal.jsx +++ b/frontend/src/components/WorkspaceChat/ChatContainer/PromptInput/SlashCommands/SlashPresets/EditPresetModal.jsx @@ -22,27 +22,33 @@ export default function EditPresetModal({ const handleSubmit = (e) => { e.preventDefault(); const form = new FormData(e.target); - const sanitizedCommand = command.replace(CMD_REGEX, ""); + // 修改默认输入框英文设置 + // const sanitizedCommand = command.replace(CMD_REGEX, ""); + const sanitizedCommand = command onSave({ id: preset.id, - command: `/${sanitizedCommand}`, + // command: `/${sanitizedCommand}`, + command: sanitizedCommand, prompt: form.get("prompt"), description: form.get("description"), }); + window.location.reload() }; const handleCommandChange = (e) => { - const value = e.target.value.replace(CMD_REGEX, ""); + // const value = e.target.value.replace(CMD_REGEX, ""); + const value = e.target.value setCommand(value); }; const handleDelete = async () => { - if (!window.confirm("Are you sure you want to delete this preset?")) return; + if (!window.confirm("您确定要删除此预设吗?")) return; setDeleting(true); await onDelete(preset.id); setDeleting(false); onClose(); + window.location.reload() }; return ( @@ -51,7 +57,7 @@ export default function EditPresetModal({

- Edit Preset + 编辑预设