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

WPS如何接入DeepSeek(通过JS宏调用)

WPS如何接入DeepSeek

  • 一、文本扩写
  • 二、校对
  • 三、翻译

本文介绍如何通过 WPS JS宏调用 DeepSeek 大模型,实现自动化文本扩写、校对和翻译等功能。

一、文本扩写

1、随便打开一个word文档,点击工具栏“工具”。

在这里插入图片描述

2、点击“开发工具”。

在这里插入图片描述

3、点击“查看代码”。

在这里插入图片描述

4、在打开的WPS宏编辑器界面中,左侧找到“Project(Normal.dotm)”,在“代码”上右击,选择“插入”->“模块”。

在这里插入图片描述

5、在新建的模块“Module1”上右击,点击“重命名”,重命名为“deepseek_expand”。

在这里插入图片描述

6、在右边的代码编辑器中,粘贴JS宏代码 ,保存。

const OPENAI_API_KEY = "改成自己的";
const OPENAI_API_URL = "https://api.deepseek.com/v1/chat/completions";
const OPENAI_MODEL = "deepseek-chat";function PROMPT_TEMPLATE(text) {return `你是一位专业的文本扩写助手。请根据以下要求扩写文本:
1. 保持原文核心意思不变
2. 增加相关细节和背景信息
3. 使用正式、专业的语言风格
请扩写以下文本:
${text}`;
}async function expandText() {const selection = Application.Selection;if (!selection || !selection.Text) {alert("请选中需要扩写的文本");return;}const originalText = selection.Text;const prompt = PROMPT_TEMPLATE(originalText);try {const response = await fetch(OPENAI_API_URL, {method: 'POST',headers: {'Content-Type': 'application/json','Authorization': `Bearer ${OPENAI_API_KEY}`},body: JSON.stringify({model: OPENAI_MODEL,messages: [{role: "user", content: prompt}]})});const data = await response.json();if (data.choices && data.choices.length > 0) {const expandedText = data.choices[0].message.content;selection.Text = expandedText; // 替换选中文本为扩写后的文本} else {throw new Error("未获取到有效的扩写文本");}} catch (error) {console.error("扩写文本时出错: ", error);alert("扩写文本失败,请检查网络或API密钥");}
}

代码中接口定义相关内容(API_key)改成自己的,除了DeepSeek也可以使用其他模型。

在这里插入图片描述

7、回到文字编辑界面,点击“文件”菜单,选择“选项”。

在这里插入图片描述

8、在选项对话框中,找到“自定义功能区”,在右侧的“自定义功能区”中,“工具”选项卡下点击“新建组”。

在这里插入图片描述

9、选中上一步新建的组,在左侧“自定义功能区”中下拉,找到“宏”,可以看到宏代码的名称“Project.deepseek.expandText”,选中,点击中间的“添加”按钮,添加到新建的组下。

在这里插入图片描述

10、在右侧“自定义功能区”中,选择新添加的“Project.deepseek.expandText”,点击“重命名”。
在这里插入图片描述

11、名称修改为“扩写”,点击确定。

在这里插入图片描述

12、点击“确定”。

在这里插入图片描述

13、回到文字编辑界面,看到“工具”栏下,多了“扩写”工具。

在这里插入图片描述

14、写一句文字“从前有座山”,用鼠标滑动选择需要扩写的内容,点击“扩写”,稍等片刻,等待deepseek返回。

这一步取决于你自己的网速以及deepseek服务器的服务响应能力,有可能很慢或者无法生成,可以多试几次。

在这里插入图片描述

15、看到文字“从前有座山”成功被扩写。

在这里插入图片描述

至此,已经完成了 WPS 宏的基本环境搭建,并掌握了如何调用 AI API 进行文本扩写。后续可以进一步优化代码,增加更多智能化功能,例如自动摘要、润色和智能翻译等。

二、校对

步骤完全一样,只是第6步的代码粘贴换成

async function proofreadText() {const selection = Application.Selection;if (!selection || !selection.Text) {alert("请选中需要校对的文本");return;}const originalText = selection.Text;const prompt = `请校对以下文本,修正语法和拼写错误:\n${originalText}`;try {const response = await fetch(OPENAI_API_URL, {method: 'POST',headers: {'Content-Type': 'application/json','Authorization': `Bearer ${OPENAI_API_KEY}`},body: JSON.stringify({model: OPENAI_MODEL,messages: [{role: "user", content: prompt}]})});const data = await response.json();if (data.choices && data.choices.length > 0) {const proofreadText = data.choices[0].message.content;selection.Text = proofreadText; // 替换选中文本为校对后的文本} else {throw new Error("未获取到有效的校对文本");}} catch (error) {console.error("校对文本时出错: ", error);alert("校对文本失败,请检查网络或API密钥");}
}

如果想要扩展多个功能,也可以直接在扩写的代码下边粘贴上述代码也可以,只需要在9中选择宏时选择对应的函数即可。

三、翻译

与步骤二中一致,代码使用

async function translateText() {const selection = Application.Selection;if (!selection || !selection.Text) {alert("请选中需要翻译的文本");return;}const originalText = selection.Text;const prompt = `请将以下文本翻译成英文:\n${originalText}`;try {const response = await fetch(OPENAI_API_URL, {method: 'POST',headers: {'Content-Type': 'application/json','Authorization': `Bearer ${OPENAI_API_KEY}`},body: JSON.stringify({model: OPENAI_MODEL,messages: [{role: "user", content: prompt}]})});const data = await response.json();if (data.choices && data.choices.length > 0) {const translatedText = data.choices[0].message.content;selection.Text = translatedText; // 替换选中文本为翻译后的文本} else {throw new Error("未获取到有效的翻译文本");}} catch (error) {console.error("翻译文本时出错: ", error);alert("翻译文本失败,请检查网络或API密钥");}
}
http://www.lryc.cn/news/534056.html

相关文章:

  • 图论——环检测
  • Chapter2:C#基本数据类型
  • kafka服务端之控制器
  • Unity笔试常考
  • 移植BOA服务器到GEC2440开发板
  • WPS如何接入DeepSeek(通过第三方工具)
  • 【安当产品应用案例100集】037-强化OpenVPN安全防线的卓越之选——安当ASP身份认证系统
  • Windows Docker笔记-制作、加载镜像
  • leetcode_26删除有序数组中的重复项
  • 速递丨DeepSeek刚刚成立香港子公司,或因考虑香港上市和招募全球AI人才
  • 笔灵ai写作技术浅析(六):智能改写与续写
  • 【在线优化】【有源程序】基于遗传算法(GA)和粒子群优化(PSO)算法的MPPT控制策略
  • 使用 Three.js 实现热力渐变效果
  • java-异常家族梳理(流程图)
  • 开启蓝耘之旅:DeepSeek R1 模型在智算平台的起步教程
  • [高等数学]不定积分的概念与性质
  • 【算法】【高精度】acwing算法基础 793. 高精度乘法
  • sqlite 查看表结构
  • 测试中的第一性原理:回归本质的质量思维革命
  • flink判断两个事件之间有没有超时(不使用CEP)
  • 二级C语言题解:十进制转其他进制、非素数求和、重复数统计
  • 打家劫舍3
  • 练习题(2025.2.9)
  • 【练习】PAT 乙 1074 宇宙无敌加法器
  • 网络防御高级02-综合实验
  • UITableView的复用原理
  • SQL条件分支中的大讲究
  • Cherry Studio:一站式多模型AI交互平台深度解析 可配合大模型搭建私有知识库问答系统
  • 工业相机,镜头的选型及实战
  • C++模板学习从专家到入门:关键字typename与class