ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

openclaw(小龙虾)+DeepSeek接入飞书教程:WSL Ubuntu 环境从零跑通

openclaw(小龙虾)+DeepSeek接入飞书教程:WSL Ubuntu 环境从零跑通 1. 为什么要在 WSL Ubuntu 里跑 openclaw 接飞书openclaw小龙虾是一个可以接入飞书、Discord 等平台的 AI Agent 网关它本身跑在 Node.js 环境里负责把飞书群聊里的消息转发给大模型再把模型的回复送回群里。DeepSeek 在这里扮演的是“大脑”角色负责理解消息并生成回复。适合谁适合想在本地 Linux 环境快速验证机器人消息通路、又不想把 Windows 主系统搞乱的开发者。我选择 WSL Ubuntu 而不是直接在 Windows 上装原因很实际openclaw 的安装脚本、npm 全局路径、后台进程管理都是按 Linux 习惯设计的在 WSL 里跑几乎不会遇到路径分隔符和权限的坑。更重要的是WSL 是一个隔离的子系统就算你把里面的环境折腾崩了直接卸载重装就行不会影响你 Windows 上的正常使用。这一点对新手特别友好。整条链路是这样的飞书开放平台创建企业自建应用 → 拿到 App ID 和 App Secret → 在 WSL 里安装 openclaw → 配置 DeepSeek 作为模型后端 → 用openclaw channels login把飞书凭证写进去 → 重启 gateway → 飞书后台开启长连接和事件订阅 → 发布版本 → 在飞书里发消息验证。每一步我都会给出可复制的命令和配置片段你跟着敲就行。需要提前说明的是DeepSeek 的 API Key 需要在 DeepSeek 开放平台申请账户里要有余额才能调用。openclaw 本身不提供模型它只是一个调度层所以模型侧的 Key 你得自己准备好。下面从环境准备开始一步步走完。2. WSL Ubuntu 与 openclaw 安装前置DeepSeek Key 和 TaoToken 接入准备在正式装 openclaw 之前有两件事要先落地一是 WSL Ubuntu 环境本身二是模型侧的凭证。WSL 的安装很简单打开 Windows 的 CMD按 Win 键输入 cmd 就能找到执行wsl --install系统会自动帮你启用 WSL 功能并安装默认发行版。然后打开 Microsoft Store搜索 Ubuntu选 24.04 版本点免费下载。装完后在开始菜单里输入 ubuntu 就能打开子系统终端第一次会让你设置用户名和密码这个密码后面 sudo 操作会用到记牢。接下来是模型凭证。DeepSeek 官方的 API Key 在platform.deepseek.com申请创建后只显示一次务必先复制保存。但如果你希望在一个 Key 下同时调用多个模型、或者想统一管理不同厂商的模型额度可以用 TaoToken 来做接入层。TaoToken 的 API 地址是https://taotoken.net/api它兼容 OpenAI 风格的接口openclaw 在配置模型时可以直接把 Base URL 指向它。具体操作是先到 TaoToken 控制台创建一个 API Key地址是https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建好的 Key 同样只显示一次。然后在 openclaw 的模型配置里把 provider 选成兼容 OpenAI 的选项Base URL 填https://taotoken.net/apiModel ID 填你要用的模型名比如deepseek-chat。这样 openclaw 请求模型时就会走 TaoToken 的接口再由它转发到 DeepSeek。如果你只是想快速验证直接用 DeepSeek 官方 Key 也行openclaw 的配置向导里有 DeepSeek 选项。但如果你后面想切换模型、或者想用 Claude Code 这类工具做编码辅助TaoToken 的 Coding Plan 会更省事地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite。这里先不展开你只要知道模型侧有两个选择DeepSeek 官方 Key或者 TaoToken 的兼容接口。环境侧还有一点要确认WSL Ubuntu 里要能正常联网npm 源建议保持默认如果下载慢可以换成国内镜像但不要用任何来路不明的代理配置。openclaw 的安装脚本会从openclaw.ai拉取执行curl -fsSL https://openclaw.ai/install.sh | bash即可过程中会让你输入 sudo 密码。安装完成后openclaw 会提示你把 npm 全局 bin 目录加入 PATH这一步在下一节详细说。3. 可复制配置openclaw 安装、DeepSeek 模型与飞书凭证写入这一节是整篇的核心所有命令和配置片段都可以直接复制。先装 openclaw。打开 WSL Ubuntu 终端执行curl -fsSL https://openclaw.ai/install.sh | bash安装脚本会自动下载 Node.js 依赖和 openclaw 本体期间会要求输入你之前设置的 sudo 密码。装完后openclaw 的二进制通常在~/.npm-global/bin下但默认 PATH 里可能没有这个目录所以要先加进去echo export PATH/home/open/.npm-global/bin:$PATH ~/.bashrc source ~/.bashrc which openclaw注意上面路径里的open是你的 WSL 用户名如果你设置的用户名不是 open要替换成你自己的。which openclaw有输出就说明 PATH 配好了。接下来初始化 openclaw 并配置模型。执行openclaw会进入交互式配置向导第一步问你是否继续输入 yes。然后在 provider 列表里选more...找到 DeepSeek。如果你用 TaoToken就选兼容 OpenAI 的 provider手动填 Base URL。接着会问安装方式选 npm。然后粘贴你的 DeepSeek API Key或 TaoToken Key。模型选择默认的deepseek-chat即可。配置完成后按 CtrlC 退出向导。如果你想把配置写成文件形式openclaw 的模型配置通常落在~/.openclaw/config.json或类似路径可以用下面的 JSON 片段作为参考字段名以你实际安装版本的向导生成为准{ models: { default: deepseek-chat, providers: { deepseek: { baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, model: deepseek-chat } } } }注意如果你直接用 DeepSeek 官方baseUrl 要换成 DeepSeek 官方地址用 TaoToken 就填https://taotoken.net/api。Key 不要提交到任何公开仓库。模型配好后开始接飞书。先到飞书开放平台创建企业自建应用注意一定要用组织账号个人号无法邀请成员。创建后在“凭证与基础信息”里复制 App ID 和 App Secret。然后回到 WSL 终端执行openclaw channels login --channel feishu按提示粘贴 App ID 和 App Secret。完成后重启 gatewayopenclaw gateway restart openclaw channels listchannels list里能看到 feishu 状态为 connected 就说明凭证写入成功。飞书后台还需要开启权限在“权限管理”里依次开通im:、contact:user.base:readonly如果需要文档功能再加docs:。然后在“事件与回调”里把订阅方式改成“长连接”添加事件时把“消息与群组”全部勾选回调配置也打开长连接。最后点“创建版本”并发布组织内审批通过后应用才生效。4. 验证请求从本地启动到飞书收到回复的完整动作配置写完不代表通了必须做一次端到端验证。验证的目标很明确在飞书里给机器人发一条消息WSL 终端里能看到 openclaw 收到事件并调用模型然后飞书里收到机器人的回复。第一步确认 gateway 在跑。在 WSL 终端执行openclaw gateway status如果显示 running继续如果没跑执行openclaw gateway start。然后保持这个终端不要关openclaw 的日志会实时打印在这里方便你观察消息流转。第二步在飞书里找到你刚发布的应用。发布通过后飞书会给你发一条审批通过的通知点“打开应用”就能进入机器人对话窗口。如果找不到可以在飞书搜索框里搜应用名称。第一次发消息时机器人可能会做一个配对申请你在终端里按提示确认即可。第三步发送一条测试消息比如“你好”。这时观察 WSL 终端正常的话会看到类似这样的日志流[feishu] received message event [model] calling deepseek-chat [model] response received [feishu] reply sent如果终端里出现了received message event但迟迟没有response received说明模型侧有问题大概率是 Key 或 Base URL 配错了。如果连received message event都没有说明飞书的事件订阅没生效回去检查长连接是否开启、事件是否勾选、版本是否发布。第四步确认飞书里收到了回复。如果收到整条链路就通了。这时候你可以试着在群里 机器人或者拉几个同事进群一起测试。openclaw 支持群聊消息只要机器人被拉进群并且有im:权限群里的消息它都能收到。验证通过后建议把 gateway 设成后台常驻避免关掉终端就断。可以用nohup openclaw gateway start 或者配 systemd 服务。如果你只是临时验证保持终端开着就行。另外模型调用是有成本的DeepSeek 和 TaoToken 都按 token 计费测试时别发太长的消息。5. 本篇常见错排查401、local proxy failed、reading choices 与 OAuth 报错接入过程中最容易卡在几个固定报错上我按实际遇到的频率排一下。401 Unauthorized这个几乎都是 Key 的问题。要么 Key 复制时带了空格要么 Key 已经失效要么 Base URL 和 Key 不匹配比如用 DeepSeek 的 Key 却填了 TaoToken 的地址。排查方法是先在终端用 curl 直接打一次模型接口curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d {model:deepseek-chat,messages:[{role:user,content:hi}]}如果这里就返回 401说明 Key 或地址有问题跟 openclaw 无关。如果这里通了但 openclaw 里报 401检查 openclaw 配置文件里的 Key 是不是被截断或转义了。local proxy failed这个报错通常出现在 openclaw 尝试走本地代理但代理没起来的时候。如果你没有配代理检查环境变量里有没有残留的HTTP_PROXY或HTTPS_PROXY用env | grep -i proxy看一下有就 unset 掉。openclaw 默认直连不需要额外代理配置。reading choices 报错完整报错一般是Cannot read properties of undefined (reading choices)意思是模型返回的 JSON 里没有choices字段。原因通常是 Base URL 少写了/v1或者模型名写错了。TaoToken 的兼容接口路径是https://taotoken.net/api/v1/chat/completionsopenclaw 里如果只填https://taotoken.net/api有些版本会自动补/v1有些不会建议显式确认。模型名也要和平台上的保持一致比如deepseek-chat不要写成deepseek。OAuth 相关报错飞书这边如果报 OAuth 或 token 获取失败检查 App ID 和 App Secret 是否复制完整以及应用是否已经发布。未发布的应用拿不到 tenant_access_token长连接也建不起来。另外飞书权限里im:和contact:user.base:readonly必须开通否则事件推送会被拒绝。还有一个隐蔽的坑WSL 的时间如果和宿主机不同步飞书的签名校验会失败。执行date看一下时间对不对不对就sudo hwclock -s同步一下。这个报错不会直接提示时间问题只会说签名无效很容易误判。6. 长期跑 openclaw DeepSeek 的实用建议与接入入口验证通过只是开始如果你打算长期让这个机器人在飞书群里干活有几个点值得注意。第一gateway 要常驻别依赖终端窗口。WSL 里可以用nohup或者写一个 systemd user service这样关掉终端机器人也不会掉线。第二日志要留openclaw 的日志默认打在终端重定向到文件方便回溯比如openclaw gateway start ~/openclaw.log 21 。第三模型调用有成本群聊消息多的时候 token 消耗很快建议在 TaoToken 控制台设一个额度提醒或者用 Coding Plan 这类包月方案控制预算。如果你后面想扩展能力比如让机器人读文档、查资料可以在飞书权限里加docs:然后在 openclaw 里挂对应的 skill。openclaw 的 skill 机制是插件式的装好之后在配置里启用就行。模型侧如果想换更强的模型做编码辅助TaoToken 的 Coding Plan 支持 Claude Code 这类工具接入方式和本文的模型配置类似把 Base URL 和 Key 换掉即可。需要再强调一次所有 Key 都不要写进公开代码或截图里飞书的 App Secret 泄露等于别人可以冒充你的应用。WSL 环境虽然隔离但里面的凭证文件权限也要注意~/.openclaw目录建议设成 700。整条链路走下来核心就是三件事WSL 里装好 openclaw、模型侧配好 Key 和 Base URL、飞书侧开好权限和长连接。任何一环断了日志里都会有对应报错按第 5 节的排查思路基本都能定位。如果你在配置模型时想统一管理多个厂商的 Key可以从 TaoToken 的 API Keys 页面创建一个地址是https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite里面有兼容接口的详细说明。想先试试模型对话效果可以直接用https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite验证一下 Key 是否可用再回到 openclaw 里配置。
返回列表