开源免费的WPS AI 软件 察元AI文档助手:链路 016:mediaKind 分支与 generateMultimodalAsset
链路 016mediaKind 分支与 generateMultimodalAsset总体链路图下图在全系列各篇保持一致仅通过高亮样式标示本篇所覆盖的环节箭头表示主成功路径点线为异常或可选路径。阅读任意一篇时都应能回到本图定位避免在单文件里「钻太深」而失去上下游语境。plainstructuredmultimodal1 入口: Ribbon/对话框 → assistantId2 startAssistantTask 占位任务3 launchInfo 与 resolveDocumentInput4 resolveModel 与模型清单5 提示词拼装与 launchGuard6 分流 plain / structured / multimodal7a chatCompletion 文本链路 plain7b chatCompletion 结构化批次8a applyDocumentAction8b executionPlan → applyDocumentProcessingPlan7c generateMultimodalAsset9 评测持久化与任务完成态异常路径 normalizeError → 安全弹窗本篇在总体链路中的位置对应图中节点 N11多模态分支绕过文本 chatCompletion 主链路。 高亮节点N11。若本篇同时引用 chatApi 与任务运行器通常意味着该逻辑处于「编排层与网络层交界」修改时要同时考虑任务取消与 UI 快照。深度说明工程视角从工程维护角度看本篇讨论的对象应当被视为「可替换实现」只要对外的任务状态、HTTP 契约与文档写回语义保持不变内部可以重构函数拆分或调整日志字段。阅读时建议始终抓住三个锚点一是数据从哪来PluginStorage、localStorage、COM 选区还是全文二是数据何时离开本机进入 fetch 之前是否已完成脱敏与快照三是失败时用户可见的文本由谁归一chatApi 与助手错误弹窗两条路径。就「链路 016mediaKind 分支与 generateMultimodalAsset」而言源码位置可概括为executeAssistantTask 中 runCaps.mediaKind 分支。这与摘要中的判断一致若助手 runtimeCapabilities.mediaKind 为 image/audio/videoexecuteAssistantTask 在组装好 userPrompt 后直接进入 generateMultimodalAsset该路径调用 mediaApi 等而非 chatApi.chatCompletion。与大模型「对话」链路解耦。关键词「multimodal、mediaApi、非 chat」提示你在仓库内做全文检索时应优先锁定这些符号而不是仅依赖界面文案。与网络请求相关的修改务必在本地用开发者工具或代理核对请求体中的 model 字段是否与设置页保存的 modelId 一致Authorization 是否只取 apiKey 列表的第一段部分网关对多密钥格式敏感stream 为 true 时宿主是否稳定消费 SSE。若你引入新的 provider应对照 getChatApiConfigByProvider 的 URL 拼接分支补充单元测试或手测用例避免「路径已含 v1 却又重复拼接」类错误。与文档写回相关的修改应优先在无界面的纯函数层复现例如仅调用 applyDocumentAction 或 applyDocumentProcessingPlan 的入参快照观察 Range 坐标是否在 CRLF 归一化前后发生漂移。WPS 与 Word 在选区、批注锚点上的差异会放大这类问题因此本篇若在讲坐标或分段请同时阅读 documentPositionUtils 与 chunk 相关教程篇目。阅读顺序上本篇之后建议继续看文本类助手继续 updateTask 到 calling_model 后进入 plain/structured017。若在总体图中定位对应图中节点 N11多模态分支绕过文本 chatCompletion 主链路。 遇到与教程系列术语不一致时以源码标识符为准教程侧重导航与概念本系列侧重调用次序与失败面。最后说明写作立场本系列不对任何云厂商或模型服务做优劣评价也不暗示「必须开通」某类账号所述配置项仅反映当前仓库为打通 OpenAI 兼容协议而需要的最小字段集合。若组织策略禁止外联应在网关或 hosts 层拦截而不是在加载项内写死假地址。与教程系列文档的对照下列文档来自docs/chayuan-tutorial-series侧重「如何阅读仓库」与界面侧概念与本链路系列互补不重复推销功能仅帮助建立目录与模块边界。chayuan-tutorial-series/31-duomotai-renwu-yu-chatCompletion.md与本篇链路相邻的工程说明可对照变量命名与文件职责。chayuan-tutorial-series/05-shezhi-moxing-yu-gongyingshang-lianlu.md与本篇链路相邻的工程说明可对照变量命名与文件职责。摘要若助手 runtimeCapabilities.mediaKind 为 image/audio/videoexecuteAssistantTask 在组装好 userPrompt 后直接进入 generateMultimodalAsset该路径调用 mediaApi 等而非 chatApi.chatCompletion。与大模型「对话」链路解耦。关键词multimodal;mediaApi;非 chat链路位置源码索引executeAssistantTask 中 runCaps.mediaKind 分支。正文1. 多模态分支入口使用同一 model 的 providerId/modelId 传给 generateMultimodalAsset。维护时建议把本节涉及的符号在 IDE 里「查找引用」确认是否还有对话框专用服务、拼写检查服务或评测脚本以拷贝粘贴方式重复了相似逻辑。若发现重复优先抽到 chatApi 之上的薄封装而不是在业务层再次拼接 URL 或 Authorization以降低安全审查时的遗漏面。// src/utils/assistantTaskRunner.js 第1685-1698行throwIfCancelled(runState)if(runCaps.mediaKind){constmediaKindrunCaps.mediaKindconstassetawaitgenerateMultimodalAsset({kind:mediaKind,providerId:model.providerId,modelId:model.modelId,prompt:userPrompt,input:inputText,aspectRatio:config.mediaOptions?.aspectRatio,duration:config.mediaOptions?.duration,voiceStyle:config.mediaOptions?.voiceStyle,signal:runState.abortController?.signal})上下游衔接文本类助手继续 updateTask 到 calling_model 后进入 plain/structured017。

相关新闻

CSP-J复赛备战:核心算法与实战技巧

CSP-J复赛备战:核心算法与实战技巧

1. CSP-J复赛备战全攻略:从赛场规则到实战技巧作为一名经历过多次CSP-J/S竞赛的老选手,我深知复赛阶段与初赛的差异有多大。初赛考察的是基础知识和简单算法,而复赛才是真正检验编程能力和思维深度的战场。去年我带的学生中有3位在CSP-J复赛中…

2026/10/9 9:07:30 阅读更多 →
VS Code与Claude Code整合提升开发效率指南

VS Code与Claude Code整合提升开发效率指南

1. 为什么开发者需要VS Code与Claude Code的深度整合在代码编辑器的生态中,VS Code早已成为大多数开发者的首选工具。根据2023年Stack Overflow开发者调查报告,VS Code以74.48%的使用率遥遥领先其他编辑器。而Claude Code作为新兴的AI编程助手&#xff0…

2026/10/16 7:46:46 阅读更多 →
告别any类型:为AI接口数据构建全链路TypeScript类型安全方案

告别any类型:为AI接口数据构建全链路TypeScript类型安全方案

1. 项目概述:从“能用就行”到“类型安全”的思维转变 在前后端分离的开发模式下,前端开发者与后端API接口打交道是家常便饭。尤其是在AI应用、数据可视化或者复杂业务系统中,前端需要处理大量结构复杂、嵌套层级深的JSON数据。很多开发者&a…

2026/10/19 3:25:08 阅读更多 →

最新新闻

美赛B题O奖论文拆解:概率搜索模型与路径规划实战

美赛B题O奖论文拆解:概率搜索模型与路径规划实战

去年美赛B题一出,圈子里都在讨论那篇O奖论文。英文原题翻译成中文,核心是四个字:失联寻回。那篇O奖论文的标题如果直译,大概就是《从失联到寻回:某片海域的搜寻之旅》。我刻意不提具体海域名,因为做案例分析…

2026/10/19 22:05:38 阅读更多 →
多测站GNSS精密定位:Kriging插值与卡尔曼滤波实现网络RTK

多测站GNSS精密定位:Kriging插值与卡尔曼滤波实现网络RTK

很多人第一次看到“多测站 GNSS 精密定位 Kriging 卡尔曼滤波”这条链路时,第一反应都是:有必要这么复杂吗?单站差分、PPK、PPP不也能定位吗。我之前做某测试场的动态定位精度评估时也这么想,直到某次基准站距离用户站超过30km&…

2026/10/19 22:05:38 阅读更多 →
IM系统用户管理子服务架构设计与踩坑实践:从表结构到缓存策略

IM系统用户管理子服务架构设计与踩坑实践:从表结构到缓存策略

做IM系统,用户管理子服务往往是看起来最简单、坑却最多的那一块。很多人一开始会觉得,无非就是注册、登录、改个昵称、拉个好友列表,有什么好写的?但真正上手做才发现,一个IM系统里最基础的用户服务,牵扯到…

2026/10/19 22:03:35 阅读更多 →
DUT-OMRON数据集上的U-Net二值分割实战:边缘鲁棒与工业落地

DUT-OMRON数据集上的U-Net二值分割实战:边缘鲁棒与工业落地

简介:本资源是一套面向深度学习初学者与图像分割实践者的Unet多尺度分割实战项目,聚焦二值图像分割任务,特别适配DUT-OMRON数据集的端到端训练与推理需求。压缩包共2000个文件,主体为1979张PNG格式的训练/测试图像及对应mask&…

2026/10/19 22:03:35 阅读更多 →
XXE漏洞剖析:从XML外部实体注入到文件读取与SSRF防御

XXE漏洞剖析:从XML外部实体注入到文件读取与SSRF防御

大概在五年前做某次授权测试,目标系统有个不起眼的文件上传接口,响应报文里带着一段 XML 结构。当时随手改了改请求体,把实体声明换成了外部实体,结果直接把服务器上的/etc/passwd读了出来。那是我第一次真正意识到 XXE&#xff0…

2026/10/19 22:02:34 阅读更多 →
编译通过≠代码健康:C++静态检测原理与工具落地指南

编译通过≠代码健康:C++静态检测原理与工具落地指南

编译通过不等于代码健康:C静态检测到底在查什么我做C开发这些年,越来越觉得一个道理:编译器不报错,只是说你的代码符合语法和类型规则,它压根不关心你的逻辑是不是对的、指针是不是悬空的、资源有没有泄漏。很多问题要…

2026/10/19 22:02:34 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →