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

开源免费的WPS AI 软件 察元AI文档助手:链路 041:mergeTaskOrchestrationData 写入任务元数据

链路 041:mergeTaskOrchestrationData 写入任务元数据

总体链路图

下图在全系列各篇保持一致,仅通过高亮样式标示本篇所覆盖的环节;箭头表示主成功路径,点线为异常或可选路径。阅读任意一篇时都应能回到本图定位,避免在单文件里「钻太深」而失去上下游语境。

plain

structured

multimodal

1 入口: Ribbon/对话框 → assistantId

2 startAssistantTask 占位任务

3 launchInfo 与 resolveDocumentInput

4 resolveModel 与模型清单

5 提示词拼装与 launchGuard

6 分流 plain / structured / multimodal

7a chatCompletion 文本链路 plain

7b chatCompletion 结构化批次

8a applyDocumentAction

8b executionPlan → applyDocumentProcessingPlan

7c generateMultimodalAsset

9 评测持久化与任务完成态

异常路径 normalizeError → 安全弹窗

本篇在总体链路中的位置

对应图中 N2 与 N5 之间偏编排一侧:任务 data、占位与对外 launchInfo 视图。 高亮节点:N2、N5。若本篇同时引用 chatApi 与任务运行器,通常意味着该逻辑处于「编排层与网络层交界」:修改时要同时考虑任务取消与 UI 快照。

深度说明(工程视角)

从工程维护角度看,本篇讨论的对象应当被视为「可替换实现」:只要对外的任务状态、HTTP 契约与文档写回语义保持不变,内部可以重构函数拆分或调整日志字段。阅读时建议始终抓住三个锚点:一是数据从哪来(PluginStorage、localStorage、COM 选区还是全文);二是数据何时离开本机(进入 fetch 之前是否已完成脱敏与快照);三是失败时用户可见的文本由谁归一(chatApi 与助手错误弹窗两条路径)。

就「链路 041:mergeTaskOrchestrationData 写入任务元数据」而言,源码位置可概括为:createAssistantPlaceholderTask 内 mergeTaskOrchestrationData 调用(executeAssistantTask 内 buildTaskData 更复杂,可对照同文件)。这与摘要中的判断一致:任务 data 除模型与提示词外,还合并 entry、primaryIntent、executionMode 等编排字段,供任务清单、重试与审计使用。在占位任务与 buildTaskData 中多次出现。关键词「orchestration、task data」提示你在仓库内做全文检索时应优先锁定这些符号,而不是仅依赖界面文案。

与网络请求相关的修改,务必在本地用开发者工具或代理核对:请求体中的 model 字段是否与设置页保存的 modelId 一致;Authorization 是否只取 apiKey 列表的第一段(部分网关对多密钥格式敏感);stream 为 true 时宿主是否稳定消费 SSE。若你引入新的 provider,应对照 getChatApiConfigByProvider 的 URL 拼接分支补充单元测试或手测用例,避免「路径已含 v1 却又重复拼接」类错误。

与文档写回相关的修改,应优先在无界面的纯函数层复现:例如仅调用 applyDocumentAction 或 applyDocumentProcessingPlan 的入参快照,观察 Range 坐标是否在 CRLF 归一化前后发生漂移。WPS 与 Word 在选区、批注锚点上的差异会放大这类问题,因此本篇若在讲坐标或分段,请同时阅读 documentPositionUtils 与 chunk 相关教程篇目。

阅读顺序上,本篇之后建议继续看:任务详情 UI 读取 llmChatRequest 字段依赖021快照。若在总体图中定位,对应图中 N2 与 N5 之间偏编排一侧:任务 data、占位与对外 launchInfo 视图。 遇到与教程系列术语不一致时,以源码标识符为准:教程侧重导航与概念,本系列侧重调用次序与失败面。

最后说明写作立场:本系列不对任何云厂商或模型服务做优劣评价,也不暗示「必须开通」某类账号;所述配置项仅反映当前仓库为打通 OpenAI 兼容协议而需要的最小字段集合。若组织策略禁止外联,应在网关或 hosts 层拦截,而不是在加载项内写死假地址。

与教程系列文档的对照

下列文档来自docs/chayuan-tutorial-series,侧重「如何阅读仓库」与界面侧概念,与本链路系列互补:不重复推销功能,仅帮助建立目录与模块边界。

  • chayuan-tutorial-series/11-zidingyi-zhushou-renwu-bianpai-yu-qingdan.md:与本篇链路相邻的工程说明,可对照变量命名与文件职责。
  • chayuan-tutorial-series/06-jiemian-daohang-renwu-chuangge-yu-duihua.md:与本篇链路相邻的工程说明,可对照变量命名与文件职责。

摘要

任务 data 除模型与提示词外,还合并 entry、primaryIntent、executionMode 等编排字段,供任务清单、重试与审计使用。在占位任务与 buildTaskData 中多次出现。

关键词

orchestration;task data

链路位置(源码索引)

createAssistantPlaceholderTask 内 mergeTaskOrchestrationData 调用(executeAssistantTask 内 buildTaskData 更复杂,可对照同文件)。

正文

1. 占位任务中的合并

entry: ribbon-direct 与 executionMode: runner-task。

维护时建议把本节涉及的符号在 IDE 里「查找引用」:确认是否还有对话框专用服务、拼写检查服务或评测脚本以拷贝粘贴方式重复了相似逻辑。若发现重复,优先抽到 chatApi 之上的薄封装,而不是在业务层再次拼接 URL 或 Authorization,以降低安全审查时的遗漏面。

// src/utils/assistantTaskRunner.js 第109-117行...mergeTaskOrchestrationData({},{entry:overrides.launchSource==='ribbon-direct'?'ribbon-direct':'dialog',primaryIntent:'assistant-task',executionMode:'runner-task',launchSource:overrides.launchSource,strictAssistantDefaults:overrides.strictAssistantDefaults===true,originMessageId:overrides.taskData?.originMessageId,originRequirementText:overrides.taskData?.originRequirementText},{

上下游衔接

任务详情 UI 读取 llmChatRequest 字段依赖021快照。

http://www.jsqmd.com/news/774295/

相关文章:

  • ClawDen:Python脚本工具集,自动化处理文件、网络采集与图像处理
  • OpenClaw多智能体飞书集成指南:从零部署AI助手团队
  • 拯救B站缓存视频:m4s-converter一键转换MP4的完整指南
  • 一文搞懂生产者消费者模型:从三信号量到环形缓冲区(附C代码)
  • Hotkey Detective:Windows热键冲突定位的完整解决方案
  • Xenia Canary终极指南:深入解析Xbox 360仿真引擎架构与实战配置
  • 手把手教你用复旦微FMQL20S400核心板搭建工控信号处理原型(附Linux BSP配置)
  • 魔兽争霸3终极兼容性优化指南:如何用WarcraftHelper解决现代系统运行难题
  • 项目博客(3)赛后评分与复盘页面的设计与实现
  • Taotoken用量看板如何帮助团队清晰掌握AI资源消耗情况
  • 构建高性能疫情信息枢纽:Next.js实战与Web Vitals优化
  • WarcraftHelper终极指南:三步解锁魔兽争霸III现代系统极致体验
  • Python逆向工程Claude AI接口:非官方API封装与实战应用
  • 如何在不同FPS游戏间保持一致的鼠标手感?SensitivityMatcher开源精准匹配工具终极指南
  • 【人工智能】小镇AI助手诞生记(一文记住40+新兴技术名词)
  • Mi-Create:零基础也能设计小米手表个性表盘的可视化神器
  • AISMM模型落地实操:从数据输入到IRR精准测算的7步标准化流程(附2024最新行业基准值)
  • 本地大模型与知识管理工具Logseq集成实践指南
  • Arm Cortex-A75核心系统寄存器详解与应用实践
  • OpenClaw:基于LLM与VLM的智能机械臂抓取框架解析与实践
  • Kodus CLI:AI原生代码审查工具,无缝集成AI编码助手提升开发质量
  • 缠论自动化分析终极指南:ChanlunX如何让技术分析变得简单高效
  • 李飞飞做AI游戏,拿了4个亿
  • 3步免费解锁WeMod专业版:Wand-Enhancer终极指南
  • 学了很多,简历上还是没东西写:数据人该怎么补项目证据
  • 前端测试:Cypress最佳实践
  • 终极指南:3分钟为Calibre安装豆瓣插件,轻松获取中文图书元数据
  • QuantClaw:量化交易框架全解析,从策略开发到实盘部署
  • 通用世界模型的三位一体一致性原则解析
  • 基于SystemC TLM-2.0的RISC-V处理器仿真框架构建与实战