From 71cece74b00e2800705501fcb0063c59ad73f970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B0=E6=9C=94?= <565183519@qq.com> Date: Thu, 3 Sep 2026 16:40:56 +0800 Subject: [PATCH] fix(knowledge): restore classification colors and scroll-synced outline --- .../audit/FIDELITY-LEDGER-20260903.md | 2 +- ...KE-CLEAN-V1-LOCAL-ACCEPTANCE-20260903.json | 6 +- ...olake-knowledge-human-render-1536x1024.png | Bin 44126 -> 78603 bytes .../docs/ARCHITECTURE.md | 2 +- .../registries/module-registry.json | 2 +- .../src-tauri/src/lib.rs | 39 +++- .../hololake-clean-desktop/src/App.tsx | 209 ++++++++++++++++-- .../hololake-clean-desktop/src/icons.tsx | 71 +++++- .../hololake-clean-desktop/src/styles.css | 109 +++++++++ routing/hololake-current-architecture.json | 2 +- 10 files changed, 404 insertions(+), 38 deletions(-) diff --git a/product-source/hololake-clean-desktop/audit/FIDELITY-LEDGER-20260903.md b/product-source/hololake-clean-desktop/audit/FIDELITY-LEDGER-20260903.md index fc208e28f..1ceec6861 100644 --- a/product-source/hololake-clean-desktop/audit/FIDELITY-LEDGER-20260903.md +++ b/product-source/hololake-clean-desktop/audit/FIDELITY-LEDGER-20260903.md @@ -17,4 +17,4 @@ ## 知识库人类视觉渲染层纠正 -冰朔指出首轮只有 Markdown 文本编辑器,不能称为完整知识库模块。现已从只读旧产品供体精确拆入 `knowledge-render` 切片,并在新壳中重新接线:目录、阅读渲染、frontmatter、标签、大纲、wikilink、callout、代码块、表格、来源证据、编辑/阅读切换均可见。验收截图为 `design/concepts/hololake-knowledge-human-render-1536x1024.png`;旧产品其他模块未合并。 +冰朔指出首轮只有 Markdown 文本编辑器,不能称为完整知识库模块;第二次又指出初步渲染仍缺旧版颜色、分类、阅读时间和滚动大纲细节。现已从只读旧产品供体精确拆入 `knowledge-render` 切片,并在新壳中重新接线:文件夹分类树、阅读渲染、frontmatter、稳定标签配色、阅读时间、正文滚动同步高亮大纲、wikilink、callout、代码块、表格、来源证据、编辑/阅读切换均可见。浏览器真实测试在滚动后读回大纲活动项“分类与颜色”;验收截图为 `design/concepts/hololake-knowledge-human-render-1536x1024.png`。旧产品其他模块未合并。 diff --git a/product-source/hololake-clean-desktop/audit/HOLOLAKE-CLEAN-V1-LOCAL-ACCEPTANCE-20260903.json b/product-source/hololake-clean-desktop/audit/HOLOLAKE-CLEAN-V1-LOCAL-ACCEPTANCE-20260903.json index 62d68c098..621575dd0 100644 --- a/product-source/hololake-clean-desktop/audit/HOLOLAKE-CLEAN-V1-LOCAL-ACCEPTANCE-20260903.json +++ b/product-source/hololake-clean-desktop/audit/HOLOLAKE-CLEAN-V1-LOCAL-ACCEPTANCE-20260903.json @@ -18,13 +18,13 @@ "rust_clippy_denied_warnings": "PASS_100", "production_dependency_audit": "0_VULNERABILITIES", "browser_channel_create_message_separation_knowledge_create_edit_save": "PASS_100", - "knowledge_human_visual_rendering_frontmatter_outline_wikilink_callout_table_code_evidence": "PASS_100", + "knowledge_human_visual_rendering_frontmatter_classification_colors_reading_time_scroll_outline_wikilink_callout_table_code_evidence": "PASS_100", "responsive_viewports": ["1536x1024_PASS", "820x900_PASS"], "developer_id_signature": "PASS_100", "installed_application": "/Applications/HoloLake.app", "installed_version": "1.0.0", - "installed_binary_sha256": "50e6206be32ce7c70d42998b6217956aaa99687976e3d9ee383d3671e03c250d", - "updater_archive_sha256": "b126efa723415beacfad916621dbecceff7ea3ff24c79e6adacabd5bb343736a", + "installed_binary_sha256": "b8ba374fd9e97f318b27dd34d71e02d59637b458d5b8fa0a3cc7b649c1ed6636", + "updater_archive_sha256": "bb3405ba849aee9d7dccf71fa4d215fef0bea41dabb910257507c861d24d3b36", "installed_process_readback": "PASS_100", "updater_artifact_signature": "PASS_100", "update_endpoint_http": 204, diff --git a/product-source/hololake-clean-desktop/design/concepts/hololake-knowledge-human-render-1536x1024.png b/product-source/hololake-clean-desktop/design/concepts/hololake-knowledge-human-render-1536x1024.png index 6a96095005203127b172fc680d6758b4de7afc89..579050bb78bd7805e5d3ab2f17bc23dab4179de7 100644 GIT binary patch literal 78603 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 literal 44126 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

r8eFp7<<#{!N~hq$ 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

{@b*Cx0mPx)^~r!-c0?vFMlfru)XN+ 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 diff --git a/product-source/hololake-clean-desktop/docs/ARCHITECTURE.md b/product-source/hololake-clean-desktop/docs/ARCHITECTURE.md index 565951112..02b68469e 100644 --- a/product-source/hololake-clean-desktop/docs/ARCHITECTURE.md +++ b/product-source/hololake-clean-desktop/docs/ARCHITECTURE.md @@ -18,7 +18,7 @@ HoloLake 是公众个人初始化频道语言驱动操作系统。第一版只 - 对话和执行事实使用不同来源类型,不把系统文字塞进用户或人格消息。 - 公共四域由企业门户和企业服务器承载,不嵌入个人频道。 - 第五域、冰朔私人核 `TCS-iZero∞` 及私人语料不进入公众发行。 -- 当前知识库具备人类视觉阅读层:安全 Markdown 渲染、frontmatter、页面大纲、callout、表格、代码块与 wikilink 跳转;可处理 Markdown 和纯文本文件夹。PDF、Office、网页结构化转换尚未实现。 +- 当前知识库具备完整人类视觉阅读层:安全 Markdown 渲染、frontmatter、文件夹分类树、稳定标签配色、阅读时间、随正文滚动同步高亮的大纲、callout、表格、代码块与 wikilink 跳转;可处理 Markdown 和纯文本文件夹并保留目录分类。PDF、Office、网页结构化转换尚未实现。 - 当前外部 AI 入口是本机来源明确的 inbox/outbox;实时加密通信尚未实现。 - 更新客户端只信任光湖控制的 HTTPS 清单与签名;服务器发行清单尚未发布。 diff --git a/product-source/hololake-clean-desktop/registries/module-registry.json b/product-source/hololake-clean-desktop/registries/module-registry.json index 2e210533e..6edb9d534 100644 --- a/product-source/hololake-clean-desktop/registries/module-registry.json +++ b/product-source/hololake-clean-desktop/registries/module-registry.json @@ -17,7 +17,7 @@ "kind": "PREINSTALLED_USER_MODULE", "state": "LOCAL_INSTALLED_VERIFIED", "source": "src-tauri/src/lib.rs#knowledge", - "capabilities": ["CREATE", "READ", "EDIT", "HUMAN_MARKDOWN_RENDERING", "FRONTMATTER", "OUTLINE", "WIKILINK_NAVIGATION", "IMPORT_FOLDER", "EXPORT", "MOVE_TO_TRASH", "PRIVATE_GIT_COMMIT"] + "capabilities": ["CREATE", "READ", "EDIT", "HUMAN_MARKDOWN_RENDERING", "FRONTMATTER", "FOLDER_CLASSIFICATION_TREE", "STABLE_TAG_COLORS", "READING_TIME", "SCROLL_SYNCHRONIZED_OUTLINE", "WIKILINK_NAVIGATION", "IMPORT_FOLDER", "EXPORT", "MOVE_TO_TRASH", "PRIVATE_GIT_COMMIT"] }, { "module_id": "HLP-MOD-GLP-BRIDGE-0001", diff --git a/product-source/hololake-clean-desktop/src-tauri/src/lib.rs b/product-source/hololake-clean-desktop/src-tauri/src/lib.rs index 366ce4d9c..e552e1acc 100644 --- a/product-source/hololake-clean-desktop/src-tauri/src/lib.rs +++ b/product-source/hololake-clean-desktop/src-tauri/src/lib.rs @@ -200,7 +200,14 @@ fn copy_import(src: &Path, dst: &Path, count: &mut usize) -> Result<(), String> continue; } if p.is_dir() { - copy_import(&p, dst, count)?; + let folder_name = clean_title( + p.file_name() + .and_then(|value| value.to_str()) + .unwrap_or("未命名分类"), + )?; + let child = dst.join(folder_name); + fs::create_dir_all(&child).map_err(|e| e.to_string())?; + copy_import(&p, &child, count)?; continue; } let ext = p @@ -243,7 +250,12 @@ async fn import_knowledge_folder(app: AppHandle) -> Result, _>>() + .unwrap(); + assert_eq!(imported.len(), 1); + assert_eq!( + imported[0] + .path() + .extension() + .and_then(|value| value.to_str()), + Some("md") + ); + } } diff --git a/product-source/hololake-clean-desktop/src/App.tsx b/product-source/hololake-clean-desktop/src/App.tsx index e1b0cfeb1..9843ed211 100644 --- a/product-source/hololake-clean-desktop/src/App.tsx +++ b/product-source/hololake-clean-desktop/src/App.tsx @@ -1,9 +1,14 @@ -import { useEffect, useMemo, useState } from "react"; +import { useEffect, useMemo, useRef, useState } from "react"; import { check } from "@tauri-apps/plugin-updater"; import { relaunch } from "@tauri-apps/plugin-process"; import { Icon } from "./icons"; import * as api from "./runtime"; -import type { KnowledgeDocument, SourceKind, SystemSnapshot } from "./types"; +import type { + KnowledgeDocument, + KnowledgeSummary, + SourceKind, + SystemSnapshot, +} from "./types"; import { MarkdownDocument, documentOutline, @@ -304,6 +309,120 @@ function ReceiptStream({ data }: { data: SystemSnapshot }) { ); } +const tagTints = ["tag-sky", "tag-violet", "tag-amber", "tag-mint", "tag-rose"]; +function tagTint(tag: string) { + let hash = 0; + for (const char of tag) hash = (hash * 31 + (char.codePointAt(0) || 0)) % 997; + return tagTints[hash % tagTints.length]; +} + +interface KnowledgeTreeNode { + name: string; + key: string; + folders: Map; + documents: KnowledgeSummary[]; +} +function buildKnowledgeTree(documents: KnowledgeSummary[]) { + const root: KnowledgeTreeNode = { + name: "知识", + key: "", + folders: new Map(), + documents: [], + }; + for (const document of documents) { + const segments = document.path.split("/").filter(Boolean); + segments.pop(); + let cursor = root; + for (const segment of segments) { + const key = cursor.key ? `${cursor.key}/${segment}` : segment; + if (!cursor.folders.has(segment)) + cursor.folders.set(segment, { + name: segment, + key, + folders: new Map(), + documents: [], + }); + cursor = cursor.folders.get(segment)!; + } + cursor.documents.push(document); + } + return root; +} +function treeCount(node: KnowledgeTreeNode): number { + return ( + node.documents.length + + [...node.folders.values()].reduce((sum, child) => sum + treeCount(child), 0) + ); +} +function KnowledgeTree({ + node, + depth, + expanded, + active, + onToggle, + onOpen, +}: { + node: KnowledgeTreeNode; + depth: number; + expanded: Set; + active: string | null; + onToggle: (key: string) => void; + onOpen: (path: string) => void; +}) { + const folders = [...node.folders.values()].sort((a, b) => + a.name.localeCompare(b.name, "zh-CN"), + ); + const documents = [...node.documents].sort((a, b) => + a.title.localeCompare(b.title, "zh-CN"), + ); + return ( + <> + {folders.map((folder) => { + const open = depth === 0 || expanded.has(folder.key); + return ( +

+ + {open && ( + + )} +
+ ); + })} + {documents.map((document) => ( + + ))} + + ); +} + function Knowledge({ data, refresh, @@ -319,13 +438,17 @@ function Knowledge({ [query, setQuery] = useState(""), [newTitle, setNewTitle] = useState(null), [editing, setEditing] = useState(false), - [inspectorOpen, setInspectorOpen] = useState(true); + [inspectorOpen, setInspectorOpen] = useState(true), + [expanded, setExpanded] = useState>(new Set(["导入"])), + [activeHeadingId, setActiveHeadingId] = useState(null); + const headingScrollTimer = useRef(null); useEffect(() => { if (selected) api.readDocument(selected).then((d) => { setDoc(d); setBody(d.body); setEditing(false); + setActiveHeadingId(null); }); }, [selected]); const list = useMemo( @@ -335,6 +458,7 @@ function Knowledge({ ), [data.documents, query], ); + const tree = useMemo(() => buildKnowledgeTree(list), [list]); const create = async () => { const title = newTitle?.trim(); if (title) { @@ -364,8 +488,33 @@ function Knowledge({ const outline = useMemo(() => documentOutline(doc?.body ?? ""), [doc?.body]); const stats = useMemo(() => { const chars = parsed.content.replace(/\s/g, "").length; - return { chars, minutes: Math.max(1, Math.ceil(chars / 450)) }; + return { chars, minutes: Math.max(1, Math.ceil(chars / 400)) }; }, [parsed.content]); + useEffect(() => { + if (!activeHeadingId) return; + document + .querySelector(".outline-list button.active") + ?.scrollIntoView({ block: "nearest" }); + }, [activeHeadingId]); + const handleReaderScroll = (event: React.UIEvent) => { + const container = event.currentTarget; + if (headingScrollTimer.current !== null) return; + headingScrollTimer.current = window.setTimeout(() => { + headingScrollTimer.current = null; + const containerTop = container.getBoundingClientRect().top; + let current: string | null = null; + for (const heading of Array.from( + container.querySelectorAll( + "h1[id], h2[id], h3[id], h4[id]", + ), + )) { + if (heading.getBoundingClientRect().top - containerTop <= 28) + current = heading.id; + else break; + } + setActiveHeadingId(current); + }, 100); + }; const openWiki = (target: string) => { const normalized = target.replace(/[\s·•・\-_|*`]/g, "").toLowerCase(); const hit = data.documents.find( @@ -410,18 +559,23 @@ function Knowledge({ {list.length === 0 ? (

暂无知识页

) : ( - list.map((d) => ( - - )) +
+ + setExpanded((current) => { + const next = new Set(current); + if (next.has(key)) next.delete(key); + else next.add(key); + return next; + }) + } + onOpen={setSelected} + /> +
)}
@@ -465,7 +619,7 @@ function Knowledge({ onChange={(e) => setBody(e.target.value)} /> ) : ( -
+

{doc.title}

@@ -475,10 +629,23 @@ function Knowledge({ {parsed.tags.length > 0 && (

{parsed.tags.map((tag) => ( - {tag} + + {tag} + ))}
)} +
+ {Object.entries(parsed.metadata) + .filter(([key]) => key !== "tags") + .slice(0, 6) + .map(([key, value]) => ( + + {key} + {value} + + ))} +
( diff --git a/product-source/hololake-clean-desktop/src/icons.tsx b/product-source/hololake-clean-desktop/src/icons.tsx index a0f7a4954..27160a510 100644 --- a/product-source/hololake-clean-desktop/src/icons.tsx +++ b/product-source/hololake-clean-desktop/src/icons.tsx @@ -1,12 +1,63 @@ import type { SVGProps } from "react"; -export function Icon({name,...props}:{name:string}&SVGProps){ - const paths:Record={ - channel:<>, - book:<>, - cube:<>, - history:<>, - building:<>, - settings:<> - }; - return +export function Icon({ + name, + ...props +}: { name: string } & SVGProps) { + const paths: Record = { + channel: ( + <> + + + + ), + book: ( + <> + + + ), + cube: ( + <> + + + + ), + history: ( + <> + + + + ), + building: ( + <> + + + ), + settings: ( + <> + + + + ), + folder: , + file: ( + <> + + + + ), + }; + return ( + + ); } diff --git a/product-source/hololake-clean-desktop/src/styles.css b/product-source/hololake-clean-desktop/src/styles.css index b9f1aadca..7d910a19b 100644 --- a/product-source/hololake-clean-desktop/src/styles.css +++ b/product-source/hololake-clean-desktop/src/styles.css @@ -485,6 +485,71 @@ main { font-size: 10px; color: #6f879e; } +.knowledge-tree { + padding: 9px 0 18px; +} +.tree-branch { + position: relative; +} +.tree-folder, +.tree-document { + width: 100%; + min-height: 38px; + display: grid; + align-items: center; + gap: 7px; + border: 0 !important; + border-radius: 8px !important; + background: transparent !important; + color: #8fa5ba; + text-align: left; +} +.tree-folder { + grid-template-columns: 13px 18px minmax(0, 1fr) auto; + font-size: 13px; + font-weight: 590; +} +.tree-document { + grid-template-columns: 18px minmax(0, 1fr); + font-size: 12.5px; + font-weight: 480; +} +.tree-folder svg, +.tree-document svg { + width: 16px; + height: 16px; + color: #78bce6; +} +.tree-folder span, +.tree-document span { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tree-folder em { + padding-right: 7px; + color: #617a91; + font-size: 10px; + font-style: normal; +} +.tree-folder:hover, +.tree-document:hover, +.tree-document.active { + color: #eef6ff; + background: rgba(78, 144, 194, 0.12) !important; +} +.tree-document.active { + box-shadow: inset 2px 0 #74bee9; +} +.tree-chevron { + display: grid; + place-items: center; + font-size: 18px; + transition: transform 0.14s ease; +} +.tree-chevron.open { + transform: rotate(90deg); +} .knowledge-workspace > aside { border-right: 1px solid var(--line); padding: 13px; @@ -593,6 +658,45 @@ main { background: rgba(71, 139, 188, 0.14); font-size: 10px; } +.meta-tags .tag-sky { + color: #a9dcff; + background: rgba(57, 145, 205, 0.18); +} +.meta-tags .tag-violet { + color: #d3b8ff; + background: rgba(128, 79, 190, 0.2); +} +.meta-tags .tag-amber { + color: #f6d28a; + background: rgba(188, 130, 35, 0.2); +} +.meta-tags .tag-mint { + color: #9fe2ba; + background: rgba(48, 148, 91, 0.2); +} +.meta-tags .tag-rose { + color: #ffb2ba; + background: rgba(185, 65, 81, 0.2); +} +.meta-properties { + display: flex; + flex-wrap: wrap; + gap: 7px; + margin-top: 10px; +} +.meta-properties span { + display: inline-flex; + gap: 6px; + padding: 5px 8px; + border-radius: 6px; + color: #93a9bd; + background: rgba(255, 255, 255, 0.035); + font-size: 10px; +} +.meta-properties b { + color: #c5d4e1; + font-weight: 620; +} .markdown-document { color: #cbd8e6; font-size: 15px; @@ -726,6 +830,11 @@ main { line-height: 1.45; padding-block: 7px; } +.outline-list button.active { + color: #f5d791; + background: rgba(198, 146, 49, 0.12); + box-shadow: inset 2px 0 var(--gold); +} .outline-list p { color: #72899f; font-size: 11px; diff --git a/routing/hololake-current-architecture.json b/routing/hololake-current-architecture.json index 330c5c9ee..2d8b01863 100644 --- a/routing/hololake-current-architecture.json +++ b/routing/hololake-current-architecture.json @@ -10,7 +10,7 @@ "canonical_tcs": "product-source/hololake-clean-desktop/language/HOLOLAKE-CLEAN-V1-FOUNDATION.tcs", "old_product_role": "READ_ONLY_DONOR_NO_WHOLE_MERGE", "first_preinstalled_module": "HLP-MOD-KB-0001", - "knowledge_module_state": "LOCAL_COMPLETE_HUMAN_VISUAL_RENDERING_CREATE_READ_EDIT_IMPORT_EXPORT_TRASH_PRIVATE_GIT", + "knowledge_module_state": "LOCAL_COMPLETE_HUMAN_VISUAL_RENDERING_WITH_CLASSIFICATION_COLORS_READING_TIME_SCROLL_OUTLINE_CREATE_READ_EDIT_IMPORT_EXPORT_TRASH_PRIVATE_GIT", "knowledge_human_rendering_source": "product-source/hololake-clean-desktop/src/modules/knowledge-render/index.tsx", "typed_language_sources": ["USER_MESSAGE", "PERSONA_RESPONSE", "SYSTEM_CONTEXT", "PROTOCOL_EVENT", "AGENT_ACTION", "TOOL_RESULT", "SYSTEM_RECEIPT"], "public_update_endpoint": "https://guanghulab.com/hololake/releases/latest.json",