macOS配置openclaw+deepseek大模型+飞书小助手
macOS配置openclaw+deepseek大模型+飞书小助手一条龙
概述
openclaw到底是什么?
OpenClaw 是一个开源的个人 AI Agent(智能体)框架。 - 普通 AI(如 ChatGPT):你问它答,它住在浏览器里。
- OpenClaw:它住在你的电脑或服务器里,通过微信、钉钉、Telegram
等聊天软件和你沟通。最核心的区别是它能执行操作:- 前端开发:你可以让它“帮我改一下这个页面的 CSS 布局”,它能直接读取本地代码并修改。
- 后端运维:通过聊天窗口发个指令,它就能登录服务器查看日志、重启服务或部署 Docker。
- 股票分析:它能定时抓取行情数据,结合你给的策略(Skills)生成分析报告发给你。
2.费用来源
OpenClaw 本身是开源免费的(MIT 协议),你不需要为软件本身付费。但实际使用中有两部分成本:
- 大脑的“思考费”(API Token):你需要给它接入大模型(如 Anthropic 的 Claude 3.5、阿里云的通义千问 Qwen
或 OpenAI)。你需要向这些大模型厂商支付 API 调用费(按量计费)。 - 身体的“住宿费”(服务器):如果你选择租云服务器,会有月租费。
了解了两个方面,对小龙虾有了一个大概的了解,就可以决定好是要在本地配置还是云端租服务器,以及对应的大模型选择。
这里介绍的是macbook本地配置openclaw,选取ds模型deepseek/deepseek-chat,是国内性价比比较高的,但是配置起来会有点复杂,当前直接下载的openclaw的provider里暂时还没有直接的ds,但是已经有了千问,感兴趣的也可以选择千问去配置。
配置步骤
1.安装环境:确保电脑有 Node.js (v22+) 和 Git。
a@MacBookAir ~ % node-v v25.2.1 a@MacBookAir ~ % git--versiongit version 2.50.1 (Apple Git-155)2.一键安装:检查好配置后,打开终端,运行官方提供的脚本。
curl-fsSL https://openclaw.bot/install.sh |bash3.配置deepseek进openclaw:
安装完成后,终端通常会自动启动 Onboarding Wizard。按照以下提示选择:
- Onboarding mode:选择 Quickstart(快速开始)。有其余的选项一路上按默认勾选就可以了。
- Model provider:选择 Custom Provider(自定义提供商)。
这一步有ds可以选就直接选ds,没有的话就选openai
openai这里会有选项,不要选择第一个,选择第二个,按照后续步骤填写从ds处得到的API KEY。
◆ OpenAI auth method │ ● OpenAI Codex (ChatGPT OAuth) │ ○ OpenAI API key │ ○ Back └ - API Base URL:输入 https://api.deepseek.com/v1。(加不加/v1都可以,官方文档是不加,但由于兼容性等问题有些电脑需要加/v1才能连上)
千万记得填这个,如果不填,它默认会去连 OpenAI 的官方服务器,那你的 DeepSeek Key 就失效了。 - API Key:粘贴你第一步获取的 sk-xxxx 密钥。(具体获取步骤后续讲解)
How do you want to provide this API key? │ ● Paste API key now (Stores the key directly in OpenClaw config) │ ○ Use external secret provider └ 这里选择第一个。然后把得到的key粘贴进去,回车。
- default Model:不要选openai的相关模型,选手动输入(如mannual input)。这些错了也没关系,等会会再改配置文件的。
输入deepseek-chat(如果你想让它逻辑更强但稍微贵一点点,可以填 deepseek-reasoner,即 R1 模型)。新手的话用先用chat应该够了。 - Model alias:随便起个名,比如 ds。
(但是这样配置ds后续openclaw tui肯定是会报识别不出来deepseek这个provider的错的,所以后续还要手动配置)
ds模型API获取
- 访问deepseek开放平台。
- 注册账号并充值(建议先充 10 元人民币,应该足够至少一个月使用)
- 点击左侧的 “API Keys”,创建一个 Key 并复制保存好(它只会出现一次)。
飞书小助手配置
1.选择模型:按下方向键找到飞书。
◆ Select channel (QuickStart)
│ ● Telegram (Bot API) (recommended · newcomer-friendly)
│ ○ WhatsApp (QR link)
│ ○ Discord (Bot API)
│ ○ IRC (Server + Nick)
│ ○ Google Chat (Chat API)
│ ○ Slack (Socket Mode)
│ ○ Signal (signal-cli)
│ ○ iMessage (imsg)
│ ○ LINE (Messaging API)
│ ○ Feishu/Lark (飞书)
│ ○ Nostr (NIP-04 DMs)
│ ○ Microsoft Teams (Bot Framework)
│ ○ Mattermost (plugin)
│ ○ Nextcloud Talk (self-hosted)
│ ○ Matrix (plugin)
│ ○ BlueBubbles (macOS app)
│ ○ Zalo (Bot API)
│ ○ Zalo (Personal Account)
│ ○ Synology Chat (Webhook)
│ ○ Tlon (Urbit)
│ ○ Skip for now
2.飞书具体配置:这里的配置只需要先做到拿到appid和secret id这一步就可以继续去终端配置小龙虾了。当然为了后续使用方便最后也是要配齐的。
主要分为两大块,首先是简约配置,目的是为了拿到app id和secret id。其次是权限配置,需要给飞书开放对应的权限和事件回调,才能在客户端和小龙虾进行聊天。
简约配置
1.登录飞书开放平台。
2.点击 “创建企业自建应用”。
应用名称:起个酷点的名字(比如:小龙虾大王)。
应用描述:随便写,比如“我的工作搭子”。
3.创建成功后,在左侧菜单点击 “凭证与基础信息”。
找到 App ID 和 App Secret。
把这两个值填回你的终端(Terminal)里对应的提示位置。
4.开启机器人功能:
在飞书开放平台左侧菜单,点击 “添加应用能力”。
找到 “机器人”,点击 “添加”。
权限配置
1.在左侧目录树选择“开发配置 > 权限管理”,单击“批量导入/导出权限”按钮。
2.在“导入”页签中,将如下权限替换原有示例,单击“下一步,确认新增权限”按钮。
不想开通这么多权限的话,也可以手动添加,但要打开几个核心权限:
im:message (接收消息)
im:message:send_as_bot (以机器人身份发送消息)
im:chat (获取群组信息)
im:resource (获取资源文件)
{"scopes": {"tenant": ["contact:contact.base:readonly","docx:document:readonly","im:chat:read","im:chat:update","im:message.group_at_msg:readonly","im:message.p2p_msg:readonly","im:message.pins:read","im:message.pins:write_only","im:message.reactions:read","im:message.reactions:write_only","im:message:readonly","im:message:recall","im:message:send_as_bot","im:message:send_multi_users","im:message:send_sys_msg","im:message:update","im:resource","application:application:self_manage","cardkit:card:write","cardkit:card:read"],"user": ["contact:user.employee_id:readonly","offline_access","base:app:copy","base:field:create","base:field:delete","base:field:read","base:field:update","base:record:create","base:record:delete","base:record:retrieve","base:record:update","base:table:create","base:table:delete","base:table:read","base:table:update","base:view:read","base:view:write_only","base:app:create","base:app:update","base:app:read","sheets:spreadsheet.meta:read","sheets:spreadsheet:read","sheets:spreadsheet:create","sheets:spreadsheet:write_only","docs:document:export","docs:document.media:upload","board:whiteboard:node:create","board:whiteboard:node:read","calendar:calendar:read","calendar:calendar.event:create","calendar:calendar.event:delete","calendar:calendar.event:read","calendar:calendar.event:reply","calendar:calendar.event:update","calendar:calendar.free_busy:read","contact:contact.base:readonly","contact:user.base:readonly","contact:user:search","docs:document.comment:create","docs:document.comment:read","docs:document.comment:update","docs:document.media:download","docs:document:copy","docx:document:create","docx:document:readonly","docx:document:write_only","drive:drive.metadata:readonly","drive:file:download","drive:file:upload","im:chat.members:read","im:chat:read","im:message","im:message.group_msg:get_as_user","im:message.p2p_msg:get_as_user","im:message:readonly","search:docs:read","search:message","space:document:delete","space:document:move","space:document:retrieve","task:comment:read","task:comment:write","task:task:read","task:task:write","task:task:writeonly","task:tasklist:read","task:tasklist:write","wiki:node:copy","wiki:node:create","wiki:node:move","wiki:node:read","wiki:node:retrieve","wiki:space:read","wiki:space:retrieve","wiki:space:write_only"]}}在弹窗中确认权限无误后,单击“申请开通”按钮,完成操作。
3.发布应用:单击顶部弹窗“创建版本”按钮。
按需配置应用版本号、默认能力、更新说明等信息。一开始填1.0.0就好,后续更新可以按自己的想法来编号,只是私人用的话不用作规范要求。

4.单击页面底部的“保存”按钮,创建版本。
5.单击页面右上角的“确认发布”按钮,完成应用发布。
6.订阅机器人长链接接收事件和卡片回调。
(这一步如果在长连接无法调通的话,可能先继续按照终端配置流程走,把飞书插件下载下来之后才能连接上)
(1)进入飞书开放平台,在左侧列表找到事件与回调,配置事件订阅方式。
订阅方式改为长连接,并保存。

添加事件:接收消息、消息被reaction、消息被取消reaction。
(注意:一共添加三个事件,少添加会导致使用体验感变差)

继续终端配置
刚刚到了起名那一步,接下来还有很多步骤需要走。
1.当你在前面选择了飞书,后续会选择:
◆ Install Feishu plugin? │ ○ Download from npm(@openclaw/feishu) │ ● Use local plugin path (/opt/homebrew/lib/node_modules/openclaw/extensions/feishu) │ ○ Skip for now 这个 Plugin(插件) 是给 OpenClaw 用的“通讯模块”,既然这里已经检测到本地路径下有这个插件,那直接进去用就可以了。
选完这一步,OpenClaw 就会正式加载飞书模块,接着它会找你要刚才在“飞书开放平台”申请的App ID和App Secret,复制粘贴过来就可以了。
2.飞书连接模式选择:
◆ Feishu connection mode │ ● WebSocket (default) │ ○ Webhook └ 选择第一个websocket,为什么选 WebSocket 而不是 Webhook?
Webhook (麻烦):需要公网 IP 或复杂的内网穿透(比如 cpolar)。飞书服务器主动“推”消息给你,如果你家里的 Mac 防火墙没关或者 IP 变了,它就找不到了。
WebSocket (推荐):这是专门为本地部署设计的。 你的 Mac 会主动和飞书建立一个长连接。只要你的 Mac 能上网,飞书的消息就能传进来。不需要内网穿透,不需要公网 IP。
3.区域选择:
◆ Which Feishu domain? │ ● Feishu (feishu.cn) - China │ ○ Lark (larksuite.com) - International └ 中国飞书用户直接选择第一个就好了,这个和有没有梯子没关系,只要是用中国手机号注册的那数据就在feishu.cn里面。
4.权限选择:
◆ Group chat policy │ ● Allowlist - only respond in specific groups │ ○ Open - respond in all groups(requires mention) │ ○ Disabled - don't respond ingroups └ 初次配置选择allowlist,后续挑选可聊天对象要输出id时,直接留空,enter键跳过。现在先只让小龙虾和你私聊,想拉入群聊后续可以再加名单。
放一个对比给大家参考,有别的需求也可以视情况选择。
1:Allowlist
如果你打算把机器人拉进特定的工作群,选这个。
机器人只在你指定的群里说话。这样可以防止它在不相关的群里乱插话,也能省钱(防止别人在群里疯狂艾特它,消耗你的 DeepSeek Token 余额)。
2: Open
如果你想在任何群里都能随时召唤它,选这个。
只要你在群里 @机器人,它就会回复。不需要手动维护白名单。
注意:它必须被 @(提及) 才会响应,不会监听群里的每一句话(除非你开启了特殊设置),所以隐私相对有保障。
❌ 为什么不选 Disabled?
因为你之后可能需要建一个专门的“服务器监控群”这种工作群,如果选了 Disabled,它在群里就变哑巴了。
5.联网设置
Search provider │ ● Brave Search (Structured results · country/language/time filters) │ ○ Gemini (Google Search) │ ○ Grok (xAI) │ ○ Kimi (Moonshot) │ ○ Perplexity Search │ ○ Skip for now └ 这个直接选最后一个跳过,联网搜索还是要付费,有需求的话可以配一下第一个,没有强需求的话ds深度思考也够用了。
6.安装技能
Configure skills now? (recommended) │ ● Yes / ○ No 选择yes,为openclaw配置相关功能。
这个依据自己的功能要求选择,没有什么强制要求。
我希望它能操控我的备忘录帮我做一些笔记和提醒事项,以及我会有一些前端开发和后端运维的工作,以及有一丢丢想分析股票的需求。所以勾选了下述内容。
📊 model-usage:它能帮你统计 DeepSeek 消耗了多少 Token,花了多少钱。防止你写代码时循环调用导致余额瞬间归零。
🐙 github:它可以让 AI 帮你提交代码(Commit)、推送(Push)以及管理你的仓库。
📄 nano-pdf:如果你下载了一些股票的 PDF 研究报告,勾选这个后,你可以把 PDF 丢给 AI 让他帮你总结要点。
🧾 summarize:它可以快速总结长文章或长网页内容。
📝 apple-notes 和 ⏰ apple-reminders:在mac上用原生备忘录和提醒事项。
7.接下来一连串询问直接按默认来就行,基本上都是多余的付费选项,包括要不要开通位置服务这些,刚开始全部拒绝就行。
8.允许的钩子
Enable hooks? │ ◻ Skip for now │ ◻ 🚀 boot-md │ ◻ 📎 bootstrap-extra-files │ ◻ 📝 command-logger │ ◻ 💾 session-memory └ ● 💾 session-memory
作用:让机器人拥有“短期记忆”。
为什么选:做代码修改时,你需要它记得上一句话说了什么。
● 📝 command-logger
作用:记录它执行过的所有终端指令。
为什么选:做后端运维的话,万一 AI 刚才运行了一个 rm -rf 或者改错了某个配置文件,可以通过日志追溯它到底干了什么。
其余的视自己情况。
9.交流的界面
How do you want to hatch your bot? │ ● Hatch in TUI (recommended) │ ○ Open the Web UI │ ○ Do this later 直接选 ● Hatch in TUI (recommended)。
为什么选这个?
- 实时监控:TUI(终端用户界面)会直接在你的 Mac 终端里显示运行日志。你可以亲眼看到 DeepSeek 是如何通过 WebSocket
连接飞书的。如果中间报错了(比如网络断了或 Key 填错了),在这里能立刻看到原因。 - 一键运行:选这个会立即激活你的机器人。
- 调试方便:对于做后端运维的你来说,看终端日志是最自然、最直观的方式。
理论上来说应该可以和ai聊天了,但刚刚ds的配置还是有问题的,现在还需要手动调整一下。
│ ◇ How do you want to hatch your bot? │ Hatch in TUI (recommended) openclaw tui - ws://127.0.0.1:18789 - agent main - session main session agent:main:main Wake up, my friend! ⚠️ Agent failed before reply: Unknown model: anthropic/deepseek-chat. Logs: openclaw logs --follow gateway connected | idle agent main | session main (openclaw-tui)| anthropic/deepseek-chat | tokens ?/200k 由于我们手动输入模型的时候只输入了deepseek-chat,系统没有识别出对应的ds这个provider所以连接失败了。
最后一步配置成功
1.浏览关于openclaw的配置文件,main文件夹下有两个文件夹,分别是auth和sessions。auth保存API-KEY的内容,sessions保存会话内容,不用管。
2.修改/.openclaw/agents/main/agent/auth-profiles.json
nano ~/.openclaw/agents/main/agent/auth-profiles.json 刚开始可能是这样的
{"version":1, "profiles":{"openai:default":{"type":"api_key", "provider":"openai", "key":"sk-xx"}}}修改:
{"version":1, "profiles":{"deepseek:default":{"type":"api_key", "provider":"deepseek", "key":"sk-你的DeepSeek_API_KEY這裡貼上"}}}3.修改openclaw.json文件(最好找到原有的文件并在上面添加,一般来说都能找到,没有的话就只能新建一个)
nano ~/.openclaw/openclaw.json 将以下配置添加到 openclaw.json 文件中:
注意:如果连接不上,baseurl可以在后面加/v1尝试
agents部分原本有model是因为设置了默认model,不用完全删掉,只需要在deepseek-chat和deepseek-reasoner前面加上deepseek/就可以了。
{"models": {"mode": "merge","providers": {"deepseek": {"baseUrl": "https://api.deepseek.com","apiKey": "${DEEPSEEK_API_KEY:-}","api": "openai-completions","models": [{"id": "deepseek-chat","name": "DeepSeek Chat (V3.2)","reasoning": false,"input": ["text"],"cost": {"input": 0.00000028,"output": 0.00000042,"cacheRead": 0.000000028,"cacheWrite": 0.00000028 },"contextWindow": 128000,"maxTokens": 8192 },{"id": "deepseek-reasoner","name": "DeepSeek Reasoner (V3.2)","reasoning": true,"input": ["text"],"cost": {"input": 0.00000028,"output": 0.00000042,"cacheRead": 0.000000028,"cacheWrite": 0.00000028 },"contextWindow": 128000,"maxTokens": 65536 }]}}},"agents": {"defaults": {"models": {"deepseek/deepseek-chat": {},"deepseek/deepseek-reasoner": {}}}}}4.设置环境变量:保险起见再设置一次环境变量放API KEY
exportDEEPSEEK_API_KEY="your-api-key-here"5.验证
(1)连接情况
openclaw models list |grep deepseek 若为以下情况,则为正确
deepseek/deepseek-chat text 125k no yes default,configured deepseek/deepseek-reasoner text 125k no yes configured (2)重新设置默认模型(可选)
openclaw models set deepseek/deepseek-reasoner 6.都成功了的话,再次运行openclaw tui,应该就大功告成啦!
下面大概会出现类似的显示,有⚠️没关系,可以试着说说话啦,警告可能只是之前没清干净。
gateway connected | idle agent main | session main (openclaw-tui)| deepseek/deepseek-chat | tokens 36k/128k (28%)成功
浅浅放一张聊天截图,预祝大家都成功配置好自己的小助手哦~
