当前位置: 首页 > article >正文

开源免费的WPS AI 软件 察元AI文档助手:链路 035:executeAssistantTask 中 buildStructuredExecutionPlan 到 apply

链路 035executeAssistantTask 中 buildStructuredExecutionPlan 到 apply总体链路图下图在全系列各篇保持一致仅通过高亮样式标示本篇所覆盖的环节箭头表示主成功路径点线为异常或可选路径。阅读任意一篇时都应能回到本图定位避免在单文件里「钻太深」而失去上下游语境。plainstructuredmultimodal1 入口: Ribbon/对话框 → assistantId2 startAssistantTask 占位任务3 launchInfo 与 resolveDocumentInput4 resolveModel 与模型清单5 提示词拼装与 launchGuard6 分流 plain / structured / multimodal7a chatCompletion 文本链路 plain7b chatCompletion 结构化批次8a applyDocumentAction8b executionPlan → applyDocumentProcessingPlan7c generateMultimodalAsset9 评测持久化与任务完成态异常路径 normalizeError → 安全弹窗本篇在总体链路中的位置对应图中 N8b→N10结构化 JSON 批次、聚合计划与文档处理管线。 高亮节点N8b、N10。若本篇同时引用 chatApi 与任务运行器通常意味着该逻辑处于「编排层与网络层交界」修改时要同时考虑任务取消与 UI 快照。深度说明工程视角从工程维护角度看本篇讨论的对象应当被视为「可替换实现」只要对外的任务状态、HTTP 契约与文档写回语义保持不变内部可以重构函数拆分或调整日志字段。阅读时建议始终抓住三个锚点一是数据从哪来PluginStorage、localStorage、COM 选区还是全文二是数据何时离开本机进入 fetch 之前是否已完成脱敏与快照三是失败时用户可见的文本由谁归一chatApi 与助手错误弹窗两条路径。就「链路 035executeAssistantTask 中 buildStructuredExecutionPlan 到 apply」而言源码位置可概括为assistantTaskRunner.js 结构化分支尾部。这与摘要中的判断一致结构化管线在分批 chat 全部结束后调用 buildStructuredExecutionPlan、buildDocumentProcessingExecutionPlan再视 previewOnly 决定是否立即 applyDocumentProcessingPlan。下列片段展示聚合到 apply 的衔接。关键词「batchRecords、executionPlan、apply」提示你在仓库内做全文检索时应优先锁定这些符号而不是仅依赖界面文案。与网络请求相关的修改务必在本地用开发者工具或代理核对请求体中的 model 字段是否与设置页保存的 modelId 一致Authorization 是否只取 apiKey 列表的第一段部分网关对多密钥格式敏感stream 为 true 时宿主是否稳定消费 SSE。若你引入新的 provider应对照 getChatApiConfigByProvider 的 URL 拼接分支补充单元测试或手测用例避免「路径已含 v1 却又重复拼接」类错误。与文档写回相关的修改应优先在无界面的纯函数层复现例如仅调用 applyDocumentAction 或 applyDocumentProcessingPlan 的入参快照观察 Range 坐标是否在 CRLF 归一化前后发生漂移。WPS 与 Word 在选区、批注锚点上的差异会放大这类问题因此本篇若在讲坐标或分段请同时阅读 documentPositionUtils 与 chunk 相关教程篇目。阅读顺序上本篇之后建议继续看previewOnly 为真时 pendingApply 提前 return同文件后续行。若在总体图中定位对应图中 N8b→N10结构化 JSON 批次、聚合计划与文档处理管线。 遇到与教程系列术语不一致时以源码标识符为准教程侧重导航与概念本系列侧重调用次序与失败面。最后说明写作立场本系列不对任何云厂商或模型服务做优劣评价也不暗示「必须开通」某类账号所述配置项仅反映当前仓库为打通 OpenAI 兼容协议而需要的最小字段集合。若组织策略禁止外联应在网关或 hosts 层拦截而不是在加载项内写死假地址。与教程系列文档的对照下列文档来自docs/chayuan-tutorial-series侧重「如何阅读仓库」与界面侧概念与本链路系列互补不重复推销功能仅帮助建立目录与模块边界。chayuan-tutorial-series/14-jiegouhua-json-liushuixian-yu-banben.md与本篇链路相邻的工程说明可对照变量命名与文件职责。chayuan-tutorial-series/24-pizhu-maodian-guize-ji-zhong.md与本篇链路相邻的工程说明可对照变量命名与文件职责。chayuan-tutorial-series/25-wendang-fenkuai-qi-collection.md与本篇链路相邻的工程说明可对照变量命名与文件职责。摘要结构化管线在分批 chat 全部结束后调用 buildStructuredExecutionPlan、buildDocumentProcessingExecutionPlan再视 previewOnly 决定是否立即 applyDocumentProcessingPlan。下列片段展示聚合到 apply 的衔接。关键词batchRecords;executionPlan;apply链路位置源码索引assistantTaskRunner.js 结构化分支尾部。正文1. 聚合与 apply 调用buildStructuredExecutionPlan 与 applyDocumentProcessingPlan 参数。维护时建议把本节涉及的符号在 IDE 里「查找引用」确认是否还有对话框专用服务、拼写检查服务或评测脚本以拷贝粘贴方式重复了相似逻辑。若发现重复优先抽到 chatApi 之上的薄封装而不是在业务层再次拼接 URL 或 Authorization以降低安全审查时的遗漏面。// src/utils/assistantTaskRunner.js 第1941-2107行conststructuredExecutionPlanbuildStructuredExecutionPlan({taskId,assistantId,taskTitle,documentAction:runtimeDocumentAction,inputInfo,chunks:structuredChunks,batchRecords,requirementText,targetLanguage,configuredInputSource:effectiveInputSource,chunkSettings,chunkWriteMode})constexecutionPlanbuildDocumentProcessingExecutionPlan(structuredExecutionPlan,{backupRequested:overrides.backupRequested})constoutputgetEffectiveStructuredTaskOutput(executionPlan,assistantId,runtimeDocumentAction)constcompletionSummaryreportSettings.enabled?${reportTypeLabel}已生成请在任务清单中查看完整内容。:buildAssistantCommentSummary(assistantId,output,displayTitle,runtimeDocumentAction)constoutputPreviewgetStructuredPlanPreview(executionPlan)||getSelectionPreview(output||completionSummary||已完成)constpreviewBlocksbuildExecutionPreviewBlocks(executionPlan)updateTask(taskId,{progress:82,current:structuredChunks.length,total:structuredChunks.length,data:buildTaskData({progressStage:applying_result,outputPreview,batchRecords,executionPlan,executionPlanSummary:executionPlan.executionPlanSummary||null,applyPolicy:executionPlan.applyPolicy||null,backupPolicy:executionPlan.backupPolicy||null,qualityGate:executionPlan.qualityGate||null,documentBackupRequested:executionPlan.backupPolicy?.requestedtrue,previewBlocks,progressEvents:[launchGuardReason?${launchGuardReason}本次仅生成结果不写回文档。:所有批次结构化 JSON 已完成正在按聚合计划写回文档。],items:structuredChunks.map((chunk,index){constrecordbatchRecords[index]returnbuildStructuredProgressItem(第${index1}批,chunk,done,{chunkIndex:index1,request:record?.llmChatRequest,output:String(record?.response?.parsed?.content||record?.response?.parsed?.summary||).trim(),outputSummary:record?.response?.valid?已解析${Array.isArray(record?.operations)?record.operations.length:0}条结构化操作质量${record?.response?.quality?.level||unknown}:结构化 JSON 解析失败,issues:Array.isArray(record?.response?.parsed?.issues)?record.response.parsed.issues:[],parsedOutput:record?.response?.raw||,diagnostic:{valid:record?.response?.validtrue,retryCount:Number(record?.response?.retryCount||0),error:record?.response?.error||,operationCount:Array.isArray(record?.operations)?record.operations.length:0,quality:record?.response?.quality||null,strategyTrace:Array.isArray(record?.response?.strategyTrace)?record.response.strategyTrace:[]}})})})})constcommentTextbuildAssistantApplyCommentText({output,summaryText:completionSummary,action:runtimeDocumentAction})constshouldDeferApplyoverrides.previewOnlytrue[replace,comment,comment-replace,insert-after,insert,prepend,append].includes(String(runtimeDocumentAction||).trim())reportSettings.enabled!trueif(shouldDeferApply){updateTask(taskId,{status:completed,progress:100,current:structuredChunks.length,total:structuredChunks.length,data:buildTaskData({outputPreview,documentAction:runtimeDocumentAction,progressStage:awaiting_confirmation,pendingApply:true,executionPlanSummary:executionPlan.executionPlanSummary||null,applyPolicy:executionPlan.applyPolicy||null,backupPolicy:executionPlan.backupPolicy||null,qualityGate:executionPlan.qualityGate||null,documentBackupRequested:executionPlan.backupPolicy?.requestedtrue,resultSummary:buildAssistantResultSummaryData(assistantId,inputText,output,{action:none},executionPlan),commentPreview:commentText,fullOutput:output,batchRecords,executionPlan,previewBlocks,chunkWriteMode,progressEvents:[任务已启动正在按设置分段批量调用模型。,所有批次结构化 JSON 已完成已生成写回预览。,等待用户确认后再安全写回文档。],items:structuredChunks.map((chunk,index){constrecordbatchRecords[index]returnbuildStructuredProgressItem(第${index1}批,chunk,done,{chunkIndex:index1,request:record?.llmChatRequest,output:String(record?.response?.parsed?.content||record?.response?.parsed?.summary||).trim(),outputSummary:record?.response?.valid?已解析${Array.isArray(record?.operations)?record.operations.length:0}条结构化操作质量${record?.response?.quality?.level||unknown}:结构化 JSON 解析失败,issues:Array.isArray(record?.response?.parsed?.issues)?record.response.parsed.issues:[],parsedOutput:record?.response?.raw||})}),elapsedMs:Date.now()-runStartedAtMs,estimatedRemainingMs:0})})persistDocumentEvaluation({taskId,title:taskTitle,assistantId,inputText,outputText:output,resultSummary:completionSummary,batchRecords,pendingApply:true,documentAction:runtimeDocumentAction,launchSource,status:preview-ready,qualityGate:executionPlan.qualityGate||null})return{taskId,output,executionPlan,assistantId,definition,pendingApply:true}}throwIfCancelled(runState)constapplyResultapplyDocumentProcessingPlan(executionPlan,{title:displayTitle,commentText,inputSource:inputInfo.source,action:runtimeDocumentAction,chunkMode:chunkWriteMode,strictTargetAction:strictAssistantDefaultstrue,backupRequested:executionPlan?.backupPolicy?.requestedtrue,taskId,assistantId,launchSource})上下游衔接previewOnly 为真时 pendingApply 提前 return同文件后续行。

相关文章:

开源免费的WPS AI 软件 察元AI文档助手:链路 035:executeAssistantTask 中 buildStructuredExecutionPlan 到 apply

链路 035:executeAssistantTask 中 buildStructuredExecutionPlan 到 apply 总体链路图 下图在全系列各篇保持一致,仅通过高亮样式标示本篇所覆盖的环节;箭头表示主成功路径,点线为异常或可选路径。阅读任意一篇时都应能回到本图…...

英雄联盟个性化展示终极指南:用LeaguePrank安全打造你的专属游戏身份

英雄联盟个性化展示终极指南:用LeaguePrank安全打造你的专属游戏身份 【免费下载链接】LeaguePrank 项目地址: https://gitcode.com/gh_mirrors/le/LeaguePrank 想要在《英雄联盟》中展示与众不同的游戏形象吗?LeaguePrank为你提供了安全又创意的…...

Spotify音乐下载终极方案:打造个人离线音乐库的完整指南

Spotify音乐下载终极方案:打造个人离线音乐库的完整指南 【免费下载链接】spotify-downloader Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found). 项目地址: https://gitcode.com/gh_mirrors/sp…...

2013-2023年 银行风险资产占比数据

2013-2023年 银行风险资产占比数据 https://download.csdn.net/download/2401_84585615/91149815数据统计了2013年至2023年间国内主要商业银行的风险加权资产占比(风险加权资产/总资产),涵盖平安银行、浦发银行、民生银行、招商银行等机构的年…...

深度学习中的张量运算:核心原理与工程实践

1. 张量运算:AI世界的通用货币第一次接触张量这个概念是在研究生时期的数值分析课上,教授用"高维数组"一笔带过这个概念。直到后来真正开始做计算机视觉项目,我才意识到张量在AI领域的核心地位——它就像深度学习领域的"通用货…...

从零调试高通Hypervisor通信:HAB用户层API(uhab.c)使用详解与避坑指南

高通Hypervisor通信框架HAB实战:用户层API深度解析与开发避坑指南 在异构计算架构中,虚拟化技术已成为实现资源隔离与共享的关键。当我们面对搭载高通芯片的智能座舱系统时,经常会遇到Host OS(如QNX)与Guest OS&#x…...

程序员转行新方向:深度解析渗透测试岗位,工作内容与核心技术详解

你们有没有看过一部电影,叫《我是谁:没有绝对的安全系统》。这部电影围绕男主角和他的几位伙伴组建的黑客组织 CLAY 展开,讲述了他们为了追求正义而入侵国际安全系统的故事。凭借过人的黑客技术,他们的行动不仅吸引了媒体的关注&a…...

得物小程序响应体解密

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包 内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!侵权通过头像私信或名字简介叫我删除博…...

BinaryMuseGAN终极指南:二值神经元在音乐生成中的革命性应用

BinaryMuseGAN终极指南:二值神经元在音乐生成中的革命性应用 【免费下载链接】musegan An AI for Music Generation 项目地址: https://gitcode.com/gh_mirrors/mu/musegan BinaryMuseGAN是一个基于GAN(生成对抗网络)的音乐生成AI项目…...

5个维度重新定义英雄联盟:从被动操作到智能决策的进化之路

5个维度重新定义英雄联盟:从被动操作到智能决策的进化之路 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在为重复的点击操作消…...

GPT-5.5如何提升SEO内容生产效率?关键词、文章与内链策略

概要GPT-5.5是OpenAI于2026年4月24日发布的新一代旗舰模型,代号Spud,是GPT-4.5之后第一个从头训练的底座模型。对SEO从业者来说,GPT-5.5解决的核心问题不是"写文章更快",而是整个SEO内容生产链条的效率瓶颈——关键词研…...

DesignPatternsPHP:享元模式优化内存使用效率的终极指南

DesignPatternsPHP:享元模式优化内存使用效率的终极指南 【免费下载链接】DesignPatternsPHP Sample code for several design patterns in PHP 8.x 项目地址: https://gitcode.com/gh_mirrors/de/DesignPatternsPHP 在现代PHP应用开发中,内存管理…...

Go语言为何能持续收割后端开发者的心?

一、直击测试痛点:从性能到稳定性的全方位保障对于软件测试从业者而言,后端系统的性能与稳定性是测试工作的核心关注点,而Go语言在这两方面的表现恰好精准命中测试需求。从性能维度看,Go语言直接编译为机器码,执行速度…...

终极指南:如何用ContextMenuManager快速清理和优化Windows右键菜单

终极指南:如何用ContextMenuManager快速清理和优化Windows右键菜单 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是不是也遇到过Windows右键菜单…...

在Taotoken平台如何清晰查看各模型用量与成本明细

在Taotoken平台如何清晰查看各模型用量与成本明细 1. 用量看板的核心功能 Taotoken平台的用量看板为接入多个大模型的用户提供了全面的用量观测能力。该功能位于控制台的"用量分析"模块,支持按API Key、模型类型和时间维度进行数据筛选。系统会记录每次…...

对比不同时段调用 Taotoken 同一模型的延迟体感差异

不同时段调用 Taotoken 同一模型的延迟体感观察 1. 测试环境与模型选择 本次观察基于开发者日常使用场景,调用 Taotoken 平台上的 Claude-Sonnet-4-6 模型进行测试。测试周期持续一周,覆盖工作日与周末的不同时间段。测试环境采用稳定的企业级网络连接…...

Rust的诱惑:安全性、性能与学习曲线的残酷平衡

一、测试视角下的Rust热潮在软件测试领域,我们见证过无数编程语言的兴衰。从Java的企业级统治力,到Python在自动化测试中的崛起,每一种语言都带着独特的优势与痛点。而近年来,Rust以“内存安全无GC”“零成本抽象”等标签强势闯入…...

别再折腾了!用Qt 5.14.2在Windows上配置Android开发环境,保姆级避坑指南

Qt 5.14.2 Windows平台Android开发环境配置实战指南 作为一名长期使用Qt进行跨平台开发的工程师,我深知在Windows上配置Android开发环境的各种"坑"。本文将带你避开这些常见陷阱,从零开始搭建一个稳定可靠的Qt Android开发环境。 1. 环境准备&…...

Switch手柄连接PC终极指南:三步解决BetterJoy驱动配置与蓝牙配对问题

Switch手柄连接PC终极指南:三步解决BetterJoy驱动配置与蓝牙配对问题 【免费下载链接】BetterJoy Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput 项目地址: https:…...

别再花钱算命了!我用Kimi和ChatGPT-4o免费测了测八字,结果有点意外

当AI遇上八字:Kimi与ChatGPT-4o的命理分析实测 朋友最近迷上了八字算命,花了好几百找"大师"看盘。我心想,这年头连AI都能写诗画画了,难道还搞不定老祖宗那套天干地支?于是决定拿当下最火的两个AI工具——Kim…...

TRAAC技术:动态优化LLM推理效率的突破方案

1. 项目背景与核心价值在大型语言模型(LLM)应用日益普及的当下,推理效率成为制约实际落地的关键瓶颈。传统静态压缩方案往往面临一个两难困境:过度压缩会导致关键信息丢失,而保守压缩又难以显著提升效率。TRAAC技术通过…...

Laravel Socialite用户数据获取终极指南:完整User对象属性详解

Laravel Socialite用户数据获取终极指南:完整User对象属性详解 【免费下载链接】socialite Laravel wrapper around OAuth 1 & OAuth 2 libraries. 项目地址: https://gitcode.com/gh_mirrors/so/socialite Laravel Socialite是Laravel框架围绕OAuth 1和…...

Sakura启动器GUI:零命令行AI模型部署的三大神奇步骤

Sakura启动器GUI:零命令行AI模型部署的三大神奇步骤 【免费下载链接】Sakura_Launcher_GUI Sakura模型启动器 项目地址: https://gitcode.com/gh_mirrors/sa/Sakura_Launcher_GUI 还在为复杂的AI模型配置而烦恼吗?你是否曾经面对命令行参数感到不…...

为什么选择LX Music Desktop:2024年最值得尝试的5大理由

为什么选择LX Music Desktop:2024年最值得尝试的5大理由 【免费下载链接】lx-music-desktop 一个基于 Electron 的音乐软件 项目地址: https://gitcode.com/GitHub_Trending/lx/lx-music-desktop 在众多音乐播放器中,LX Music Desktop&#xff08…...

Kalendae皮肤定制教程:打造个性化日期选择界面

Kalendae皮肤定制教程:打造个性化日期选择界面 【免费下载链接】Kalendae A javascript date picker that just works. 项目地址: https://gitcode.com/gh_mirrors/ka/Kalendae Kalendae是一款简单易用的JavaScript日期选择器,它能够无缝集成到各…...

UniWeTok多模态模型架构与优化实践

1. UniWeTok模型架构概览UniWeTok作为新一代多模态基础模型,其核心创新在于统一了文本、图像、音频三种模态的表示空间。模型采用Transformer-based架构,但在底层实现了三个关键设计突破:跨模态共享编码器:通过动态路由机制&#…...

从CMakeLists.txt到可执行文件:手把手教你用CMake构建你的第一个OpenCL项目

从CMakeLists.txt到可执行文件:手把手教你用CMake构建你的第一个OpenCL项目 在异构计算领域,OpenCL作为跨平台并行编程框架,为开发者提供了统一的操作接口。但许多初学者在掌握OpenCL基础语法后,往往卡在项目构建环节——如何将Op…...

多视图优化技术在体素艺术生成中的应用与实践

1. 项目概述:当体素艺术遇上多视图优化去年为一个独立游戏项目制作3D角色时,我尝试了市面上所有主流体素生成工具,发现它们都存在一个通病——单视角生成的模型转到其他角度经常出现结构断裂或比例失调。这促使我开始研究如何将多视图优化技术…...

【让你的电脑更好用】提升办公效率 OpenClaw 2.6.6 技能使用教程(含安装包)

OpenClaw 2.6.6 实用技能推荐|办公效率提升必备(新手友好) OpenClaw(小龙虾)的核心优势在于Skill 技能扩展。开启对应技能后,AI 可直接执行各类操作,满足文件整理、办公自动化、浏览器操作、系…...

终极Vimium变更管理指南:从代码修改到版本发布的完整流程

终极Vimium变更管理指南:从代码修改到版本发布的完整流程 【免费下载链接】vimium The hackers browser. 项目地址: https://gitcode.com/gh_mirrors/vi/vimium Vimium作为一款深受开发者喜爱的浏览器扩展,其变更管理与版本发布流程直接影响用户体…...