0.1.13 AI功能大改

This commit is contained in:
liaibo
2026-01-10 23:08:56 +08:00
parent 63050f3927
commit be71849aa5
37 changed files with 6400 additions and 160 deletions
@@ -13,6 +13,7 @@ import type { DocumentSnapshot } from "@/types/document";
import { useDebouncedCallback } from "@/hooks/use-debounced-callback";
import { ImagePickerProvider } from "@/components/media/image-picker-context";
import { useRouter } from "next/navigation";
import { DocumentAiAgentPanel } from "./DocumentAiAgentPanel";
const BlockNoteEditor = dynamic(
() => import("@/components/editor/blocknote-editor").then((mod) => mod.BlockNoteEditor),
@@ -71,6 +72,7 @@ export function DocumentContent({
const [showContentLoadingIndicator, setShowContentLoadingIndicator] = useState(false);
const contentLoadingTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
const pendingOpenTableRef = useRef<string | null>(null);
const latestBlocksRef = useRef<Json | null>(null);
useEffect(() => {
const tableId = (openTableId ?? "").trim();
@@ -257,6 +259,7 @@ export function DocumentContent({
}, [history, title]);
const handleSnapshot = useCallback((payload: { blocks: Json; stats: DocumentStats }) => {
latestBlocksRef.current = payload.blocks;
setHistory((prev) => {
const now = Date.now();
if (prev.length > 0 && now - prev[0].timestamp < 4000) {
@@ -303,7 +306,7 @@ export function DocumentContent({
);
return (
<ImagePickerProvider documentId={documentId} workspaceId={workspaceId}>
<ImagePickerProvider documentId={documentId} workspaceId={workspaceId}>
<div className="flex h-full overflow-hidden bg-white">
<div className="flex h-full flex-1 flex-col overflow-hidden">
<div className="border-b border-[#f5f5f5] px-12 pb-6 pt-8">
@@ -378,6 +381,7 @@ export function DocumentContent({
history={history}
onRestore={handleRestoreSnapshot}
/>
<DocumentAiAgentPanel documentId={documentId} getLatestBlocks={() => latestBlocksRef.current} />
</ImagePickerProvider>
);
}