博文

目前显示的是标签为“Agent开发”的博文

面向Agent开发实例集合 202608

上次分享  面向GPT开发实例集合 还是1月份 大部分开发规模很小, 主要形式是在 chatbot 界面描述需求, 人再把AI输出的代码"搬"到项目里, 人做测试, 把结果发给 GPT, 然后 GPT再输出修改后的产物. 如此循环 ... 现在的面向GPT开发, 都是面向Agent. Agent可以通过API 和 token 操作外部环境, 比如 cloudflare , github 等. Agent可以通过 tool_call 操作 chromium 浏览器. bash终端操作就更不用说了. Agent有较强的识图能力, TA可以看懂GUI界面. 你可以让TA开VNC, 你再连上去, 这样你们看到的是同一个界面, 方便交流. 这样, 面向Agent开发 和 面向chatbot开发 相比, 最大的优势就是, 可以让Agent自己测试最终产物, 大大节约以前人类测试的时间. 特别是, 当你用的不是SOTA模型, 大概率无法(one shot)一次开发成功, 那么让Agent自己测试循环迭代就尤为重要. 这里是我的 面向Agent开发集合  https://crazypeace.eu.org/search/label/Agent开发 值得注意的是, 这里面都没有使用SOTA模型. 用的都是 mimo啊, longcat啊, hy3啊, deepseek-v4-flash啊, 要么就是路边捡别人不要的, 要么就是特别便宜的. 我希望作为一个示例, 让读者们看到, 像这个难度级别的需求开发, 不需要用到最贵的模型, 也就不会有那么大的代价, 也就欢迎更多的人尝试成为创造者, 通过开发, 满足自己的需求. 还有一点我希望读者们看到, 面向Agent开发, 要用一种什么表达方式和Agent交流. 进一步地, 在你自己的大脑里面, 要用一种什么思维方式. 前端是HTML的项目, Agent可以通过 chromium 浏览器进行调试. 如,  <极简翻墙客户端(壳) MDPC-my-dream-proxy-client 增强开发 多内核 单outbound> 需要登录账号的项目, 如果你不放心把密码等信息告诉GPT, 可以让Agent启动VNC, 你连上VNC后完成登录操作, 再让Agent接手继续调试. 如,  <F...

Forkgram Mute All 功能移植到 Telegram Web K版 部署到 Cloudflare Page by Hermes 对接 oc/deepseek-v4-flash-free

图片
前言 有群友问, 手机上有没有 mute all 整个 folder 的功能 我想了一下, ios 或 android APP 太麻烦了, 我们可以利用 web版 telegram. 我试用了一下 A版 和 K版 , 发现K版的 folder 长按是有弹出菜单的, 比较适合进一步开发 面向Agent开发 Hermes 对接 oc/deepseek-v4-flash-free https://crazypeace.eu.org/2026/08/omniroute-hermes-agent-oracle-arm-ubuntu-root-sudo-.html 下面的引用框里面都是我发给Agent的自然语言 把 https://github.com/morethanwords/tweb 项目 clone 到本地, 不要放 tmp 目录,未来会进一步分析. 把这个项目运行起来. 你启动浏览器, 我VNC连上去操作登录账号  到此为止, 开发和测试环境算是搭起来了. 我要在 dialog folder 的右键菜单中添加 一项 "Mute all" 功能是将 folder下所有dialog都设置为 mute forever 具体代码逻辑可以参考 https://github.com/crazypeace/forkgram-tdesktop/tree/feat-mute-all 这个分支对比它的父节点的修改. Agent 说开发完了, 我让TA自己开浏览器进行测试. 最终结果: Github https://github.com/crazypeace/tweb 一种部署方法 1. fork 本项目 2. 在你的 cloudflare 账号中部署 page, 选择连接你的github, 选择你 fork 出来的仓库, 配置: Framework preset: Vite Build command: pnpm install --frozen-lockfile && pnpm build Build output directory: dist Production branch: master 另一种部署方法 1. fork 本项目 2. 给你自己的 github 项目设置 secret CLOUDFLARE_API_TOKEN CLOUD...

Github 设置 API token 为你的Hermes Agent

图片
前言 有时, 你要让Agent帮你提供项目到Github, 再用Github 的 action 跑编译. 如, <从forkgram/tdesktop github action编译 win10 amd64 二进制文件 v6.9.3> https://crazypeace.eu.org/2026/06/forkgram-tdesktop-github-action-win10-amd64.html 有时, 你要Agent保存一份翻墙节点订阅文本到Github gist 上面这些操作都需要一个前提, 你设置好Github的 API token, 让Agent使用. Github 的 API token 可以设置为 repo, workflow, gist 权限. 一般来说够用了. * 以下实践方案都在 Hermes 对接 tencent/hy3:free 的条件下完成 实践1 如果你的Agent运行在你自己的电脑上.  你可以打开chrome浏览器, 登录Github账户. 然后跟你的Agent说, 浏览器当前页面已经登录Github账户, 请你继续操作, 完成新建 repo, workflow, gist 权限的 API token 然后你可以把这个token另外保存好. 也可以告诉Agent保存到TA自己的.env中. 实践2 如果你的Agent运行在2G内存的VPS上. 你可以跟你的Agent说, 启动浏览器, 让我VNC连上去操作登录Github账户. 你完成登录之后, 跟你的Agent说, 浏览器里面已经登录了Github账户, 你接手继续操作, 完成新建 repo, workflow, gist 权限的 API token 然后你可以把这个token另外保存好. 也可以告诉Agent保存到TA自己的.env中. 实践3 如果你的Agent运行在1G内存的VPS上. 这种情况下 Agent 开浏览器 会比较吃力. 你可以让Agent作为一个"教练"指导你具体操作. 我要在Github新建 repo, workflow, gist 权限的 API token 请你指导我一步一步如何操作 在这个过程中, 遇到任何问题, 截图 问Agent, "我应该点哪里?" 实践4 古法手搓 登录你的Github账户 右...

Cloudflare 设置 API token 为你的Hermes Agent

图片
前言 有时, 你在面向Agent开发的时候, 需要Agent帮你测试worker项目 比如, <用 Cloudflare worker 抓取 喷嚏网 浮世汇 生成 RSS> 这样的开发过程 https://crazypeace.eu.org/2026/07/cloudflare-worker-rss.html 有时, 你需要Agent代替你照着教程设置一些worker 或者KV 或者R2 等 比如, <ShareX 将图片上传到 R2对象存储 通过S3上传器> https://crazypeace.eu.org/2026/06/sharex-r2-s3.html 上面这些操作都需要一个前提, 你设置好Cloudflare 的 API token, 让Agent使用. Cloudflare 的 API token 可以设置为这样的权限  Account.API Tokens, User.API Tokens   这样权限的 token 可以创建更小的具体权限的token *以下实践方案都在 Hermes对接tencent/hy3:free 的条件下完成 实践1 如果你的Agent运行在你自己的电脑上.  你可以打开chrome浏览器, 登录cloudlfare账户. 然后跟你的Agent说, 浏览器当前页面已经登录cloudlfare账户, 请你继续操作, 完成新建 Account.API Tokens, User.API Tokens 权限的 API token 然后你可以把这个token另外保存好. 也可以告诉Agent保存到TA自己的.env中. 实践2 如果你的Agent运行在2G内存的VPS上. 你可以跟你的Agent说, 启动浏览器, 让我VNC连上去操作登录Cloudflare账户. 你完成登录之后, 跟你的Agent说, 浏览器里面已经登录了Cloudflare账户, 你接手继续操作, 完成新建 Account.API Tokens, User.API Tokens 权限的 API token 然后你可以把这个token另外保存好. 也可以告诉Agent保存到TA自己的.env中. 实践3 如果你的Agent运行在1G内存的VPS上. 这种情况下 Agent 开浏览器 会比较吃力....

用 Cloudflare worker 抓取 喷嚏网 浮世汇 生成 RSS

图片
前言 我喜欢看  喷嚏网「浮世汇」 和 「图卦」 但是一直以来使用的RSS feed都不稳定, 时好时坏. 于是想自己建一个跑在 cloudflare 的 worker上. 面向Agent开发 Hermes 对接 grok-4.5 下面的引用框里面都是我发给Agent的自然语言 我要创建一个 cloudflare 的 API token, 这个 token 有最大的权限, 可以用来创建各种小权限的 API token. 告诉我应该怎样一步一步操作. * 我的agent跑在VPS上, 所以我只能这么干. 遇到问题可以截图发给Agent问应该点哪里. 如果你的Agent跑在你自己电脑上, 你让Agent自己操作电脑的浏览器就行了. 你应该创建这么一个API token 关键注意权限 Account.API Tokens, User.API Tokens 这个cloudflare token 有 Account.API Tokens, User.API Tokens 的权限  cfut_************************************************ 在你自己的 .env 文件中保存好 新建一个 cloudflare  worker , 测试能否获取 这个页面的内容 https://www.dapenti.com/blog/blog-responsive-new.asp?subjectid=184&name=xilei  Agent返回的结果看起来正常 我现在需要你通过 这个 worker 生成 RSS 输出  一会儿Agent就完成了 用浏览器和RSS软件试了一下, 正常. 接下来, 做一些优化. 改造为定时触发 生成RSS, 定时每天0:00生成. 生成的RSS结果保存在KV中, 每次访问从KV中读取结果. 全文 HTML + 短 description (500字) 条数降到 10 篇全文 ======== 完 Github https://github.com/crazypeace/rss-worker

从forkgram/tdesktop github action编译 win10 amd64 二进制文件 v6.9.4

前言 准备把我在 forkgram 上实施的这些修改提交到 源项目时, telegram 发布 v6.9.4了, forkgram也同步了. 这时, 我发现, 我之前能 编译win10 amd64的yml 编译失败了. 面向Agent开发 创建 github token 略. 建议申请 你自己的 api_id, api_hash 略. 下面的引用框里面都是我发给Agent的自然语言 在 https://github.com/crazypeace/forkgram-tdesktop 项目上开一个branch for-forkgram-v6.9.4 把 https://github.com/forkgram/tdesktop 项目的代码 复制到这个branch上. 所有用来编译项目的yml都设置为手动触发. 建一个编译 win10 amd64 的 yml, 只编译这个branch 用 后台脚本 监控github action 的编译结果. 当编译结果出来之后, 如果编译失败, 分析原因, 修正问题, 开始新的编译, 继续用 后台脚本监控github action 的编译结果. Hermes 对接 Hy3 (hermes 官方送的) 干了1天多, 没成功. Hermes 对接 mimo-v2.5(pro) * 刚好这两天在Linux.do捡到了别人用不完的mimo 干了很久, 成功完成编译 Github https://github.com/crazypeace/forkgram-tdesktop/blob/for-forkgram-v6.9.4-new/.github/workflows/win.yml

改进 TeleFolders 一个方便修改电报Telegram对话分组Folder的工具

前言 我的Telegram加入了许多群组. 所以, 我需要管理对话分组Folder. 在github上面已经有一个项目 Noradrenalin-team/TeleFolders 但是这个项目只实现了基本功能, 用起来还是有些不方便. 面向 Agent 开发 Hermes 对接 longcat-2.0 * mimo这一波白嫖token没了, 路边只能捡到longcat了 longcat-2.0 对比 mimo-v2.5 (pro) 能力要弱一个级别, 所以整个过程并不那么顺利, 我就不贴  咒语(prompt)了 开发成果 界面支持英语 (原项目为俄语) 实现 创建对话分组Folder 的功能 (原项目只有个功能入口) 设置 archived, personal, bot, group, channel 过滤器 (原项目只有 archived 显示/隐藏) CSV 导出 / 导入 Github https://github.com/crazypeace/TeleFolders ======== 后记 longcat-2.0 我的使用体感有点像 之前 hermes 提供免费用的 mimo-v2 (不是v2.5) longcat-2.0 许愿(one-shot)的效果并不好. 推荐你先让TA出设计方案, 然后你审视这个方案, 优化或者推翻这个方案, 或者找更高智能的模型出方案. 再让TA实施. 当你与 agent 讨论过多个方案后, 让agent把你决定要用的方案总结 为 .md 文件, 你再扫一眼. 然后让agent 按.md文件实施.  避免agent没听明白你最终选择的是哪个方案, 也避免长时间实施过程中, 注意力飘移, 转去尝试其它讨论过的方案. * 跟对接什么模型有关, mimo-v2.5(pro)的效果要更好一些, 没这么麻烦, 用自然语言就能指挥, 能听懂你选择的是哪一个方案. longcat-2.0有机率在做任务A时, 把任务B的正确的结果破坏了. 所以, 在验证功能满足要求后, 要提交github (我知道可以本地git, 但面对小白, 就不搞这么复杂了. 而且担心万一agent把本地整个目录删了呢?) 如果你突然发现, 哎呀, 现在在做任务A, 怎么任务B的效果没了/坏了?  你可以找到任务B正确/正常 的commit,...

修改 forkgram/tdesktop 实现 设置全体群组和channel 静音 mute all

图片
前言 我加了很多群和频道, 我喜欢设置群和频道为静音状态. 但是, 一个一个右键菜单设置也太费操作了. 那么, 有没有什么批量设置的方法呢? 面向Agent开发 Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branch feat-mute-all 新建一个yml文件, 基于这个branch编译 分析 对话分组Folder 右键菜单  Mark as read 的工作流程 分析 单个对话 右键菜单 Mute forver 的工作流程 在 对话分组Folder 右键菜单 添加一个新功能 "Mute All" 工作流程是遍历这个对话分组Folder 中的每个对话, 设置"Mute forever" 测试1 启动程序, 测试. 发现没有生成新功能. 向Agent反馈测试结果, Agent说 Folder 在侧边栏和顶部 是不同的代码, 刚刚的修改是针对顶部的.  于是又为了侧边栏添加代码, 增加功能入口. 效果 Github https://github.com/crazypeace/forkgram-tdesktop/tree/feat-mute-all

修改 forkgram/tdesktop 实现 有@我消息的群 置顶 效果和PrimaryUnmutedMessages一样

图片
前言 Forkgram 有个功能 PrimaryUnmutedMessages 很适合对于一些群, 有任何新消息你都重点关注. 如, 但是我有一种情况, 我不关注这个群的每条新消息, 我只关注这个群里面 @我的消息. 怎么办呢? 面向Agent开发 Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branch at-me-on-top 新建一个yml文件, 基于这个branch编译 分析 forkgram 在显示对话分组时的代码逻辑 着重分析, 如何知道  对话是否在分组中置顶,  对话有多少未读,  对话是否设置为mute, 对话中是否有人react emoji给我, 对话中是否有人at我. 分析 在显示对话分组时的排序优先级 Agent反馈:  当群组中有人@我时, 产生和 PrimaryUnmutedMessages 一样的效果 Agent反馈:  同意 方案A, 请实施. 但 Agent 实际上干活又不是方案A的修改, 改了另一个地方. 效果  可以看到除了原有的未读群组置顶的效果以外, 还增加了 @我消息的群 置顶的效果. Github  https://github.com/crazypeace/forkgram-tdesktop/tree/at-me-on-top

修改 forkgram/tdesktop 实现不查看某人的头像

图片
前言 某些人的头像18X 或者 是那种闪来闪去的动图 瞎眼睛. 所以需要屏蔽显示头像. 面向Agent开发1 Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branch ban-avatar-pic 新建一个yml文件, 基于这个branch编译 分析代码 显示 avatar 图片的场景. 包括但不限于: 在群消息中显示, 在profile窗口显示, 在profile窗口点了avatar图片后全屏显示 讨论, 如果我希望某个用户的avatar图片显示时, 就和没有设置avatar图片一样的处理逻辑. 最高效的修改方式是怎样的? Agent反馈:  采用 方案 A:在 PeerData 层拦截, 判断方式为该用户是否被blocked.  * 我就用 blocked 用户列表简单演示一下基本功能.  效果 群消息还显示头像, 点开 profile 窗口也显示头像.  不过profile 窗口的头像点不出来全屏显示了. 面向Agent开发2 向 Agent 描述了测试结果. Agent又分析了一圈, 说还有个函数要改. 效果 一打开群链接, 看到了群消息, 是能看到应该屏蔽的头像图片的. 但是点击 群消息的头像, 打开 profile 窗口之后, 头像就按未设置的样子显示了, 群消息里也不显示头像了. 面向Agent开发3 向 Agent 描述了测试结果. Agent又分析了一圈, 说 用户的 blocked 状态是慢加载的. 我换了一种方法验证. 先打开 Settings - Privacy and Security - Blocked users 加载了 blocked 用户列表后. 再打开群链接, 就能看到群消息的头像是按期望被屏蔽的. * 好吧. 只是演示一下基本功能, 我决定就做到这个样子为止了. 演示效果 Github https://github.com/crazypeace/forkgram-tdesktop/tree/ban-avatar-pic

修改 forkgram/tdesktop 移植 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users)

图片
前言 我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号. 所以我想把这个特定的功能 移植 到 Forkgram 上面. 面向Agent开发 Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 分析  Ayugram  项目 分析 https://github.com/AyuGram/AyuGramDesktop 与 源项目的不同之处, 哪些代码实现了过滤用户发言的功能? 聚焦  隐藏被屏蔽用户消息 这一功能, 分析完整的功能实现流程, 注明涉及的源文件及行数 把你分析的内容总结 为 .md 报告 在  Forkgram  上面开发 在 https://github.com/crazypeace/forkgram-tdesktop 新开一个 branch feat-hide-msg-from-blocked-users 新建一个yml文件, 基于这个branch编译 在 feat-hide-msg-from-blocked-users 分支上进行开发 功能: 在群组消息显示时, 屏蔽某个用户消息(Fully Hide Messages from Blocked Users) 参考分析报告 /root/ayugram-filter-analysis.md Agent反馈:  同意你的修改方案,  实施优先级改动一下:  优先级 1  isHidden() - 主入口                 resizeContentGetHeight() - 已有检查 优先级 2  notificationText() - 通知预览  reply/quote - 回复引用         dialogs_layout - 对话预览      优先级 3 send_action - 输入状态...

从forkgram/tdesktop github action编译 win10 amd64 二进制文件 v6.9.3

图片
前言 我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号. 所以我想把这个特定的功能 移植 到 Forkgram 上面. 第一步当然是 从forkgram/tdesktop github repo编译 win10 amd64 二进制文件 不过, 这个过程并没有我想象中的顺利, 所以我单独保存为一篇blog 实践 Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 https://github.com/crazypeace/forkgram-tdesktop 是 对 https://github.com/forkgram/tdesktop 的一份 fork 你调用项目中的 github action 编译一份 win10 amd64 环境的二进制 我以为项目里的action应该是成功的, 但其实是失败的. 而且每编译一次需要的时间还不短(1.5h 到 2h) 在此, 记录一些重要的交互 你会用到下面这些数据, 这些数据只能写到 github secret 里, 不能暴露在项目中. App api_id: xxxxxxxxx App api_hash: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 不考虑 win7 兼容性, 只考虑 win10 amd64环境 过程中还有一些其它修正, 但是我是让 Agent 自己去根据报错信息自己修正的. 最终的 action 文件 https://github.com/crazypeace/forkgram-tdesktop/blob/dev/.github/workflows/win.yml ======== 后记 全新编译需要时间  4h 19m 33s 修改代码后的再次编译 (利用以前编译的action cache) 时间  2h 3m 11s 理论上说, 小改了一下代码再编译不应该要这么久. 我在 VPS 上改动代码后再编译也不需要这么久.  不知道 github action 文件需要做哪些设置. 我已经问了一遍 免费版的国内AI了, 没有...

修改 telegram 弹出emoji窗口的大小

图片
前言 之前 我们实现了编译 forkgram/tdesktop https://crazypeace.eu.org/2026/06/oracle-arm-vps-2cpu-12ram-47hdd-forkgram-tdesktop-aqtinstall-qt.html https://crazypeace.eu.org/2026/06/2g-x86-vps-forkgram-tdesktop-swap-8g.html 那么, 实验一下能不能用自然语言指挥 Agent 帮我修改 telegram 吧! 比如, 鼠标移到emoji按钮上时, 自动弹窗, 我想让这个弹窗高度是现有的一半, 宽度是现有的2/3. 面向Agent开发 先完成 forkgram/tdesktop 项目的编译, 略. Herems 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 把 telegram运行起来, 截个图看看. Agent 装了 Xvfb, 截了个图 开个VNC, 让我连上去操作 Agent开了个VNC, 我连上去, 完成登录Telegram账户的操作. 现在我已经登录了, 你看一下界面 Agent 说看到了.  注意界面右下角的 emoji 按钮, 它在语音输入按钮的左边 当我把鼠标移到 emoji 按钮上时, 会弹出一个 emoji, stiker, gif 选择窗口. 我需要你修改 forkgram 的代码, 将这个弹出窗口的高度改为原来的 1/2, 宽度改为原来的 2/3 Agent 开始分析代码, ... , 说"找到了!定义在 chat_helpers.style 文件中: 现在修改尺寸: - 宽度: 345px × 2/3 = 230px - 最小高度: 278px ÷ 2 = 139px - 最大高度: 640px ÷ 2 = 320px" 改完之后, 让Agent编译生成新的二进制文件, 运行起来, 开VNC让我操作. 验收效果: 完

The Hot3 in Last 7 Days

用 Cloudflare worker 抓取 喷嚏网 浮世汇 生成 RSS

极简一键脚本 搭NaiveProxy梯子 自定义端口 与Caddy V2前置的VLESS/Vmess V2Ray共存 可开CDN

Cloudflare 设置 API token 为你的Hermes Agent