当前为ICDYCT / 我能, 你也行 / I Can Do, You Can Too的博客内容。查看全部
  • crazypeace
    前言准备把我在 forkgram 上实施的这些修改提交到 源项目时, telegram 发布 v6.9.4了, forkgram也同步了.这时, 我发现, 我之前能编译win10 amd64的yml编译失败了.面向Agent开发创建 github token 略.建议申请 你自己的 api_id, api_hash 略.在 https://github.com/crazypeace/forkgram-tdesktop 项目上开一个branchfor-forkgram-v6.9.4把 https://github.com/forkgram/tdesktop 项目的代码 复制到这个branch上.所有用来编译项目的yml都设置为手动触发.建一个编译 win10 amd64 的 yml, 只编译这个branch用 后台脚本 监控github action 的编译结果.当编译结果出来之后, 如果编译失败, 分析原因, 修正问题, 开始新的编译, 继续用 后台脚本监控github action 的编译结果.Hermes 对接 Hy3 (hermes 官方送的)干了1天多, 没成功.Hermes …
  • crazypeace2
    TeleFolders 一个方便修改电报Telegram对话分组Folder的工具https://github.com/crazypeace/TeleFolders安装下载项目源码, 解压. (或者你 git clone也可以)pip安装需要的库pip install telethon eel pysocks 启动后端* 推荐 申请 你自己的 api_id, api_hashhttps://my.telegram.org/在项目解压的目录中运行python -m telefolders --api_id 611335 --api_hash d524b414d21f4d37f08684c1df41ac9c --proxy "socks5://localhost:1080"其中, api_id, api_hash 推荐使用你自己申请的, proxy 按需使用.启动前端用浏览器访问 http://localhost:8000/main.html提示你输入电话号码按提示, 一步一步完成登录过程.你会需要在已登录设备上接收 验证码login code, 需要输入2FA密码(如果你设置了的话)登录…
  • crazypeace1
    前言我的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 导出 / 导入Githubhttps://github.com/crazypeace/TeleFolders========后记longcat-2.0 我的使用体感有点像 之前 hermes 提供免费用的 mimo-v2 (不是v2.5)longcat-2.…
  • crazypeace
    前言我加了很多群和频道, 我喜欢设置群和频道为静音状态.但是, 一个一个右键菜单设置也太费操作了.那么, 有没有什么批量设置的方法呢?面向GPT开发Herems 对接 mimo-v2.5-pro在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branchfeat-mute-all新建一个yml文件, 基于这个branch编译分析 对话分组Folder 右键菜单 Mark as read 的工作流程分析 单个对话 右键菜单 Mute forver 的工作流程在 对话分组Folder 右键菜单 添加一个新功能 "Mute All"工作流程是遍历这个对话分组Folder 中的每个对话, 设置"Mute forever"测试1启动程序, 测试. 发现没有生成新功能.向Agent反馈测试结果, Agent说 Folder 在侧边栏和顶部 是不同的代码, 刚刚的修改是针对顶部的. 于是又为了侧边栏添加代码, 增加功能入口.效果Githubhttps://github.com/crazypeace/forkgram-tdes…
  • crazypeace1
    前言Forkgram 有个功能 PrimaryUnmutedMessages很适合对于一些群, 有任何新消息你都重点关注. 如,但是我有一种情况, 我不关注这个群的每条新消息, 我只关注这个群里面 @我的消息. 怎么办呢?面向GPT开发Herems 对接 mimo-v2.5-pro在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branchat-me-on-top新建一个yml文件, 基于这个branch编译分析 forkgram 在显示对话分组时的代码逻辑着重分析, 如何知道 对话是否在分组中置顶, 对话有多少未读, 对话是否设置为mute,对话中是否有人react emoji给我,对话中是否有人at我.分析 在显示对话分组时的排序优先级当群组中有人@我时, 产生和 PrimaryUnmutedMessages 一样的效果同意 方案A, 请实施.但 Agent 实际上干活又不是方案A的修改, 改了另一个地方.效果 可以看到除了原有的未读群组置顶的效果以外, 还增加了 @我消息的群 置顶的效果.Github h…
  • crazypeace
    前言某些人的头像18X 或者 是那种闪来闪去的动图 瞎眼睛.所以需要屏蔽显示头像.面向GPT开发1Herems 对接 mimo-v2.5-pro在 https://github.com/crazypeace/forkgram-tdesktop 基于 dev 新开一个 branchban-avatar-pic新建一个yml文件, 基于这个branch编译分析代码 显示 avatar 图片的场景.包括但不限于:在群消息中显示,在profile窗口显示,在profile窗口点了avatar图片后全屏显示讨论, 如果我希望某个用户的avatar图片显示时, 就和没有设置avatar图片一样的处理逻辑. 最高效的修改方式是怎样的?采用 方案 A:在 PeerData 层拦截,判断方式为该用户是否被blocked. * 我就用 blocked 用户列表简单演示一下基本功能. 效果群消息还显示头像, 点开 profile 窗口也显示头像. 不过profile 窗口的头像点不出来全屏显示了.面向GPT开发2向 Agent 描述了测试结果.Agent又分析了一圈, 说还有个函数要改.效果一打开群链接, …
  • crazypeace1
    前言我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号.所以我想把这个特定的功能 移植 到 Forkgram 上面.面向GPT开发Herems 对接 mimo-v2.5-pro分析 Ayugram 项目分析 https://github.com/AyuGram/AyuGramDesktop 与 源项目的不同之处,哪些代码实现了过滤用户发言的功能?聚焦 隐藏被屏蔽用户消息 这一功能,分析完整的功能实现流程, 注明涉及的源文件及行数把你分析的内容总结 为 .md 报告在 Forkgram 上面开发在 https://github.com/crazypeace/forkgram-tdesktop 新开一个 branchfeat-hide-msg-from-blocked-users新建一个yml文件, 基于这个branch编译在 feat-hide-msg-from-blocked-users 分支上进行开发功能: 在群组消…
  • crazypeace
    前言我想使用 Ayugram 的屏蔽某个用户消息的功能(Fully Hide Messages from Blocked Users). 但是觉得Ayugram对原版的修改太多, 而且有些功能明显与原版对着干, 担心被封账号.所以我想把这个特定的功能 移植 到 Forkgram 上面.第一步当然是从forkgram/tdesktop github repo编译 win10 amd64 二进制文件不过, 这个过程并没有我想象中的顺利, 所以我单独保存为一篇blog实践Herems 对接 mimo-v2.5-prohttps://github.com/crazypeace/forkgram-tdesktop 是 对 https://github.com/forkgram/tdesktop 的一份 fork你调用项目中的 github action 编译一份 win10 amd64 环境的二进制我以为项目里的action应该是成功的, 但其实是失败的. 而且每编译一次需要的时间还不短(1.5h 到 2h)在此, 记录一些重要的交互你会用到下面这些数据, 这些数据只能写到 github sec…
  • crazypeace
    前言之前 我们实现了编译 forkgram/tdesktophttps://zelikk.blogspot.com/2026/06/oracle-arm-vps-2cpu-12ram-47hdd-forkgram-tdesktop-aqtinstall-qt.htmlhttps://zelikk.blogspot.com/2026/06/2g-x86-vps-forkgram-tdesktop-swap-8g.html那么, 实验一下能不能用自然语言指挥 Agent 帮我修改 telegram 吧!比如, 鼠标移到emoji按钮上时, 自动弹窗, 我想让这个弹窗高度是现有的一半, 宽度是现有的2/3.面向GPT开发先完成 forkgram/tdesktop 项目的编译, 略.Herems 对接 mimo-v2.5-pro把 telegram运行起来, 截个图看看.Agent 装了 Xvfb, 截了个图开个VNC, 让我连上去操作Agent开了个VNC, 我连上去, 完成登录Telegram账户的操作.现在我已经登录了, 你看一下界面Agent 说看到了. 注意界面右下角的 emoji …
  • crazypeace3
    前言我的VPS配置2 vCPU 2GB RAM120GB Disk想编译 https://github.com/forkgram/tdesktop 项目面向GPT开发Hermes 对接 mimo-v2.5-pro把 https://github.com/forkgram/tdesktop clone到本地, 并完成编译尝试了几次, 总是失败分析一下你做过了什么, 得到什么结果发现需要 40+ 外部库 (ada, openssl, ffmpeg, qt, webrtc...)这些库需要预先编译安装到 /usr/local 或 ../Libraries- 这个过程只能全部成功或全部失败吗? 能不能一个一个编译?Agent 改为一个一个编译.结果在编译 qtgui 的时候内存爆了, 编译中止.后来 agent 找到办法, 安装Qt, 然后 DESKTOP_APP_USE_PACKAGED=ONQt就不用编译了.然后, 完成了 tg_owt (WebRTC) 的编译.但还是, 在最终生成 telegram 时内存爆了.尝试 方案 改大 swap 空间改成 4GB, 还是爆内存改成 8GB, 编…
  • crazypeace2
    我非常幸运, 是先看到了消息说 {有人更换了gmail前缀后, 在google一键登录的网站被认为是新用户}, 然后才可以 {更换gmail前缀} 的所以我今天是这么干的:* 假设我原来的gmail是 [email protected], 我想改为 [email protected]. 找到哪些网站被google一键登录了https://myaccount.google.com/connections特别是, 有些奇怪的, 你从 名字 并不能知道是哪个网站使用了google一键登录. 需要点击一下"查看详情"看到网站的域名2. 去这个网站登录, 然后添加 [email protected] 邮箱登录3. 在这个网站关闭 google 一键登录* 建议网站的页面不要关了, 一会儿还要用* 对于所有你觉得有数据需要关联的重要网站, 重复 第 2, 3 步4. 换gmail前缀 [email protected]://myaccount.google.com/google-account-email这时, [email protected][email protected] 同时存在, 同时可用5. 去网站修改登录邮箱为…
  • crazypeace
    前言我的 Oracle ARM VPS 配置:2核 CPU12G 内存47G 硬盘想编译 https://github.com/forkgram/tdesktop 项目面向GPT开发Hermes 对接 mimo-v2.5-pro把 https://github.com/forkgram/tdesktop clone到本地, 并完成编译第1次编译 失败 原因 硬盘空间不够记录解决方案新开了一个session, 让Hermes 分析硬盘空间占用, 把一些其它项目的环境删了, 把一些可以移动的数据 打包搬到其它VPS上暂存.清理出来 25G 硬盘剩余空间.第2次编译 失败 原因 硬盘空间不够解决方案新开了一个 session, 让 Hermes 到互联网上去找一下相关资料, 有没有人遇到过同样的 telegram desktop 编译失败的情况.Hermes 找来找去, 找到一个解决方案. 直接用aqtinstall安装(而不是编译) QT 6.11.1, 然后用 .so 动态链接第3次编译 成功用时 约5小时内存峰值 约9GB (整个系统)硬盘占用 约10GB (只统计编译相关的) (Qt…
  • crazypeace
    前言之前我们实现了 用自然语言指导Hermes去掉xray对allowInsecure的报错那么, 能不能进一步的, 去掉v2rayNG对allowInsecure的报错?面向GPT开发Hermes 对接 mimo-v2.5-pro以下内容为向 Agent 发的自然语言 把 https://github.com/2dust/v2rayNg 按最新 release tag clone 到本地, 不要放 tmp 目录, 未来有长期分析任务对项目全量代码进行分析Agent的报告显示, AndroidLibXrayLite/ 是 xray-core那么, 我们进一步地询问AndroidLibXrayLite/ 在项目中是源码, 还是从外部引用现成的结果?Agent的分析报告显示, AndroidLibXrayLite/ 指向 2dust/AndroidLibXrayLite 这个项目生成的结果.那么, 我们进一步地询问对比分析 github 2dust/AndroidLibXrayLite 和 xtls/xray-coreAgent的分析报告显示, AndroidLibXrayLite 项目包…
  • crazypeace
    前言我们已经实现了用自然语言指导 Hermes 对接 mimo-v2.5-pro 帮我们裁剪 xray那么, 对原版xray做个小改动不是应该更轻松吗? 之前xray对allowInsecure报错影响了很多人.如果我们对xray原版小改一下, 不报这个错呢?面向GPT开发Hermes 对接 mimo-v2.5-pro以下内容为向 Agent 发的自然语言 准备对 https://github.com/xtls/Xray-core/ 项目做一个小改动.你把项目按最新 release tag clone 到本地, 不要放 tmp 目录, 会有进一步的分析和修改.我们发过去写好了客户端hy2出站的配置文件 当我加载这一份 客户端 配置文件时, 报错Failed to start: main: failed to load config files: [configTest5399724284136231556.json] > infra/conf: failed to build outbound config with tag proxy10829 > infra/conf:…
  • crazypeace
    前言之前 面向GPT开发 做了 MDPC 翻墙客户端把翻墙内核装进去后, 一看整个目录, 体积还挺大的.我就想, 既然我只用这几个协议, 那么我把内核裁剪一下能省多少体积呢?放在以前, 知道这个事情是有可能性的, 内核代码都开源的嘛, 但是根本不敢动手. 现在这个时代, 人人都有赛博打工人了, 就让我们动动嘴吧! 面向GPT开发Hermes 对接 mimo-v2.5-pro 以下内容为向 Agent 发的自然语言 把项目 https://github.com/XTLS/Xray-core 按最新 release tag clone到本地, 不要放 tmp 目录, 未来要进一步工作. 全量分析学习一下项目代码, 特别是 reality 协议相关的.Agent 分析了一大堆. 我们不看. 发过去写好了客户端reality出站的配置文件. 我要对这个项目进行裁剪, 只需要能满足这套配置文件.请进行分析. Agent 分析了一大堆. 我们不看. 同意, 实施.然后 Agent 忙啊忙啊, 说完成了. 我们提醒TA用刚刚发的配置文件验证. 测试 配置中设定的 socks代理, http代理 能不…
  • crazypeace
    前言之前 面向GPT开发 做了 MDPC 翻墙客户端把翻墙内核装进去后, 一看整个目录, 体积还挺大的.我就想, 既然我只用这几个协议, 那么我把内核裁剪一下能省多少体积呢?放在以前, 知道这个事情是有可能性的, 内核代码都开源的嘛, 但是根本不敢动手. 现在这个时代, 人人都有赛博打工人了, 就让我们动动嘴吧!面向GPT开发Hermes 对接 mimo-v2.5-pro 以下内容为向 Agent 发的自然语言 分析 sing-box 项目 https://github.com/SagerNet/sing-box , 如果只需要支持 客户端 出站 anytls 协议, 代码可以裁剪吗?Agent 回复了一堆代码分析报告, 我们人不看的, 当作TA自己工作的上下文环境.Agent 提到几个问题, 需要我们回复一下. 本地入站 -- 需要支持本地 SOCKS5/HTTP 入站用 build tag 条件编译Agent 又分析了一大堆. 我们不看. 发过去写好了客户端anytls出站的配置文件.裁剪编译之后 的程序要能使用这一套配置文件.你再进一步分析确认一下Agent 又分析了一大堆. 我…
  • crazypeace
    Hermes 对接 mimo-v2.5-pro先用自然语言让 Agent 搭一个 sing-box 内核的 anytls 协议节点.搭建 一个 sing-box 的 anytls 协议服务端.要求自签证书 learn.microsoft.com, 端口 2083其它参数从简这是结果然后让 Agent 写一个极简一键脚本总结你刚刚搭建 anytls 服务端节点的过程, 生成一个 .sh 脚本文件.如果直接执行, 就用默认值搭建节点.同时也支持用环境变量设置一些关键参数.这是结果========Githubhttps://github.com/crazypeace/sing-box-anytls去掉v2rayNG对allowInsecure的报错 https://zelikk.blogspot.com/2026/06/v2rayng-allow-insecure.html | 去掉v2rayN对allowInsecure的报错 https://zelikk.blogspot.com/2026/06/xray-allow-insecure.html | 欢迎来我的TG群交流 https://…
  • crazypeace
    前言我们已经让 ShareX 用 S3 API 对接了 R2 的对象存储.但 R2 的管理页面并不那么直观地看到图片预览.我们可以用 worker 来管理实践考虑到图片可能会很多, 很大, 推荐设置 Cloudflare 的 Image Transformation 功能首先, 你需要有一个托管在cloudflare的域名.打开 Image Transformation 功能给 R2 设置自定义域名还记得这个页面吗?输入一个你的域名的子域名. 如, r2test.xxxx.xxxx过一会儿, 会变成这个样子, 说明生效了.设置 CORS 策略[ { "AllowedOrigins": [ "*" ], "AllowedMethods": [ "PUT", "GET", "HEAD", "DELETE" ], "AllowedHeaders": [ "*" ] }]* 注, 说实话这里有一点点粗暴, 但是问题不大. 你现在的R2的一些信息在 ShareX 的 S3 上传器页面.Access key IDSecret access keyEndpointBucket nameCustom …
  • crazypeace
    前言我一直在使用 ShareX 截图软件, 支持S3 API接口上传到图床在nodeseek发贴需要自己准备图床Cloudflare 的 R2 对象存储支持S3 API接口那么, 让 ShareX 将图片上传到 R2对象存储 吧!申请Cloudflare账号,略。小白面向AgentHermes 对接 mimo-v2.5-pro全面学习 cloudflare 的 api 和 token 文档.我需要你通过 api 来完成接下来的工作我要让你帮我创建Cloudflare 的 R2 对象存储指导我如何申请Cloudflare 的API token 让你有操作授权创建新的 Bucketr2test-1这个项目 https://github.com/ShareX/ShareX 是个截图软件, 你研究一下怎么让这个 sharex 截图软件通过 S3 API 上传到刚刚你创建的 R2 对象存储我上传到R2的图片需要有公开访问URL, 用来在其它HTML页面引用.完. --------上面整个过程中, 我照着Agent的指导手动操作的部分是:在Cloudflare中创建API token, 让Agen…
  • crazypeace
    Githubhttps://github.com/crazypeace/Url-Shorten-Worker变身文件保管站 File Storage 保存到 R2对象存储 先上演示视频申请Cloudflare账号,略。* 以下操作过程中, 标颜色的信息, 你最好另外单独记好. 这样操作流程比较顺畅.创建R2记住这个R2的名字,以 r2test 为例设置公开链接记住这个R2公开链接, https://pub-*****.r2.dev设置 CORS 策略[ { "AllowedOrigins": [ "*" ], "AllowedMethods": [ "PUT", "GET", "HEAD", "DELETE" ], "AllowedHeaders": [ "*" ] }]* 注, 说实话这里有一点点粗暴, 但是问题不大. 创建R2 API回到R2 overview页面, 记住这个 Account ID点击 Manage 按钮点击 "Create User API token" 按钮选择 "Object Read & Write" - "Specify bucket(s)" - …