为什么你觉得 AI 傻傻的?
先说结论很多时候,不是 AI 真的傻,而是你把它当成了“会读心的万能员工”。 你只给它一句: 1帮我写一篇文章。 然后期待它知道: 写给谁看 用什么语气 多长合适 要不要有观点 要不要带案例 哪些话不能说 最后用什么格式交付 这就像你对一个新同事说:“你去把这事处理一下。”他反问你处理到什么程度,你又觉得他不聪明。 AI 很强,但它不是读心术。它更像一个能力很强、反应很快、但需要你讲清任务边界的助手。 AI 为什么看起来傻?最常见有 5 个原因。 1. 你给的任务太模糊比如: 1帮我优化一下这段话。 这句话看起来没问题,但 AI 不知道你要优化什么: 更短? 更有销售感? 更口语? 更专业? 更适合公众号? 更适合发朋友圈? 更像老板说的话? 所以它只能给一个平均答案。平均答案通常就会显得很空、很滑、很 AI。 更好的写法是: 123456789请把下面这段话改成适合公众号开头的版本。要求:1. 100 字以内2. 语气像一个懂技术但不端着的朋友3. 不要使用“在当今时代”“综上所述”这类 AI 腔4. 开头要让读者知道:为什么这件事和他有关原文:【粘贴原文】 ...
Codex、Claude Code、Cursor、Copilot、Windsurf、Devin、Antigravity,我到底应该怎么选?
先给结论 这篇文章不做玄学排名,只从实际使用场景出发,把常见 AI 编程工具拆开讲清楚:谁适合当主力,谁适合做辅助,什么时候该上 Agent。 如果你只想要一句话: 想把任务交给 AI 去改仓库、跑命令、出文件:选 Codex 想在终端里让 AI 深度理解代码、做复杂改动:选 Claude Code 想在编辑器里边写边改,体验最顺:选 Cursor 公司已经在 GitHub 里协作,想要权限、PR、Issue、审计都顺:选 GitHub Copilot 想试一个 AI IDE,预算有限,又想用多模型和 Cascade:可以试 Windsurf 想要更“自动员工”式的异步开发:看 Devin 想试 Google 的 agent-first IDE:看 Antigravity 想把想法先变规格,再变代码:看 Kiro 别问“哪个最强”。更靠谱的问题是:你主要在哪里写代码、要不要改整个项目、能不能接受按量计费、团队需不需要管理权限。 很多人看到这里,可能已经开始一头雾水了:一会儿 Codex,一会儿 Claude Code,一会儿 Cursor;刚弄明白模型,又冒出来 Agen...
AI 焦虑,和 AI 真正适合做什么
最近经常能看到一个词:AI 焦虑。 有人担心自己会不会被 AI 取代,有人担心再不学 AI 就落后了,也有人每天刷到各种“一个人干掉一个团队”“十分钟做出一个产品”的内容,看多了之后更焦虑。 但我自己折腾下来,AI 确实很神,但是没那么可怕。 在我看来,至少是现在看来它更像是一个把“试一试”的成本大幅降低的工具。 很多事情不是做不了,而是不值得做很多时候,一个想法卡住,并不是因为技术上完全做不了。 而是因为成本太高。 比如你突然想到一个小工具、一个自动化流程、一个页面、一个脚本,甚至一个内容栏目。真要自己从零开始做,也不是不行,但你会马上开始算账: 1234567要查资料要搭环境要写代码要调 bug要做页面要整理内容还不确定最后有没有用 然后这个想法很可能就停在脑子里了。 不是你不会做,也不是你没有能力做,而是这个东西还没证明值得你投入那么多时间。 这其实挺常见的。 很多需求就是死在“验证成本太高”上。 AI 的价值:降低验证成本 我觉得 AI 很重要的一个作用,就是把这种验证成本降下来。 以前一个想法可能要花一两天才能做出个雏形,现在可能几个小时,甚至几十分钟就能看到一...
用 AI 自动整理 GitHub 热榜,并推送到微信公众号草稿箱
最近折腾了一套小工作流:让 AI 自动抓取 GitHub 最近一周涨星比较快的开源项目,整理成适合微信公众号阅读的文章,再推送到公众号草稿箱。 这套流程目前还在继续完善,源码和文档还没到可以直接丢出来的程度。等后面稳定一点,我会整理到 Git 仓库里。这里先把整体思路记录下来,算是阶段性复盘。 为什么要做这个GitHub Trending 很适合当技术雷达。 但如果每周都手动整理一遍,其实挺麻烦。大概流程是这样: 1234567891011打开 GitHub Trending筛选 weekly记录项目名、star 增长、语言、协议打开项目 README判断适用人群和项目价值写成公众号文章调整排版做封面图上传图片复制到公众号后台预览,再发布 这些步骤里,真正值得花时间的是判断项目有没有价值,以及怎么把它解释给读者听。 至于抓数据、补字段、整理格式、上传草稿这些重复动作,更适合交给脚本和 AI。 我想要的效果很简单:以后只要说一句: 1生成本周 GitHub 涨星榜公众号草稿 后面的事情就自动跑完。 想达到的效果理想状态下,这条工作流需要自动完成这些事: 抓取 GitHu...
如何让搜索引擎收录你的个人网站:Google、Bing 和百度
博客搭好之后,还有一个很现实的问题:搜索引擎怎么才能找到它? 一开始我以为,只要网站能访问,搜索引擎迟早会自己发现。理论上确实有可能,但如果是一个刚上线、没什么外链的新站,那等待时间就很玄学了。 所以更稳的做法是:主动告诉搜索引擎“我这个站点在这里”,并且给它一份 sitemap。 这篇记录一下我给 Hexo 博客接入 Google、Bing 和百度收录的过程,以及中间踩到的一个 Cloudflare Pages 小坑。 先把站点 URL 配好第一步不是去提交搜索引擎,而是先确认 Hexo 的站点地址是对的。 在 Hexo 根目录的 _config.yml 里,把默认的: 1url: http://example.com 改成自己的正式域名: 1url: https://moyudev.dpdns.org 这个很重要。 如果这里还是 example.com,那生成出来的 canonical、文章版权链接、Open Graph 地址、sitemap 链接都可能是错的。搜索引擎看到这些信息,会很迷惑。 添加 robots.txt在 Hexo 的 source 目录下新建: 1...
从零搭建 Hexo 博客,并部署到 Cloudflare Pages
这篇文章记录一下我是怎么从零搭建 Hexo 博客、换上 Butterfly 主题,并最终把它托管到 Cloudflare Pages 的。 中间其实没有什么特别玄学的东西,但有几个地方很容易点错,比如 Cloudflare 现在会把 Workers 和 Pages 放在同一个入口里,如果误进了 Workers 流程,就会看到 wrangler deploy、API token 这些对纯静态博客来说不该出现的配置。 所以这篇就按真实流程写一遍,也顺便记录一些我觉得比较舒服的 Hexo 用法。 准备环境本地需要先准备好 Node.js 和 Git。 Windows 下可以在 PowerShell 里检查: 123node -vnpm -vgit --version 我这里用的是 Node.js 22: 1v22.12.0 如果 PowerShell 提示不能运行 npm.ps1 或 npx.ps1,一般是执行策略限制。临时规避的话,可以在脚本里显式使用: 12npx.cmdnpm.cmd 这样 Windows 批处理里会稳一点。 初始化 Hexo 项目先全局安装 Hexo ...
为什么想建立这个博客
其实很早之前就想弄一个自己的博客了,只是一直拖着没动。 倒也不是没有东西可以写,恰恰相反,很多时候是东西太杂了:折腾过的项目、踩过的坑、临时冒出来的想法、一些后来才发现还挺有价值的经验。只是当时总觉得“以后再整理吧”,然后这个以后就没有然后了。 最遗憾的是,很多东西过去之后就真的记不清了。 当时怎么解决的、为什么这么做、中间试错了哪些方案、最后到底是哪一步救了命,这些细节在脑子里放几天还行,放几个月就开始变成一团雾。等到后来再遇到类似问题,只剩下一句“我以前好像搞过”。 这感觉挺亏的。 当然,还有一个很现实的原因:懒。 很多东西不是不会写,而是懒得写。总觉得记录要写得很完整、很正式、很像一篇文章,结果反而把自己卡住了。后来想想,其实没必要一开始就追求多漂亮。能把当时的过程、想法、坑点留下来,就已经很有价值了。 所以这个博客更像是给自己留的一个备忘录。 它不一定每篇都很严肃,也不一定每篇都有多完整。可能是一次支付方案的整理,可能是一次逆向过程的记录,也可能只是某天突然想明白了一件小事。只要值得留下,就可以写下来。 以前没有记录,确实有点遗憾。 那就从现在开始补上吧。
记一次某云商的 sign 算法逆向
前段时间闲着没事,朋友给我推了一个活动,大概是关于毛子的。刚开始我是拒绝的,后来发现连实名认证都得抢,于是打算用电脑试试。 结果一打开才发现它只支持手机端访问。既然这样,那就顺手抓个包看看。 抓包分析先看抓到的请求: 从请求里能看到一个比较关键的字段:sign。看格式和长度,八九不离十是 MD5。 除了 sign 以外,请求头里还有两个字段: 12noncestrtimestamp timestamp 不用多说,就是时间戳;noncestr 盲猜是随机字符串。这样一来,核心问题就变成了:只要知道它的签名规则,就能模拟这个请求。 小程序解包小程序不像网页,不能直接打开 F12 看源码,所以需要用到 wxappUnpacker 这类小程序分包工具。 小程序包需要先从手机上提取出来,再进行解包分析。 源码分析用 VS Code 打开解包后的源码,直接搜索关键词 noncestr,很快就能定位到加密逻辑附近。 接着继续找 PLMKEY: noncestr 也是有生成规则的,这里当时踩了一个坑: 简单还原一下字符串拼接和签名逻辑,大概是这样: 1234567891011121...
个人账号无法开通当面付时的支付宝 JSAPI 免签支付方案
项目:墨鱼杂货铺目标:在无法开通支付宝“当面付”的情况下,用支付宝小程序 JSAPI 能力实现一套可对接独角数卡的易支付网关。 很多个人开发者或小微场景无法直接开通支付宝“当面付”。这时,如果账号拥有支付宝小程序能力,可以换一种思路:不走当面付扫码支付,而是让用户扫码打开小程序,并在小程序内通过官方 JSAPI 支付完成收款。 这里说的“免签”不是监听个人收款码,也不是绕过支付宝风控,而是不用“当面付”产品,改用官方的小程序 JSAPI 支付能力完成收款闭环。 背景独角数卡这类发卡系统通常更习惯对接“易支付”协议,标准流程类似这样: 1独角数卡 -> 易支付网关 -> 用户付款 -> 网关异步通知独角数卡 如果没有当面付权限,常见的扫码支付接口无法直接使用。但如果账号拥有支付宝小程序能力,就可以在小程序内调用 JSAPI 支付: 123my.tradePay({ tradeNO: tradeNo}) 本项目采用的整体思路如下: 12345678独角数卡发起易支付订单 -> Service 生成一个带订单号的小程序跳转...


