免费开源的WPS AI插件 察元AI助手:助手注册表:输入来源、输出格式与写回动作

摘要

assistantRegistry 导出 INPUT_SOURCE_OPTIONS、DOCUMENT_ACTION_OPTIONS 等常量数组,驱动设置界面与运行时校验。自定义助手应复用这些枚举,避免魔法字符串漂移。

关键词

assistantRegistry;documentAction;枚举

扩展阅读与维护提示

本篇围绕「助手注册表:输入来源、输出格式与写回动作」组织材料。仓库内与主题最直接相关的检索词包括:assistantRegistry、documentAction、枚举。建议在阅读正文所列片段后,用 IDE 全局搜索这些符号,沿 import 与调用栈向上追问「谁在什么时机调用」,而不是只记住单文件路径。

摘要所概括的要点为:assistantRegistry 导出 INPUT_SOURCE_OPTIONS、DOCUMENT_ACTION_OPTIONS 等常量数组,驱动设置界面与运行时校验。自定义助手应复用这些枚举,避免魔法字符串漂移。落地到排障时,可把现象粗分为三类交叉验证:配置是否按预期写入持久化介质;WPS COM 上下文是否可用(例如是否缺少 ActiveDocument);以及网络与证书策略是否拦截了 fetch。本篇涉及的模块通常只覆盖其中一两类,需要与相邻篇目拼成完整拼图。

教程文件名「09-bianshen-moban-guize-yu-wendang-shenji.md」仅用于导航与排序,不等价于源码模块名。若正文中的行号与本地分支不一致,多半因合并导致行偏移,此时应以函数名、导出名为锚重新检索;团队若维护了生成脚本,可在变更大段源码后重新运行以保持摘录大致对齐。

本文刻意避免对产品能力做营销式承诺:所述行为均以当前仓库可见实现为准。若组织策略要求离线或内网模型,应在网关、证书与代理层收口,而不是假设加载项能绕过浏览器安全模型。

若你同时阅读 docs/chayuan-llm-chain-series,可先对照其中的总体链路图理解「请求从 UI 到 chatApi」的次序,再回到本教程看数据结构、默认值与修改风险面;两者互补,不重复堆砌功能列表。

正文

1. 输入与输出枚举

选项 value 与 label 成对出现,前端下拉与持久化字段应使用 value。

阅读源码摘录时,请把它当作「定位入口」而非完整实现:同一函数可能在其他分支还有早退条件或 try/catch。修改默认行为前,建议用最小文档手工走一遍相关助手或对话框,并观察任务清单与日志中的字段是否与预期一致,再决定是否做数据迁移或配置重置。

复制代码
// src/utils/assistantRegistry.js 第4-31行
const INPUT_SOURCE_SELECTION_PREFERRED = 'selection-preferred'
const INPUT_SOURCE_SELECTION_ONLY = 'selection-only'
const INPUT_SOURCE_DOCUMENT = 'document'

export const INPUT_SOURCE_OPTIONS = [
  { value: INPUT_SOURCE_SELECTION_PREFERRED, label: '优先使用当前选中,无选中时回退全文' },
  { value: INPUT_SOURCE_SELECTION_ONLY, label: '仅处理当前选中内容' },
  { value: INPUT_SOURCE_DOCUMENT, label: '始终处理全文' }
]

export const DOCUMENT_ACTION_OPTIONS = [
  { value: 'replace', label: '替换文档内容' },
  { value: 'insert', label: '插入到光标处' },
  { value: 'insert-after', label: '插入到每段后面' },
  { value: 'prepend', label: '插入到文档最前面' },
  { value: 'comment', label: '添加批注' },
  { value: 'link-comment', label: '链接形式批注' },
  { value: 'comment-replace', label: '批注 + 替换' },
  { value: 'append', label: '追加到文末' },
  { value: 'none', label: '仅生成结果,不写回文档' }
]

export const OUTPUT_FORMAT_OPTIONS = [
  { value: 'plain', label: '纯文本' },
  { value: 'markdown', label: 'Markdown' },
  { value: 'bullet-list', label: '项目符号列表' },
  { value: 'json', label: 'JSON' }
]

2. 运行时能力默认值

DEFAULT_RUNTIME_CAPABILITIES 描述 forceDocumentAction、mediaKind 等,mergeDefinitionRuntimeCapabilities 用于与单助手定义合并。

阅读源码摘录时,请把它当作「定位入口」而非完整实现:同一函数可能在其他分支还有早退条件或 try/catch。修改默认行为前,建议用最小文档手工走一遍相关助手或对话框,并观察任务清单与日志中的字段是否与预期一致,再决定是否做数据迁移或配置重置。

复制代码
// src/utils/assistantRegistry.js 第46-60行
/** 助手运行时能力默认值;具体助手可在定义上挂 runtimeCapabilities 覆盖 */
export const DEFAULT_RUNTIME_CAPABILITIES = Object.freeze({
  /** 非空时强制使用该文档写回动作(如拼写检查固定批注) */
  forceDocumentAction: null,
  /** image | audio | video:走多模态生成与错误分类 */
  mediaKind: null
})

export function mergeDefinitionRuntimeCapabilities(definition) {
  const patch = definition?.runtimeCapabilities
  return {
    ...DEFAULT_RUNTIME_CAPABILITIES,
    ...(patch && typeof patch === 'object' ? patch : {})
  }
}
相关推荐
奔跑中的小象6 小时前
统信UOS + 天数AI卡部署SGLang服务手册
人工智能·uos·sglang·天数智芯
DevSecOps选型指南6 小时前
中国版Mythos,为何是悬镜安全灵脉CodeAI?
人工智能·安全
Shockang6 小时前
LangGraph 状态机实战
人工智能
刹那芳华19926 小时前
循环神经网络的从零开始实现(RNN)
人工智能·rnn·深度学习
阿童木写作7 小时前
跨境图片翻译工具多合一,批量图片视频字幕翻译加智能抠图
人工智能·python·音视频·语音识别
科技之门7 小时前
AI3D从建模到贴图、绑骨和动画的完整流程怎么做?V2Fun完整工作流指南
人工智能·3d·贴图
宇宙第一小趴菜7 小时前
二、机器学习的应用领域和发展史
人工智能·机器学习
前端开发江鸟7 小时前
我写过 MCP Server,却一直以为 MCP 只有 Tool
人工智能
天国梦7 小时前
自习室智能化升级避坑指南:天学网AI智习室方案实测与选型建议
大数据·人工智能
阿里云云原生8 小时前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能