把博客后台搬进微信:随手一条消息就能发动态、笔记、足迹

把博客后台搬进微信:随手一条消息就能发动态、笔记、足迹

2026年8月11日·#技术分享AstrBot/微信/博客/自动化/动态·1260 字 6 分钟
浏览量加载中...
AI 摘要

以前发条博客动态要开电脑、开编辑器、传图片、填坐标,麻烦得不想发。现在我把博客的后台搬进了微信:随手发一条消息,动态/笔记/足迹直接上线,图片自动传图床,足迹坐标自动获取,连构建部署都是全自动的。

灵感来了,掏出手机,发一条微信,动态就上线了。这才是写博客该有的样子。


背景:为什么我懒得更新博客#

之前写博客(Firefly Astro 静态站)有个很烦的问题:想发一条动态,流程太长

  • ❌ 得开电脑、开编辑器、改 markdown 文件
  • ❌ 图片要先传到图床上,手动拿链接
  • ❌ 足迹要填省份、城市,还得查经纬度
  • ❌ 提交、构建、部署,一步都不能少

灵感是即时的,流程是繁琐的。很多时候想想这个流程,算了不发了。

后来我折腾出了一个方案:用 AstrBot 把博客的后台搬进微信。现在发动态就像聊天一样简单。


整体架构#

博客是静态站,源码在 GitHub,push 到 main 自动构建部署(EdgeOne Pages)。所以整个方案的关键只有一件事:把「写文件 + 提交」自动化

flowchart LR A[个人微信] --> B[AstrBot 机器人<br>腾讯云] B --> C[BlogWriter 插件] C -->|图片| D[CloudFlare-ImgBed 图床] C -->|坐标| E[高德地理编码 API] C -->|生成 markdown| F[GitHub API 提交 main] F --> G[Actions 构建] G --> H[EdgeOne Pages 自动部署]

这套链路里,我只需要在微信里说话,剩下的全部自动。


怎么用#

命令速查#

命令示例效果
/动态/动态 今天去了公园 #日常发一条动态,可附图片
/笔记/笔记 日常随笔 标题发笔记,正文随后续消息追加
/足迹/足迹 陕西 华阴市华山 去找宝宝了 #旅游发足迹,坐标自动获取
/发布/发布结束会话,提交到博客
/取消/取消放弃当前会话

发一条带图的动态#

我:/动态 今晚的晚霞真好看 #日常
机器人:动态已创建:今晚的晚霞真好看,标签:#日常
可以直接发图片(可多发),发完说 /发布。
我:[图片]
机器人:已收到 1 张图片(共 1 张)。发 /发布 结束,发 /取消 放弃。
我:/发布
机器人:发布成功 ✅
文件:src/content/moments/2026-08-11.md
博客:https://blog.tsh520.cn/moments/2026-08-11

几分钟后刷新博客,动态已经上线了。

足迹是最爽的#

足迹的痛点本来是坐标——谁记得华阴市华山的经纬度?插件会拿「省份 + 地点」去调高德地理编码,坐标自动填好:

我:/足迹 陕西 华阴市华山 去找宝宝了 #旅游 #2026
机器人:足迹已创建:陕西 华阴市华山(坐标将用高德地理编码获取)。
我:[照片][照片]
我:/发布

生成的文件长这样:

---
date: 2026-08-11
province: 陕西
city: 华阴市华山
experience: 去找宝宝了
visitCount: 1
lat: 34.477861
lng: 110.084789
photos:
- https://img.tsh520.cn/file/blog/moments/xxx.jpg
tags:
- 旅游
- "2026"
---

什么都不用查,拍照发图,坐标自己来。


方便在哪#

手机随手发:灵感来了直接发,不用开电脑
图片自动上链:微信收图 → 自动传图床 → 链接自动写进文章,不用手动传
足迹坐标自动化:高德地理编码,输入地名就有经纬度
标签自定义#日常 #2026 随手打,自动合并默认标签
构建部署全自动:GitHub 提交 → Actions 构建 → 页面自动上线
增量发布:图片失败/坐标失败都会中止,绝不产生半成品提交


这套方案踩过的坑#

方案看着简单,做起来还是有不少坑的,都记下来了:

  • ⚠️ 微信的图片是临时文件:个人微信适配器收图后存在 data/temp,消息处理完就被清理。所以插件必须在收到图片的瞬间就读进内存,发布时直接用。
  • ⚠️ YAML 引号会炸构建published 加引号会变成字符串,Astro 的 schema 直接报错;纯数字标签(#2026)也必须加引号,否则被解析成数字。格式必须和现有数据一字不差。
  • ⚠️ 监听器会抢占对话:拦截所有消息的监听器如果乱回复,会把机器人的正常聊天抢走。非白名单用户必须静默忽略,只放行博客相关命令。
  • ⚠️ 图床接口要看文档:上传接口、认证方式(Bearer Token)、响应格式(数组),都得对着文档来,不能凭猜。

结语#

博客的本质是记录。记录的门槛越低,记录得越多。

现在这套方案让我做到了「想到什么就发什么」:路边看到一只猫,拍张照发过去,一条动态上线;到了一个地方,随手一条消息,足迹就记下了——连经纬度都不用我操心。

技术栈一句话总结:AstrBot(微信入口)+ BlogWriter 插件(命令解析与生成)+ CloudFlare-ImgBed(图床)+ 高德(坐标)+ GitHub API(提交)+ EdgeOne Pages(部署),全链路零服务器成本(复用现有部署),一次搭好,永久受益。

如果你也是静态博客,也想让更新变得像聊天一样简单,这个思路值得抄。

最后更新于 2026-08-11,距今已过 33 天

部分内容可能已过时

评论区

[ 标签 ]
# AI5# AI 编程2# AI工具1# Ajax2# Apifox1# AstrBot2# Astro2# CC Switch1# CDN2# Claude Code1# claudecode2# ClaudeCode1# Cloudflare2# CloudFlare2# CloudFlare-ImgBed1# coc3# CSS6# DeepSeek3# deepseek2# DELETE1# Docker1# EdgeOne3# Gist1# git1# GitHub1# hexo-circle-of-friends1# HTML6# HTTP2# Java23# java13# JavaScript5# JDBC3# JSON1# JUnit1# Logback1# Maven6# Muse Spark1# Mybatis1# MyBatis4# MySQL11# MySql1# NapCat1# obsidian1# Obsidian4# OpenCode4# ORM1# PathVariable1# PicGo1# py4# RequestBody1# RequestMapping1# RESTful风格1# skills1# Slf4j1# SpringBoot11# SQL2# Svelte2# TailwindCSS1# Telegram2# Tlias2# Vercel1# Vue7# Waline3# WebDAV1# Web基础6# WinSCP1# YAML1# 三层架构1# 中二宣言1# 书籍1# 使用文档10# 写作1# 刷步数1# 前端32# 动态1# 动漫1# 单词2# 博客6# 博客工作流1# 博客开发2# 参数接收1# 友链1# 反思2# 图床4# 地图1# 备份1# 奇思妙想1# 存储1# 学习方法3# 学校1# 宝塔面板3# 宝宝9# 导航栏1# 工具2# 开发1# 开发工具1# 开发规范1# 开心1# 影视2# 微信1# 性能优化2# 总结1# 想法15# 感受1# 感悟11# 指南1# 插件4# 故障排除1# 效率工具2# 教程7# 数据库10# 斩神1# 日常87# 日志框架1# 朋友圈1# 朱元璋1# 模板1# 测试1# 游戏2# 生活迁移1# 电影2# 碎碎念1# 视觉识别1# 网络教室1# 羊毛2# 脚本1# 脚本工具1# 自动化2# 蓝奏云1# 订阅推荐2# 记录2# 评论系统1# 词根1# 词缀1# 说说1# 足迹1# 跑步2# 路径参数1# 转载1# 运动1# 部落冲突1# 配置1# 随机图1# 音乐3# 音标1# 饮食1# 驼峰命名1# 高德地图1
[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:000:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]