自用的WPS中使用DeepSeek的脚本分享给大家。

主要是因为WPS的要钱,第三方插件又明显卡顿。

✅ 告别复制粘贴:直接在WPS中调用AI,无需切换应用

✅ 节省90%时间:一键处理文档内容,AI即时响应

✅ 成本极低:10元API费用,可用数月

✅ 零代码基础:复制粘贴即可使用,无需编程知识

主要思路是WPS宏调用DeepSeek接口。

效果如图:

效果图

一、DeepSeek官网获取API

1、打开官网,点击右上角API开放平台。

添加图片注释,不超过 140 字(可选)

2、创建API key

创建前要先充值,可以充1元试用,10元钱用不完的用。

添加图片注释,不超过 140 字(可选)

二、WPS中输入代码和API

1、打开宏编辑器界面

打开 工具--开发工具--切换到JS环境。 点击“WPS宏编辑器”,打开宏编辑器界面。

点工具--开发工具

切换到JS环境

打开 WPS宏编辑器

2、插入模块、输入代码

如图,点击Project(NOrmal.dotm),点击点击“插入”--“模块”。在打开的的界面中将后面的代码复制进去。

将其中的API key,替换为第一步获取的APIkey。

插入代码

// 功能:WPS宏调用DeepSeek API
function callDeepSeekAPI() {
    // 1. API配置
    const apiUrl = "https://api.deepseek.com/chat/completions";
    const apiKey = "sk-XX"; // 请替换为您的真实API密钥

    // 2. 校验API密钥
    if(apiKey == "sk-XX"){
        alert("请先配置您自己的DeepSeek API密钥后再使用。");
        return;
    }

    // 3. 获取用户选中的文本
    var selection1 = Application.Selection;
    selectedText = selection1.Text;
    if (selection1.Type === 1 ) {
        alert("请先选择一段文本。");
        return;
    }


    // 4. 显示处理中状态提示
    let statusBar = Application.CommandBars("Status Bar");
    let originalStatus = statusBar.Text;
    statusBar.Text = "🤖 DeepSeek AI正在思考中,请稍候...";
    
    // 5. 在文档中插入等待标记(在选中内容后插入)
    let selection = Application.Selection;
    let originalRange = selection.Range; // 保存原始选中范围
    let waitText = "\n\n[AI正在思考中...]\n";
    
    // 在选中文本后插入等待标记,不删除任何原有内容
    selection.Collapse(1); // 1 = wdCollapseEnd,将选择范围折叠到末尾
    selection.InsertAfter(waitText);
    let waitRange = selection.Range; // 记录等待文本的位置
    
    // 6. 构建请求数据
    const requestBody = JSON.stringify({
        "model": "deepseek-chat",
        "messages": [
            {"role": "system", "content": "你是一个有用的助手,专注于处理办公文档内容。要输出word能识别的格式,不要输出markdown格式,不要输出html标签"},
            {"role": "user", "content": selectedText}
        ],
        "stream": false
    });

    // 7. 创建并发送HTTP请求
    const xhr = new XMLHttpRequest();
    xhr.open("POST", apiUrl, false);

    try {
        xhr.setRequestHeader("Content-Type", "application/json");
        xhr.setRequestHeader("Authorization", "Bearer " + apiKey);
        xhr.send(requestBody);

        // 8. 处理响应
        if (xhr.status === 200) {
            const response = JSON.parse(xhr.responseText);
            const aiResponse = response.choices[0].message.content;
            
            // 将等待文本替换为AI回复,保留所有原始内容
            waitRange.Text = "\n" + aiResponse + "\n";
            
            // 恢复状态栏
            statusBar.Text = "✅ AI回复已完成!";
            
        } else {
            // 请求失败时也删除等待文本,保留原始内容
            waitRange.Text = "\n[AI请求失败,请重试]\n";
            statusBar.Text = "❌ AI请求失败";
            alert("API调用失败!状态码:" + xhr.status);
        }
        
    } catch (error) {
        // 出错时清理等待文本,保留原始内容
        waitRange.Text = "\n[请求出错:" + error.message + "]\n";
        statusBar.Text = "❌ 请求出错";
    }
}

三、增加到“自定义快速访问”

简单,按图操作,就大功告成了。

可以看到会自动分配一个快捷键,我这是ALT+8。

选中内容,然后点击快速访问 或按 ALT+8 就可以使用deepseek了。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐