当前位置: 首页 > news >正文

我给AI助手装了一项技能Skill——自动写博客并发布到博客园

我给AI助手装了一项技能——自动写博客并发布到博客园

最近在用腾讯的 AI 编程助手「小龙虾」(WorkBuddy),发现它有一个叫「技能(Skills)」的功能,可以把一套固定流程封装成可复用的模块,让 AI 以后碰到同类任务时直接调用,不用每次重新解释。我正好有个高频需求——把对话内容整理成博客发到博客园——于是决定把这件事做成一个技能,顺便记录一下这个过程。

背景:重复操作触发自动化冲动

我的博客园账号断断续续写了好几年,内容主要是一些 Python 小工具、Arduino 项目记录,以及偶尔的技术心得。写博客本身不难,麻烦的是那套固定流程:整理内容、写成 Markdown、保存到本地、再调工具上传——每次都要手动来一遍,还得记路径、记命令。

有一次跟 AI 聊完一个话题,觉得内容不错想发出去,结果光是解释"保存到哪个目录、用哪个 Python 脚本上传、脚本怎么调用"就费了不少口舌。说了一次还好,但如果每次都要重复这些,就很没意思了。

技能这个功能的触发点就在这里:把「环境配置 + 操作流程」固化下来,让 AI 记住,以后直接用。

技能是什么,原理是什么

在动手之前,我先弄清楚了技能的工作原理。简单说,技能就是一个放在固定目录下的文件夹,里面有一个核心文件 SKILL.md,记录了这项技能的说明、适用场景、以及 AI 应该怎么操作。AI 在判断用户意图时,会自动检测有没有匹配的技能可以加载,加载后就等于获得了这份「说明书」,知道该怎么干。

除了说明书,技能目录里还可以放脚本(scripts)、参考文档(references)和资产文件(assets)。对于我这个需求,最关键的就是一个封装好的上传脚本,把每次都要重复处理的路径问题、编码问题、目录切换问题统一解决掉。

动手过程

第一步:初始化技能目录

WorkBuddy 提供了一个初始化脚本,可以一键生成技能的标准目录结构,包括 SKILL.md 模板和各个子目录。这一步本来应该很顺,但在 Windows 上遇到了第一个坑:PowerShell 对中文路径处理有问题,路径里包含中文字符就报错"文件名、目录名或卷标语法不正确"。

解决办法是绕过 PowerShell,改用 cmd /c 或者写一个临时 bat 文件来执行,这套思路贯穿了整个过程。

第二步:写 SKILL.md

这是技能的核心。我在里面写了:

  • 用户环境的固定配置(Python 路径、工具目录、Markdown 保存目录)
  • 标准的四步工作流:撰写文章 → 保存文件 → 执行上传脚本 → 反馈结果
  • 博客写作规范(标题格式、语气要求、结尾处理等)
  • 常见问题处理方式(比如缺包怎么装、标题重复怎么办)

把这些信息写进 SKILL.md,AI 下次接到"写篇博客发到博客园"这类请求时,就不需要我再解释一遍环境,直接按规范执行。

第三步:封装上传脚本

这里是整个过程里最需要动脑的地方。

用户的上传工具 pycnblog 本身是个 Python 脚本,正常用法是 cd 进工具目录再运行。但在 AI 直接调用时,路径问题、编码问题、工作目录问题都可能让它失败。

我写了一个包装脚本 upload_to_cnblog.py,核心逻辑是:用 Python 的 subprocess.run 调用原始上传脚本,同时显式指定 cwd(工作目录)为工具所在目录,这样就等价于手动 cd 进去再运行,彻底解决了工作目录的问题。

另外,Windows 下 Python 默认控制台编码是 GBK,打印中文路径时会报 UnicodeEncodeError。处理方式是在脚本开头把 sys.stdout 重定向为强制 UTF-8 输出。

第四步:遇到 pyyaml 缺失

第一次真正运行上传流程时,报了 ModuleNotFoundError: No module named 'yaml'。这是因为用户系统上装了多个 Python 环境,而 pycnblog 工具依赖的 pyyaml 只装在了其中一个。

用用户系统里的 Python 3.14 对应的 pip 装上 pyyaml,问题解决。这个步骤也被记录进了 SKILL.md 的"常见问题处理"里,方便以后遇到时直接参考。

验证

技能写完后,我用上一篇刚写好的文章(介绍小龙虾技能与插件原理的那篇)做了测试。

运行封装脚本,输出结果是:

markdown读取成功: ...腾讯小龙虾WorkBuddy技能与插件深度解析.md
无需上传图片
markdown上传成功, 博客标题为'腾讯小龙虾WorkBuddy技能与插件深度解析', 状态为'未发布', 请到博客园后台查看

上传成功,文章以草稿状态出现在博客园后台,标题和内容完全正确。

这篇文章本身就是一次测试

这篇博客,就是用刚装好的 cnblog-publisher 技能生成并上传的。从"开始写"到"上传完成",我只说了一句话:"把你学习这个技能的过程写篇博客发到博客园",剩下的事情——整理内容、组织结构、保存文件、调用脚本——全部由 AI 按技能里定义的流程自动完成。

技能封装的价值就在这里:把「我知道怎么做」变成「AI 也知道怎么做」,然后从此不用再说第二遍。

对于有类似重复流程需求的朋友,推荐试试这个功能。不需要会复杂的编程,把流程用文字写清楚,装进技能目录,就能让 AI 帮你记住并执行。


本文由 WorkBuddy cnblog-publisher 技能自动生成并发布。


过程截图

初次写SKILL

image
image
image
image
image

技能验证

image

image

http://www.jsqmd.com/news/478261/

相关文章:

  • OrchardCore未来发展路线图:2024年值得期待的新功能预览
  • 解决网络丢包难题:LPCNet的PLC技术让语音通话更稳定
  • 深入理解 eBPF:开启内核可编程时代,重塑后端基础设施
  • 如何用csvkit快速解决80%的数据转换难题?从Excel到JSON的完美过渡
  • 探索pdfminer.six的核心功能:从文本提取到布局分析的完整解析
  • 从0到1搭建GitHub City开发环境:超简单安装教程
  • 2026年循环手套箱选购指南:靠谱直销厂家怎么挑?手套箱口碑排行精选实力品牌 - 品牌推荐师
  • PyCaret异常检测:时间序列应用案例
  • 上海宠物口腔溃疡诊疗:如何评估医生专业水平,狗口腔溃疡诊疗/猫咪洗牙/显微牙科/猫咪牙结石,宠物口腔溃疡诊疗医生排行榜单 - 品牌推荐师
  • Laravel Love核心解密:自定义情感类型与加权反应系统详解
  • Stanford Alpaca模型安全标准:行业最佳实践与合规建议
  • Armchair源码解析:关键函数与闭包回调机制详解
  • IP-Adapter架构原理解析:文本兼容图像提示适配器的工作机制
  • HunyuanCustom震撼发布:多模态驱动的定制化视频生成革命,8GB显存即可运行!
  • IPED云取证存储迁移:从一个云服务迁移到另一个的完整指南
  • 分块莫队学习笔记
  • HeliPort核心功能解析:从状态监控到网络管理的全方位体验
  • endlessh-go核心功能解析:如何用Golang实现高效SSH攻击陷阱
  • 终极Agentic发票系统:如何快速实现自动化账单和收据生成
  • yudao-swagger-new-ui:新一代Swagger UI革命性登场,彻底颠覆API文档体验!
  • @tailwindcss/line-clamp配置教程:自定义行数与变体,满足个性化需求
  • AirPodsDesktop终极指南:在Windows和Linux上完美使用苹果耳机
  • G6图可视化与React集成终极指南:5个提升开发效率的实用技巧
  • 终极指南:Guanaco模型的安全过滤——QLoRA微调中的有害内容检测
  • SSHKit与Rake集成:构建自动化部署任务的10个实用示例
  • L2-010 排座位(很好的一题)
  • 25美元AI智能眼镜革命:OpenGlass终极制作指南
  • HTML转PDF工具跨平台安装全攻略:从技术挑战到完美解决方案
  • 让软件开口说你的语言:RunCat多语言本地化实战指南
  • 如何快速掌握LOIC网络压力测试工具:从基础原理到实战应用的完整指南