博文

目前显示的是标签为“Telegram”的博文

修改 forkgram/tdesktop 实现 搜索@我的消息 by Hermes 对接 gpt-5.6-sol

图片
前言 我们之前已经实现了 有@我消息的群 置顶 方便我们"快速到达战场" 又实现了 跳转到最后一条@我的消息   进一步地, 优化成了  跳转到前一条后一条@我的消息 面向Agent开发 Hermes 对接 白嫖公益站agentrouter 的gpt-5.6-sol  https://zelikk.blogspot.com/2026/08/cpa-cliproxyapi-user-agent-agentrouter.html 下面的引用框里面都是我发给Agent的自然语言 分析 https://github.com/forkgram/tdesktop 项目 现在群组窗口界面上已经提供的功能:  搜索按钮 - 人头按钮 - 选择用户 然后就显示了一个搜索结果列表 Agent报告, 底层使用的API是 messages.search, 过滤条件是 from_id 讨论, 有没有办法把搜索条件从 From 改为 Mentioned ? Agent报告, 可以的. 现在群组窗口界面上, 搜索按钮,  在现有的人头按钮的左边 新增一个 Mentioned me 按钮, 效果为 打开搜索结果面板(带 Mentioned me 过滤条件)  新加菜单项 "List msg @me" 效果为 打开搜索结果面板(带 Mentioned me 过滤条件)  这次的开发明显比前几次复杂, 人肉测试过程中, 发现了一些BUG. 不过, 详细描述BUG后, Agent能解决. 如, 测试发现一个问题, 当   群组搜索按钮 - @符号  这样展示了搜索结果之后, 把 mentioned: me 关闭,  @符号 又会显示出来, 再点击 @符号,  展示 列表为空 成果 群组菜单 探索 @ 按钮 跳转效果 Github 代码 https://github.com/crazypeace/forkgram-tdesktop/tree/list-msg-mention Release https://github.com/crazypeace/forkgram-tdesktop/releases/tag/list-msg-mention-v2 ======== 后记 公益...

修改 forkgram/tdesktop 实现 跳转到前一条后一条@我的消息

图片
前言 我们之前已经实现了 有@我消息的群 置顶 方便我们"快速到达战场" 又进一步实现了  跳转到最后一条@我的消息 但是, 如果群组里面新 @我的消息多于一条呢?  面向Agent开发 Hermes 对接 oc/deepseek-v4-flash-free https://zelikk.blogspot.com/2026/08/omniroute-hermes-agent-oracle-arm-ubuntu-root-sudo-.html 下面的引用框里面都是我发给Agent的自然语言 基于 https://github.com/crazypeace/forkgram-tdesktop/tree/goto-last-mention 的代码, 进行增强开发 当 点击 "Go to the last msg mentioned me" 之后, 实现了跳转消息的效果, 然后, 在这个时候, 再次点击 "Go to the last msg mentioned me", 希望能继续跳转到再上一条 @消息 你说一下你是怎么理解 我的需求的, 与我讨论. Agent分析了一通, 问我, 向前跳转的时候, 以什么为锚点? 是把上一次跳转的消息id保存下来, 作为锚点? 还是以当前群组消息视口可见的消息为锚点? 锚点=当前视口 把原来的 "Go to the last message mentioned me" 菜单项 改为 "Go to the Pre msg @me" 效果为, 以当前视口为锚点, 跳转上一条 @我 的消息 增加一项 "Go to the Next msg @me" 效果为, 以当前视口为锚点, 跳转下一条 @我 的消息 成果 群组菜单 跳转效果 Github 代码 https://github.com/crazypeace/forkgram-tdesktop/tree/goto-pre-next-mention Release https://github.com/crazypeace/forkgram-tdesktop/releases/tag/goto-pre-next-mention ======== 后记 跳转下一条 @我 的消息...

修改 forkgram/tdesktop 实现 跳转到最后一条@我的消息

图片
前言 我们之前已经实现了  有@我消息的群 置顶  方便我们"快速到达战场" 但是, 如果我们在这个群组里上下滚动了一下, 或者跳到其它群/频道 去找 "论文引用材料", 再回到刚才的群组, 就有可能出现找不到 刚才@我的那条消息 的情况. 如果你喜欢在多个群里面"剧烈地与人交流", 说不定你需要这样的功能: 找到上一条@我的消息 面向Agent开发 Hermes 对接 oc/deepseek-v4-flash-free https://zelikk.blogspot.com/2026/08/omniroute-hermes-agent-oracle-arm-ubuntu-root-sudo-.html 下面的引用框里面都是我发给Agent的自然语言 分析 https://github.com/forkgram/tdesktop 如果我要实现这样一个功能: 我想找到群组中上一条 @我的消息, 或回复我的消息. 有什么方案? 目前 forkgram 在群组中有一个菜单项是 "Go to the first message", 在这个菜单项的下方增加一条"Go to the last message mentioned me" 成果 群组菜单 跳转结果 Github 代码 https://github.com/crazypeace/forkgram-tdesktop/tree/goto-last-mention Release https://github.com/crazypeace/forkgram-tdesktop/releases/tag/goto-last-mention

从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的工具 功能简介

图片
TeleFolders 一个方便修改电报Telegram对话分组Folder的工具 https://github.com/crazypeace/TeleFolders 安装 下载项目源码, 解压. (或者你 git clone也可以) pip安装需要的库 pip install telethon eel pysocks   启动后端 * 推荐 申请 你自己的 api_id, api_hash https://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密码(如果你设置了的话) 登录完成后, 你会看到这样的主界面 基本功能 下图中, 黄色区域是可以鼠标点击切换状态的. 状态包括 未设置: 空心+号 包含: 实心+号 置顶: 实心大头钉 排除: 实心-号 过滤器功能 在界面上部, 有几个过滤器, 控制表格中显示哪些对话Dialog 导出CSV 右上角按钮, 弹出菜单, Export CSV 导入CSV 右上角按钮, 弹出菜单, Import CSV

改进 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://zelikk.blogspot.com/2026/06/oracle-arm-vps-2cpu-12ram-47hdd-forkgram-tdesktop-aqtinstall-qt.html https://zelikk.blogspot.com/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让我操作. 验收效果: 完

2G内存 x86_64 VPS 编译 forkgram/tdesktop 内存不够 改大 swap 空间 编译成功 但时间很长

图片
前言 我的VPS配置 2 vCPU  2GB RAM 120GB Disk 想编译 https://github.com/forkgram/tdesktop 项目 面向Agent开发 Hermes 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 把 https://github.com/forkgram/tdesktop clone到本地, 并完成编译 Agent 反馈:  尝试了几次, 总是失败 分析一下你做过了什么, 得到什么结果 Agent反馈:  发现需要 40+ 外部库 (ada, openssl, ffmpeg, qt, webrtc...) 这些库需要预先编译安装到 /usr/local 或 ../Libraries - 这个过程只能全部成功或全部失败吗? 能不能一个一个编译? Agent 改为一个一个编译. 结果在编译 qtgui 的时候内存爆了, 编译中止. 后来 agent 找到办法, 安装Qt, 然后 DESKTOP_APP_USE_PACKAGED=ON Qt就不用编译了. 然后, 完成了 tg_owt (WebRTC) 的编译. 但还是, 在最终生成 telegram 时内存爆了. 尝试 方案 改大 swap 空间 改成 4GB, 还是爆内存 改成 8GB, 编译成功 编译时间非常久, 特别地, 我这个VPS是HDD硬盘不是SSD. 你可以给Agent下个定时任务 给你自己设置一个30分钟的定时任务 用于监控 tdesktop 编译的进度 如果编译出错, 检查出错原因, 修复, 再次开始编译 结论 如果你只有2G内存的VPS, 也是可以玩telegram开发的. 只不过要花特别多的时间在编译上面. 非常不推荐.

Oracle ARM VPS 编译 forkgram/tdesktop 用aqtinstall安装Qt

图片
前言 我的 Oracle ARM VPS 配置: 2核  CPU 12G 内存 47G 硬盘 想编译  https://github.com/forkgram/tdesktop 项目 面向Agent开发 Hermes 对接 mimo-v2.5-pro 下面的引用框里面都是我发给Agent的自然语言 把 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直接下载了, 不需要编译)  总结  1, 让 Agent 先参考官方编译指南 (用 Docker) https://github.com/telegramdesktop/tdesktop/blob/dev/docs/building-linux.md 2, 如果 第1步 失败, 就分析 Docker 流程, 拆成一步一步的操作, 看哪里出问题. 如果卡在Qt编译步骤, 那么用aqtinstall安装Qt 代替编译

Hermes 给 Telegram 聊天底部添加 /stop 按钮

图片
前言 我用的模型不是SOTA, Agent工作的时候需要人在旁边看着. 一旦发现走错了路, 或者是忘了之前的"经验", 我要马上发"/stop". 思路 为了最快的发出 "/stop"  我需要一个像这样的东西 当然了, 实际上我没整这么大的活. 我在Telegram里面找到的最合适的表达方式就是 ReplyKeyboardMarkup回复键盘 就像这样 Github https://github.com/crazypeace/hermes-skill-telegram-stop-button

The Hot3 in Last 7 Days

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

白嫖worker 自建短链服务 Url-Shorten-Worker 变身文件保管站 File Storage 保存到 R2对象存储 搭建手册

KV-woker 纯练手项目 保护 _ 开头的 Key VS code 重构 JS 代码 提取代码为函数