Article

P1/P2 实施清单:内容生成、多端协同、能力市场与来源索引

2026年7月4日 · 4 分钟阅读 · ixNieStudio

在 PC 端 Copilot、分层记忆和任务模式之后,继续规划 WeKnora 如何补齐 IMA 式报告、PPT、播客、思维导图、录音纪要、多端协同、私有知识市场和工程验收。

P1/P2 实施清单:内容生成、多端协同、能力市场与来源索引

当 WeKnora 完成 PC 端全局 Copilot、分层记忆和任务模式之后,下一步才应该补齐 IMA 的内容生成矩阵、多端协同和知识能力生态。这样排序的原因很简单:没有任务模式,PPT 和播客只是一次性工具;没有 artifact 模型,报告和思维导图无法被回看、修改和保存;没有 Copilot 浮窗和页面上下文,多端同步也只是多个入口各自问答。

本文把 P1 和 P2 放在同一个文件中,确保整个专题控制在 5 个文件以内。P1 是对 PC 端工作台直接有帮助的内容生成和多端协同,P2 是更偏平台化的知识市场、Skill 市场和社区生态。最后附上工程检查清单和来源索引,方便后续实际实现时逐项验收。

一、P1-1:内容生成套件

当前基础

WeKnora 已有 Markdown 渲染、Mermaid 渲染、Wiki 自动生成、文件服务、对象存储、多格式文档解析、附件处理、Agent Skills 和 MCP。frontend/src/utils/chatMarkdownRenderer.tsfrontend/src/components/css/chat-markdown.lessfrontend/src/utils/mermaidShared.ts 支撑前端文本展示;后端文件服务在 internal/application/service/file 下支持本地、COS、MinIO、S3、OSS、TOS、KS3、OBS;知识库入库流程可以把生成内容再次沉淀为知识。

IMA PC 端内容生成的重点不只是“能生成”,而是“能作为工作成果管理”。因此 WeKnora 应该先实现统一 artifact 层,再分别实现报告、PPT、播客、思维导图、AI 解读和录音纪要。

目标体验

用户执行一个任务后,可以在任务产物区看到多种文件。报告可以在线阅读、复制、下载为 Markdown 或 PDF,并保存回知识库。PPT 可以先显示结构化大纲,再生成 PPTX 下载。播客可以先显示双人脚本,再合成音频并在线播放。思维导图可以从报告大纲或文档目录生成,支持展开折叠和导出图片。AI 解读可以把一份文档组合生成摘要、思维导图、播客脚本和测验。录音纪要可以从移动端或 PC 端上传音频,生成转写、纪要、待办和知识条目。

后端改动

第一步,实现 artifact renderer 接口。接口输入为 AgentArtifact、任务上下文、引用来源和渲染参数,输出为文件路径、预览文本、元数据和错误。建议定义 ArtifactRenderer,并提供 MarkdownRendererPPTXRendererPodcastScriptRendererAudioRendererMindmapRendererQuizRenderer

第二步,报告生成优先落地。任务模式已经能产生 Markdown artifact,报告 renderer 负责规范结构、引用、目录、来源列表和导出。第一阶段可只支持 Markdown 与 HTML 预览,PDF 导出可以用浏览器打印或后端 HTML-to-PDF。报告必须保存 source_refs_json,引用要能回到知识库 chunk、网页来源或任务步骤。

第三步,PPTX 生成采用两阶段。第一阶段 LLM 生成幻灯片结构 JSON,包括标题、页面类型、要点、讲稿、引用和图片建议。第二阶段 renderer 使用稳定库生成 PPTX。Go 端如果缺少成熟 PPT 库,可以通过 sandbox/worker 调用 Python python-pptx,或新增独立 artifact-worker。无论用哪种方式,PPTX 生成都必须异步执行,避免阻塞 AgentQA。

第四步,播客生成也采用两阶段。第一阶段生成脚本,脚本包括 speaker、text、emotion、source_refs 和 estimated_duration。第二阶段由 TTS 生成音频并拼接。初期可以只实现脚本 artifact,把音频合成作为可选配置;生产环境需要把 TTS 凭证接入凭证管理,不能写入普通配置明文。

第五步,思维导图使用轻量实现。LLM 生成层级 Markdown 或 JSON tree,前端使用 markmap 或现有 Mermaid 能力预览。第一阶段不需要生成复杂图片,先支持交互预览和导出 Markdown。这样能快速补齐 IMA “文件解读生成脑图”的体验。

第六步,AI 解读不是一个独立模型能力,而是任务模板。模板输入一个或多个知识文件,自动创建四个步骤:文档摘要、思维导图、播客脚本、测验题。每个步骤产出一个 artifact。这样能复用任务模式,不需要额外发明流程。

前端改动

第一步,在任务详情里新增 ArtifactPanel。它按类型分组展示报告、PPT、音频、脚本、脑图和测验,每个产物显示状态、生成时间、来源数量、下载按钮和保存到知识库按钮。

第二步,在 Copilot 浮窗中支持“生成形式”选择。用户输入任务前可以选择默认产物,例如“报告”“报告 + PPT”“AI 解读包”。这个选择不应写死在 prompt 中,而是传给任务计划生成器,让计划阶段决定步骤。

第三步,为每类 artifact 提供预览组件。Markdown 使用现有 Markdown renderer,PPTX 初期展示幻灯片大纲和下载链接,播客脚本展示双人对话,音频使用 HTML audio,思维导图使用独立预览,测验以题卡方式展示答案和解析。

数据结构

继续使用 agent_artifacts。对内容生成需要补充 render_statusrender_errorfile_sizemime_typedownload_url_expires_atversionparent_artifact_idparent_artifact_id 很重要,因为用户可能从报告生成 PPT,从播客脚本生成音频,从文档摘要生成脑图。产物之间应形成可追溯链路。

失败模式

PPTX 失败通常来自结构 JSON 不合法、图片下载失败或字体缺失。解决方式是先保存大纲 artifact,即使 PPTX 渲染失败,用户仍然有可编辑大纲。播客失败通常来自 TTS 限流、长文本超限或音频拼接失败。解决方式是按段落合成,失败时只标记某一段,不让整段脚本丢失。PDF 失败通常来自 CSS 或字体,解决方式是保留 Markdown/HTML 作为主产物。AI 解读失败要按步骤隔离,测验失败不影响摘要和脑图。

测试方式

单测覆盖各 renderer 对最小输入、空引用、超长文本和非法 JSON 的处理。集成测试覆盖从任务生成 Markdown 报告,再派生 PPT 大纲,再保存到对象存储。前端测试覆盖 artifact 列表、预览、下载、保存知识库和失败提示。人工验收覆盖“同一任务生成多个文件,刷新页面后仍能看到所有产物和状态”。

二、P1-2:多端协同,但 PC 端仍是主工作台

当前基础

WeKnora 已有微信小程序、IM 集成、Chrome 扩展和网站嵌入 Widget。miniprogram/README.md 描述小程序可以配置 WeKnora API、选择知识库、导入 URL 并在微信内提问。docs/IM集成开发文档.md 描述 IM 渠道可以绑定 Agent,并处理流式回复、文件消息和斜杠指令。Chrome 扩展可以把网页内容采集到知识库。Widget 可以把 Agent 发布到外部站点。

这些入口已经覆盖 IMA 多端形态的一部分。差距不是“没有移动端”,而是缺少围绕任务、记忆和 artifact 的统一状态。

目标体验

PC 端是主工作台。用户在 PC 上创建任务、调整计划、查看复杂产物和配置 MCP。移动端和 IM 负责三类补充:采集资料、接收通知、完成确认。用户在手机上录音或分享网页到 WeKnora,资料进入指定知识库或任务 inbox;长任务需要确认时,系统通过 IM 或小程序通知用户;用户在移动端查看报告摘要或批准任务继续,回到 PC 后能看到同一个任务状态。

后端改动

第一步,新增 task_notifications 或复用现有 IM 通知能力。任务进入 waiting_userfailedcompleted 时,根据用户偏好推送到 IM、小程序或 Web 通知。通知内容只包含摘要和链接,不包含敏感正文。

第二步,新增 inbox_items。移动端、Chrome 扩展、IM 文件消息和 Widget 可以把资料放进 inbox,再由用户在 PC 端归档到知识库、任务或笔记。字段包括 source_channelsource_urlfile_pathtitlesummarysuggested_kb_idsuggested_task_idstatus

第三步,移动端和 IM 默认不启用个人记忆写入,除非是已认证用户的私有会话并明确打开记忆。这样避免把群聊噪声、外部访客问题和临时分享误写入长期记忆。

前端和小程序改动

PC 端新增 inbox 面板,用户可以批量选择移动端采集的资料并入库。小程序增加“发送到任务”或“稍后处理”入口。IM 增加斜杠命令,例如 /task status 查看任务状态,/task approve <id> 确认任务继续,/save kb <name> 把当前文件保存到某个知识库。

失败模式与测试

跨端最大失败是状态不一致。所有移动端确认都必须写入同一任务状态机,不能只在 IM 层回复“已确认”。第二个失败是链接权限。移动通知里的链接必须要求登录并校验租户,不能用永久公开链接。第三个失败是资料重复。inbox 入库时要按 URL、文件 hash 和来源消息 ID 做去重。测试需要覆盖 PC 创建任务、手机确认、PC 页面刷新后状态更新;IM 上传文件、PC inbox 出现、用户归档到知识库;匿名 Widget 对话不会写入个人记忆。

三、P2:私有知识市场、Skill 市场与 MCP 模板

当前基础

WeKnora 有共享知识库、Agent Share、MCP 服务管理、Skills 目录和 RBAC。IMA 的知识库广场、知识号和 Skill 广场是公共平台能力,而 WeKnora 的更自然落点是企业私有市场和社区可导入包。

目标体验

组织管理员可以把一个知识库模板、Agent 模板、Skill 包、MCP 配置或任务模板发布到租户内市场。普通用户可以浏览、安装、收藏、评价和申请权限。安全管理员可以审核 MCP 模板,查看需要的外部域名、OAuth scope、工具列表和风险等级。开发者可以导出一个 Skill 包或任务模板,提交到社区仓库,其他私有部署可以导入。

实施步骤

第一步,抽象 marketplace_items。字段包括 typetitledescriptionpublisher_user_idpublisher_tenant_idvisibilityversionmanifest_jsonstatusrisk_levelcreated_atupdated_attype 包括 knowledge_base_templateagent_templateskill_packagemcp_templatetask_template

第二步,实现租户内市场页面。页面不做营销式大卡片,而是面向企业用户的密集列表,提供类型筛选、风险筛选、发布者、版本、更新时间、安装次数和审核状态。每个条目有详情页,展示说明、权限、依赖模型、依赖 MCP、安装步骤和示例任务。

第三步,实现安装流程。安装 Skill 包时复制到租户允许的 Skill 目录或数据库资源;安装 MCP 模板时创建 disabled 状态的 MCP 服务,要求用户填写凭证并测试连接;安装 Agent 模板时复制 Agent 配置但不复制发布者私有记忆;安装知识库模板时创建空知识库或复制公开样例。

第四步,实现审核和审计。MCP 模板和可执行 Skill 必须经过审核。审计日志记录谁发布、谁安装、谁启用、谁调用高风险工具。这样靠拢 IMA 的能力广场,但仍保持 WeKnora 私有化部署的安全边界。

失败模式与测试

市场能力的最大风险是供应链和权限泄露。导入包不能携带明文凭证,不能默认启用高风险 MCP,不能让普通用户安装越权 Agent。测试需要覆盖模板导入导出、版本升级、禁用下架、跨租户不可见、安装后凭证为空、审核未通过不可启用。

四、工程实施总检查清单

PC 端 Copilot

实施前需要确认主要页面都能提供安全上下文。实现时先覆盖知识库详情、文档预览和 Wiki,再覆盖 MCP 设置、Agent 编辑器和任务页。验收时用户应该能在不同页面问“这个”“这里”“当前资料”,后端能解析到正确资源,切换租户后旧上下文被清理。

分层记忆

实施前需要保留现有 MemoryService,不要删除 Neo4j Episode 图谱。实现时新增关系型可见记忆表和管理 API。验收时用户能查看系统记住的偏好,删除后后续回答不再引用;嵌入 Widget 和匿名访客不会污染个人记忆;共享 Agent 不读取创建者的私有用户记忆。

任务模式

实施前需要定义任务状态机和 artifact 模型。实现时计划生成、计划确认、步骤执行和产物保存必须分开。验收时长任务刷新页面后仍可恢复,步骤失败可以重试,用户能下载或保存最终产物。

内容生成

实施前需要确定 renderer 的运行环境。实现时先做 Markdown 报告和思维导图,再做 PPTX 和播客音频。验收时渲染失败不会丢失原始大纲,产物有版本和来源引用,保存到知识库后能被检索。

多端协同

实施前需要明确 PC 是主工作台。实现时移动端、IM 和扩展先进入 inbox 和通知,不要复制完整 PC 任务编辑器。验收时手机确认任务后 PC 状态同步,IM 上传文件后 PC inbox 可归档。

市场与生态

实施前需要区分租户内市场和公共社区包。实现时先做租户内模板发布和审核,再考虑公共导入。验收时导入包不含凭证,MCP 模板默认 disabled,高风险 Skill 必须审核。

五、网络来源索引

官方或平台页面

腾讯云开发者社区与公开报道

本地 WeKnora 源码依据

  • /Users/colin/code/WeKnora/README_CN.md:确认 WeKnora 的总体定位、RAG、Agent、Wiki、MCP、Skills、IM、Widget、多租户和模型集成。
  • /Users/colin/code/WeKnora/internal/application/service/session_agent_qa.go:确认 AgentQA 如何构造 AgentConfig、加载历史、处理图片附件、创建 AgentEngine 和执行流式 Agent。
  • /Users/colin/code/WeKnora/internal/application/service/memory/service.go:确认现有 MemoryService 会从对话中抽取 summary、entities、relationships 并保存 Episode。
  • /Users/colin/code/WeKnora/internal/application/service/chat_pipeline/memory.go:确认聊天管线已有 MEMORY_RETRIEVAL 和 MEMORY_STORAGE 插件。
  • /Users/colin/code/WeKnora/internal/application/repository/memory/neo4j/repository.go:确认记忆图谱使用 Neo4j 保存 Episode、Entity、MENTIONS 和 RELATED_TO。
  • /Users/colin/code/WeKnora/internal/handler/session/qa.go/Users/colin/code/WeKnora/internal/handler/session/types.go:确认 enable_memory 请求覆盖和用户偏好解析。
  • /Users/colin/code/WeKnora/frontend/src/router/index.ts/Users/colin/code/WeKnora/frontend/src/App.vue:确认 PC Web 工作台路由和全局组件挂载点。
  • /Users/colin/code/WeKnora/docs/MCP功能使用说明.md/Users/colin/code/WeKnora/docs/agent-skills.md:确认 MCP 和 Skills 已有实现边界。
  • /Users/colin/code/WeKnora/docs/数据源导入开发文档.md/Users/colin/code/WeKnora/docs/IM集成开发文档.md:确认数据源同步和 IM 多端入口。

六、最终收敛建议

WeKnora 靠拢 IMA 不应该平均复刻所有端。第一阶段主战场是 PC 端工作台:全局 Copilot、页面上下文、可见记忆和任务模式。第二阶段补内容生成和跨端协同,让移动端、IM、扩展和 Widget 成为采集、通知和确认入口。第三阶段做租户内知识与能力市场,把 Skills、MCP、Agent、任务模板和知识库模板变成可复用资产。

这样实施后,WeKnora 不只是“功能更多”,而是会从知识库问答系统升级为一个更接近 IMA PC 端体验、同时保留开源私有化优势的知识工作台。