JerrySher's Blog

不断学习,不断归零 生活在这个时代,牛人都在不断的学习进步,我有什么理由停下来休息


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • Friends

在大龙虾(OpenClaw)中配置自动发布微信公众号文章:完整实战

发表于 2026-02-28   |   分类于 技术 , AI

这篇文章专门讲一件事:

如何在大龙虾(OpenClaw)里,把“写公众号文章 + 配图 + 推送草稿”做成自动流程。

目标不是“能跑一次”,而是“每天稳定跑”。

一、先准备 4 个关键参数

在开始前,你需要这几个变量:

  • WECHAT_APPID:公众号 AppID
  • WECHAT_SECRET:公众号 AppSecret
  • REPLICATE_API_KEY:用于 AI 生成配图
  • WECHAT_AUTHOR:文章作者(可选)

建议全部放到 .env 文件,不要写死在代码里。

二、在项目里配置环境变量

以 wechat-ai-publisher 为例:

1
2
cd /path/to/wechat-ai-publisher
cp .env.example .env

然后编辑 .env:

1
2
3
4
WECHAT_APPID=你的appid
WECHAT_SECRET=你的secret
REPLICATE_API_KEY=你的replicate_key
WECHAT_AUTHOR=Jerry

三、加载配置并验证 token

1
2
3
4
5
set -a
source .env
set +a
source ./scripts.sh
get_wechat_token

如果返回的是有效 access_token,说明公众号接口认证已通。

四、真实踩坑:errcode 40164(IP 不在白名单)

这次实测发布时,流程卡在获取 token:

  • 错误码:40164
  • 典型报错:invalid ip ... not in whitelist
  • 本质原因:公众号后台启用了 IP 白名单,而当前自动化执行出口 IP 没有加入白名单。

下面这张图是公众号后台里白名单入口的位置(安全中心 → IP 白名单):

公众号安全中心-IP白名单入口

而在执行侧,你会看到类似这样的报错提示:

发布报错-errcode40164

怎么修复

  1. 在公众号后台把当前执行环境的出口 IP 加入白名单;
  2. 等待配置生效后,重新执行 get_wechat_token;
  3. token 获取成功后再执行 publish_article。

建议把“白名单校验”加到你的发布前检查清单里,避免定时任务夜间静默失败。

五、执行发布链路(建议先发草稿)

典型流程:

  1. 采集热点
  2. 生成文章 HTML
  3. 生成封面图
  4. 上传素材
  5. 创建草稿
  6. 需要时再提交发布

示例:

1
2
content_html=$(cat ./content.html)
publish_article "今天的 AI 热点解读" "$content_html" "未来科技风封面" "AI 热点日报"

六、在 OpenClaw 里做定时自动发布

你可以用 cron 每天触发一次:

1
2
3
4
5
6
openclaw cron add \
--name "wechat-ai-daily" \
--cron "0 9 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "发布AI热点;不要提问,直接执行"

查看任务:

1
openclaw cron list

删除任务:

1
openclaw cron delete --name "wechat-ai-daily"

七、上线前的 5 个检查点

  1. get_wechat_token 返回正常 token(不是 null)
  2. 公众号接口权限已开通(草稿/发布相关接口)
  3. 服务器出口 IP(如有白名单要求)已配置
  4. .env 已加入 .gitignore,避免密钥泄露
  5. 发布失败时有兜底策略(比如默认封面)

八、我踩过的坑(你可以直接避开)

  • 本地能生成文章,不代表微信接口权限就够
  • commit 成功,不代表文章已经对外发布
  • 自动化流程最怕“半自动”:建议把验收写成固定清单

结语

大龙虾真正的价值,不是“帮你写一篇”,而是把“写作—配图—发布”做成可复用流水线。

把配置和验收标准一次性做对,你会发现公众号更新这件事会轻很多。

Gateway Dashboard Agents 页面新增飞书持久 Agent:问题复盘与修复说明

发表于 2026-02-28   |   分类于 技术 , AI

这篇是一次真实问题的复盘。

我要记录的不是“怎么写提示词”,而是一个更底层、更影响交付效率的问题:

在 Gateway Dashboard 的 Agents 页面里,飞书渠道默认不能正常新增“可持续使用的 Agent”,只能临时拉起一次性 Agent。

如果这个点不修,表面看是“能用”,实际会造成:上下文断裂、任务不可追踪、每次都像重新开工。

现象:为什么说它是“只能一次性”

在故障出现时,典型表现是:

  1. 你在 Dashboard 的 Agents 页面操作“新增 Agent”;
  2. 飞书渠道看起来会响应,但 Agent 不会稳定进入可持续协作状态;
  3. 任务可以短暂跑起来,但后续承接、追踪和复用都很弱;
  4. 结果上就像“临时会话机器人”,而不是“持久 Agent”。

这会直接影响日常工作流:

  • 多任务并发时,回报链路容易乱;
  • 上下文跨任务衔接差;
  • 交付标准(路径、build、commit、push)难稳定执行。

根因(业务视角)

从业务层理解,这个问题本质是:

  • Dashboard 的新增 Agent 流程对飞书渠道的默认处理不完整;
  • 导致 Agent 生命周期没有按“持久协作”路径落地;
  • 最终用户侧感知就是“只能临时用一次,不能长期接力”。

换句话说,不是“AI 不够聪明”,而是“渠道接入与 Agent 生命周期管理”没有对齐。

修复目标:不是能回消息,而是能长期协作

修复目标应该明确成 4 点:

  1. 可创建:在 Agents 页面新增飞书 Agent 能稳定成功;
  2. 可持续:不是一次性任务,后续可持续承接;
  3. 可追踪:有清晰的任务状态、回报与结果链路;
  4. 可复用:同一 Agent 可用于后续同类流程。

修复后带来的变化

修复完成后,协作方式会发生明显变化:

  • 你不再需要每次从头解释背景;
  • 可以把任务拆分给多个子任务并发推进;
  • 回报可以按“文件路径 / build 结果 / commit hash / push 状态”标准化;
  • 整体节奏从“救火式问答”变成“工程化协作”。

为什么我要专门写这篇

因为这个问题非常容易被误判。

很多人会说“不是已经能回复了吗?”
但真正影响效率的是:

  • 能不能持续承接上下文;
  • 能不能形成稳定的任务闭环;
  • 能不能把每次交付变成可复验的结果。

所以这篇的重点不是“飞书接上了”,而是:

在 Gateway Dashboard 的 Agents 页面里,飞书渠道新增 Agent 这件事,必须按持久协作逻辑修正。

给团队的落地建议

如果你也在做类似接入,建议把验收标准写死:

  • 新增 Agent 后是否能跨消息持续工作;
  • 是否支持任务并发与异步回报;
  • 是否能稳定产出可验证交付(路径、构建、提交、发布);
  • 是否可以在同一 Agent 上连续迭代,而不是频繁重建。

当这些都满足,才算真正“解锁持久 Agent”。


如果你在飞书渠道也遇到“看似可用、实则一次性”的情况,这篇复盘希望能帮你少走弯路。

VS Code + Clawdbot 完整配置指南:打造你的 AI 编程助手

发表于 2026-01-30   |   分类于 技术 , 教程

前言

在上一篇文章中,我介绍了使用 Clawdbot 来辅助博客写作。今天我将详细分享如何从零开始配置 Clawdbot,让它成为你的 AI 编程助手。

什么是 Clawdbot?

Clawdbot 是一个开源的 AI 助手框架,它可以:

  • 集成多种 AI 模型(Claude、GPT、DeepSeek 等)
  • 通过飞书、Slack 等渠道远程控制
  • 在 VS Code 中直接使用
  • 执行文件操作、代码生成等自动化任务

安装步骤

1. 安装 Node.js

首先确保你的系统安装了 Node.js 22 或更高版本:

1
2
3
4
5
# macOS 使用 Homebrew
brew install node

# 检查版本
node -v # 应该显示 v22.x.x 或更高

2. 安装 Clawdbot

使用 npm 全局安装:

1
npm install -g clawdbot

安装完成后验证:

1
2
clawdbot --version
# 应该显示类似 2026.1.24-3

3. 初始化配置

运行初始化向导:

1
clawdbot init

这会在 ~/.clawdbot/ 目录下创建配置文件。

配置 AI 模型

方案一:使用 GitHub Copilot(推荐)

如果你订阅了 GitHub Copilot Pro($40/月),可以直接使用其中的高级模型:

1
2
# 授权 GitHub Copilot
clawdbot auth github-copilot

按提示完成设备授权流程后,编辑 ~/.clawdbot/clawdbot.json,添加模型配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
"models": {
"providers": {
"github-copilot": {
"api": "github-copilot",
"models": [
{
"id": "claude-opus-4",
"name": "Claude Opus 4",
"reasoning": true,
"contextWindow": 200000,
"maxTokens": 32000
},
{
"id": "claude-sonnet-4",
"name": "Claude Sonnet 4",
"contextWindow": 200000,
"maxTokens": 16384
},
{
"id": "gpt-4o",
"name": "GPT-4o",
"contextWindow": 128000,
"maxTokens": 16384
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "github-copilot/claude-opus-4",
"fallbacks": [
"github-copilot/claude-sonnet-4",
"github-copilot/gpt-4o"
]
}
}
}
}

方案二:使用 OpenRouter

如果没有 Copilot 订阅,可以使用 OpenRouter:

1
2
clawdbot auth openrouter
# 输入你的 OpenRouter API Key

方案三:使用 Moonshot(国内可用)

对于国内用户,Moonshot 是个不错的选择:

1
2
clawdbot auth moonshot
# 输入 Moonshot API Key

注意:Moonshot 的 API 域名是 api.moonshot.cn,不是 api.moonshot.ai!

启动 Gateway 服务

配置完成后,启动 Clawdbot gateway:

1
2
3
4
5
6
7
8
# 作为后台服务安装
clawdbot gateway install

# 启动服务
clawdbot gateway start

# 检查状态
clawdbot status

配置飞书渠道(可选)

如果想通过飞书远程控制 Clawdbot:

1. 安装飞书插件

1
clawdbot plugins install @m1heng-clawd/feishu

2. 创建飞书应用

  1. 访问 飞书开放平台
  2. 创建企业自建应用
  3. 添加「机器人」能力
  4. 获取 App ID 和 App Secret

3. 配置飞书连接

编辑 ~/.clawdbot/clawdbot.json:

1
2
3
4
5
6
7
8
9
10
11
12
{
"channels": {
"feishu": {
"appId": "你的 App ID",
"appSecret": "你的 App Secret",
"enabled": true,
"connectionMode": "websocket",
"dmPolicy": "pairing",
"groupPolicy": "allowlist"
}
}
}

重启 gateway 后,就可以在飞书中与机器人对话了!

常见问题

Q: 模型调用失败?

检查以下几点:

  1. API Key 是否正确配置
  2. 网络是否能访问对应的 API 服务
  3. 账户余额是否充足

Q: Gateway 无法启动?

尝试:

1
2
3
4
5
# 停止现有进程
pkill -f clawdbot

# 重新启动
clawdbot gateway start

Q: 飞书收不到消息?

确保:

  1. 飞书应用已添加「消息与群组」权限
  2. 已开启 WebSocket 长连接模式
  3. 机器人已被添加到目标群组或已与用户建立联系

我的完整配置

最后分享一下我目前使用的完整配置要点:

  • 主模型:GitHub Copilot 的 Claude Opus 4
  • 备选模型:Claude Sonnet 4 → GPT-4o → DeepSeek V3 → Moonshot
  • 消息渠道:飞书 WebSocket 长连接
  • 启用技能:github、weather、coding-agent、summarize 等

这套配置既保证了回答质量,又有多层容错,实测体验非常不错。


希望这篇教程对你有帮助!如果有任何问题,欢迎在评论区留言讨论。

下一篇预告:我会分享更多 Clawdbot 的高级用法和自定义技能开发。

博客复活!我开始用 Clawdbot + AI 来更新博客了

发表于 2026-01-30   |   分类于 技术 , AI

博客复活!

各位好久不见!距离我上一次更新博客已经过去了将近 8 年时间(2018年6月至今)。这段时间里,我一直在忙于工作和生活,博客也就渐渐荒废了。

但是今天,我决定重新开始更新博客,而且这次我有了一个强大的助手——Clawdbot。

什么是 Clawdbot?

Clawdbot 是一个 AI 驱动的自动化助手,它可以:

  • 🤖 多模型支持:可以同时使用 GitHub Copilot、OpenRouter、Moonshot 等多个 AI 服务
  • 💬 飞书集成:通过飞书消息远程控制,随时随地与 AI 助手对话
  • 🔧 技能扩展:支持天气查询、GitHub 操作、代码生成等多种技能
  • 📝 自动化工作流:可以帮我自动完成博客写作、代码审查等任务

我的 AI 配置

目前我使用的是 GitHub Copilot 订阅中的 Claude Opus 4 作为主模型,配合以下备选模型:

  1. Claude Sonnet 4 - 快速响应
  2. GPT-4o - 多模态能力
  3. DeepSeek V3 - 开源替代方案
  4. Moonshot - 国产大模型

这套组合既保证了回答质量,又有足够的容错能力。

为什么选择 Clawdbot?

  1. 开源免费:Clawdbot 是开源项目,可以自由定制
  2. 多渠道接入:支持 VS Code、飞书、Slack 等多种接入方式
  3. 灵活配置:可以自由组合不同的 AI 模型和技能
  4. 本地优先:数据安全,隐私可控

接下来的计划

既然有了 AI 助手的帮助,我计划:

  1. 📚 分享更多技术学习心得
  2. 🛠️ 分享工具和效率提升技巧
  3. 💡 探索 AI 在工作和生活中的应用
  4. 📖 继续读书笔记和感悟分享

小插曲:博客差点没了

有趣的是,在配置 Clawdbot 的过程中,AI 助手不小心把博客的所有内容都清空了!😅

好在 Git 版本控制帮我保存了历史记录,我成功恢复了所有内容。这也提醒我们:

任何强大的工具都需要谨慎使用,备份永远是最重要的!


感谢你的阅读!如果你也对 Clawdbot 或 AI 辅助工作流感兴趣,欢迎留言交流。

下一篇文章,我会详细介绍如何在 VS Code 中配置 Clawdbot,敬请期待!

我用 Python 写了一个颜色色值转换的小工具

发表于 2016-10-19

需求说明
公司的 UI 设计小哥,已经转用 Zeplin 很久了。Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RGB 表示。我的数学没有好到直接看到十进制就可以心算得到十六进制的结果,所以我需要一个工具,输入十进制的 RGB ,得到十六进制的色值,最好可以方便复制。

Zeplin 的颜色色值显示示例
原有处理方式
因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数把十进制转换成十六进制),所以遇到这样的问题我当然是采用python 的 hex() 函数做转换,然后手动结果输入到 Android Studio 中。

阅读全文 »

让Sublime 支持GB2312格式

发表于 2016-06-14   |   分类于 笔记

让Sublime 支持GB2312格式,
Sublime默认只支持UTF-8编码格式

需要安装插件 CovertToUTF8

File: /Users/jerrysher/Downloads/Fiy5SDEjl8xM9NHWXNnEAw3e-8wh.srt
Encoding: GB2312
Error: Codecs missing

Please install Codecs33 plugin (https://github.com/seanliang/Codecs33/tree/osx).

Pro Git 学习笔记

发表于 2016-06-12   |   分类于 工具学习

学习 Pro Git 一书的学习笔记。
采用教材:Pro Git 中文版

一、起步

关于版本控制

  • 本地版本的控制 rcs 保存并管理文件补丁(patch)
  • 集中化的版本控制系统 CVS SubVersion Perfoce, 有集中的服务器管理版本,本地每次获得最新版本代码。
  • 分布式版本控制系统

Git 历史

2005年一直免费试用的 分布式版本控制系统 BitKeeper 的商业公司停止了对 Linux 的免费授权, Linus 就带领社区撸了一个分布式版本管理系统。

git 基础概念

  • 文件快照,直接保存文件,而不是差异比较
  • 本地操作 可以不用连接网络仓库 疯狂提交代码
  • 时刻保证数据完整性

文件的三个状态

  • 已提交
  • 已修改
  • 已暂存
阅读全文 »

一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本

发表于 2016-06-10   |   分类于 整理

这篇文章不是原创,是根据 DiyCode 社区看到一篇学习Android路线,整理成 Markdown 格式。我直接转帖到我的博客,方便自己学习。

jixiaohua发了一篇一个老鸟也发了一份他给公司内部小伙伴整理的路线图。另一份 Android 开发学习路线图。可惜不是 MarkDown 格式的,所以jixiaohua直接上传的截图,在jixiaohua的呼吁下,我花了些时间,把这篇大牛的推荐清单编辑成了 Markdown 格式,方便大家浏览,学习。

有一些链接可能还不是特别准确,因为我只能根据图片上的书或者资源的名字去 Google 可能的书籍,所以链接上有什么不对的,欢迎大家评论指出,我会及时更正。请参考原文:另一份 Android 开发学习路线图 帮助修改。谢谢。

  1. 基础工具部分: 中文手册,我猜测是 Maven 中文手册,可是我并没有找到这样的资源,欢迎知道的朋友告诉我;
  2. Android部分有 『第三方库集合』,我没能找到资源地址;
  3. 书籍我大多是给的豆瓣链接,如果觉得不合适可以替换一下;

关于Markdown表格

本来我一开始整理了一份表格版本的, 用 Mou 写的,表格内的换行用
标签处理的,但是在DiyCode上来发的时候,发现Markdown表格内部不支持
标签换行,所以就只能整理成平铺的文档格式。Markdown对于表格的支持不是很强大。

阅读全文 »

《黑客与画家》读后感悟

发表于 2016-05-12   |   分类于 读书

《黑客与画家》读完有一段时间了,由于之前是在上下班路上听的,也没做做笔记。后面无论读书还是听书还是要养成做笔记的习惯,毕竟脑子慢慢的不够用了。之前也好几次谈到了这本书,今天整体的说说看完这本书后学到和感悟到的东西。

《黑客与画家》这本书是硅谷创业之父Paul Graham的文集,主要介绍了黑客也就是优秀程序员的成长、思想以及工作方法和思路。试图让普通人理解我们所处的计算机时代。

阅读全文 »

原来人生的捷径是这个!

发表于 2016-04-27   |   分类于 思考

翻阅公众号『土匪投资日记』的时候发现了一篇王强老师的演讲人生最大的捷径是用时间和生命阅读一流的书

在现在这个网络自由的时代,任何一个人都可以花个把小时写一篇文章,来消费你的时间(比如我)。出版书籍虽说有了一些门槛,但是还是充斥着各种专门迎合市场、为了商业目的而写的文字。各种畅销书籍,各种国内外经典,还有各种网络文学,微博、朋友圈以及各种新闻需要消费我们宝贵的阅读时间。我们是不是应该专门筛选一下,哪些值得读,哪些不值当?

阅读全文 »
12<i class="fa fa-angle-right"></i>

17 日志
10 分类
40 标签
RSS
GitHub Weibo Twitter
 wechat
欢迎关注『程序员在读书』
© 2026 JerrySher
由 Hexo 强力驱动
主题 - NexT.Pisces