Skip to content

Repository files navigation

fomomo-win

Windows 桌面端「群喊单」监控悬浮窗。基于 nishuzumi/fomomo 移植,Electron 外壳,逻辑复用原项目的 TypeScript sidecar。

它会监听你选定的飞书 / 微信 / QQ 群。群里一出现代币合约地址就记下来,并显示实时行情、K 线、喊单后的涨跌、喊单人和喊单次数。有新币时会主动弹卡提醒。

Windows 版默认只读监控。交易功能已经实现,但默认关闭,需要自己部署路由代理并打开开关,见下面的交易(试运行)。方案见 docs/adr/0013。

主面板

截图来自 macOS 版,内容为演示数据。Windows 版的布局与其一致。

功能

  • 悬浮窗:贴在屏幕边缘并置顶,不抢焦点。每行显示一个代币的符号、链、来源、首个喊单人及其历史胜率、喊单人数、迷你走势、市值、首喊以来涨跌和距首喊的时间。
    • 支持多种排序,可按来源或链快速筛选。
    • 搜索框可以搜代币名、合约地址、喊单人和群名。
    • 右键菜单可隐藏代币。
    • 收起后的小图标可以拖动,位置会被记住。
  • 弹卡:包含以下内容:
    • 1s–1d 市值 K 线:滚轮缩放,拖动平移,双击复位。点喊单标记可以切换群聊语境。
    • 群内喊单原文与前后文。
    • 官方推特及中文译文。
    • GMGN 喊单(GMGN / X 两个页签)。
    • fomo.family 关注者动向与 Thesis。
  • 提醒:
    • 新币默认自动弹卡,6 秒后收起,点一下可以钉住。也可以改成只发系统通知,或者关掉。
    • 提醒条件可设:至少几人喊、市值范围、只看哪些链、喊单人的历史胜率。
    • 老币回暖:首喊已超过 1 小时的币,如果 30 分钟内又有多人喊,也会提醒。行上会显示 🔥 和人数。
    • 弹卡顶部会写明这次提醒的原因。
  • 全局快捷键:在任何程序里按 Ctrl+Alt+F 都能显示或隐藏悬浮窗。
  • 交易(默认关闭,见下):弹卡里的交易卡、悬浮窗持仓区的一键买卖。
  • dashboard(本地网页):包括总览、群组勾选、喊单人战绩、代币列表、24h 战况和各项设置。

环境要求

  • Windows 10 / 11,x64
  • 安装包已自带 Node 运行时和 lark-cli,不需要另外安装 Node 或 pnpm

安装与构建

corepack pnpm install
corepack pnpm windows:build

产物都在 dist/windows/ 里:

  • fomomo-<版本>-win-x64-setup.exe:安装程序,可以选安装目录,并创建桌面和开始菜单快捷方式。
  • 便携压缩包:解压后直接运行 fomomo.exe。

开发调试可以直接运行 corepack pnpm windows:dev。

数据保存在 %LOCALAPPDATA%\Fomomo,卸载时不会删除。

首次使用:配置群来源

第一次启动时会自动打开群组设置。任意配好一个来源就能开始用。

飞书

  1. 点「创建应用并登录」。程序会在浏览器里创建一个只读权限的飞书应用,并完成授权。整个过程用的是你本人的账号,不需要把机器人拉进群。
  2. 授权完成后,勾选要监听的群,点「保存」。

飞书请求会直接连接,不走本机代理。

微信 4.x

程序会从正在运行的 Weixin.exe 里自动获取数据库密钥;如果获取失败,可以手动粘贴 64 位密钥。

微信数据库以只读方式打开,程序不会导出聊天内容。取密钥用的是 CipherTalk 的 wechat_key_tool.dll,该组件采用 CC BY-NC-SA 4.0 许可,不可商用。

QQ(通过 NapCat / OneBot 接入)

  1. 安装并启动 NapCat,扫码登录。
  2. 在 NapCat 里打开「网络配置 → OneBot 11 → 正向 WebSocket」,地址填 127.0.0.1,端口填 8080。
  3. 在 Fomomo 里打开「群组 → QQ」,点「启用 QQ 监听」。连接成功后勾选要监听的群,点「保存」。

地址和 Token 可以在「设置 → QQ 连接」里修改,改完不用重启程序。

这种方式依赖非官方 QQ 协议,可能会掉线,也有账号被风控的风险。建议使用专用 QQ 号。

gmgn 验证

行情数据来自 gmgn。底栏的 gmgn 变成红点时,点它打开内置窗口,完成一次 Cloudflare 验证后关掉窗口即可。

交易(试运行)

交易页一直在,但要自己生成钱包、转钱进去才会真的下单。程序会在本机生成一个独立的小额交易钱包,由本机签名下单。只往里转打算用来买 meme 的钱,不要用存放主要资产的钱包。

开始用

  1. 部署自己的路由代理:见 worker/okx-proxy/README.md。需要一个 Cloudflare 账号和一套 OKX Onchain OS 的 key;key 只存在 Worker 里,不进安装包。部署完把 src/core/okx.ts 的 OKX_API_BASE 改成自己的地址,重新打包。
  2. 在侧边栏「交易」页填上访问码并保存。
  3. 在弹卡的交易卡里点「生成热钱包」,或者跑 pnpm cli wallet-init。
  4. 立刻备份(见下),再往地址里转钱。充值地址在交易卡的「充值」里,EVM 五条链共用一把地址,Solana 另一把。

侧边栏「交易」页可以改单笔 / 单日上限、快捷额、滑点上限(默认 5%)、读节点和广播节点、访问码。

拿什么币买

买入不限于原生币。弹卡交易卡里「用 ___ 付」那一行会列出钱包里能用来付款的币:这条链的原生币、稳定币(USDC / USDT / USDG 等),以及你已经持有的币。选了非原生币,快捷额会变成余额的 25 / 50 / 100%。

只有两道核对都过了的币才会出现在那一行:精度和链上读到的一致,并且 DexScreener 查得到独立的美元价(限额和价格偏离核对要用它)。所以刚发的、还没有行情的币不会出现在付款选项里。拿非原生币付款时会先发一笔授权交易,额度就是这一单的数量。

备份与恢复

助记词是 12 个英文单词,经 Windows DPAPI 加密后只存在这台电脑的当前用户下(%LOCALAPPDATA%\Fomomo\secrets\)。删掉数据目录、重装系统、被管理员强制重置过登录密码,都会让它解不开,钱就找不回来了。

  • 备份:交易卡或设置页点「备份钱包」→ 确认 → 单独的窗口里显示 12 个词 → 抄在纸上 → 按提示回答抽查的 2 个词。不提供复制按钮,窗口也会尽量挡住常规截图和录屏。
  • 恢复:在 Phantom / MetaMask / OKX 钱包里选「导入助记词」,抄进去即可。这几个钱包的默认派生路径与本程序一致:
    • EVM:m/44'/60'/0'/0/0
    • Solana:m/44'/501'/0'/0'
  • 程序里没有「导入助记词」,恢复后请把资金转走,不要把主钱包的助记词粘到这里。
  • 如果程序提示「钱包无法读取」,它不会自动生成新钱包。先按上面的方式在外部钱包里恢复并转走资金,再点「重置钱包」——旧文件只会改名保留,不会删除。
  • 建议给系统盘开启 BitLocker 或设备加密:备份窗口的内容保护并不严格,休眠文件和页面文件里也可能残留助记词明文。

它做了什么,没做什么

  • 签名前会在本机核对要签的那份交易:合约地址、买卖的币和数量、最低到账、收款人是不是自己、截止时间、网络费预算,Solana 还会模拟一次核对余额变化。对不上就拒签,不会「应该没问题」放行。
  • 已签名的交易只发往广播节点(BSC 默认走 48 Club 防夹,ETH 走 MEV Blocker),出错时标成「结果未知」等对账,不会改走公共节点,也不会自动重新下单。
  • 广播超时、断网、重启都不会被当成「失败」,所以不会重复买入;超过 2 分钟还没结果就停止重发,EVM 可以手动取消。
  • 不保证防夹有效,也不保证报价公允;滑点上限不等于「最多亏这么多」,价格冲击、代币税和网络费另算。
  • 挡不住本机的恶意程序:任何以你的身份运行的程序都能解开这个钱包。

开发

  • Node 22,版本见 .node-version。SQLite 原生模块是按 Node 22 的 ABI 编译的,换其他大版本会跑不起来。
  • 类型检查与测试:corepack pnpm typecheck、corepack pnpm test
  • 界面冒烟测试:corepack pnpm exec electron test/windows-ui-smoke.cjs(交易界面是 test/windows-trade-smoke.cjs,下单入口校验是 test/windows-guard-smoke.cjs)
  • 重新生成图标:corepack pnpm exec electron scripts/make-windows-icons.cjs(源文件是 windows/assets/tray.svg)

目录结构:

路径 内容
windows/ Electron 主进程、悬浮窗、弹卡与提醒
src/ 共用的 TypeScript sidecar,负责群来源、行情和数据存储
worker/okx-proxy/ 自建路由代理(Cloudflare Worker),交易功能用
scripts/build-windows.ps1 Windows 打包脚本
docs/ 架构说明、ADR 决策记录,以及 macOS 版原说明

安全与隐私

  • 所有数据只保存在本机。应用自己的数据库只存喊单原话和少量上下文,不保存完整群聊。
  • 飞书凭据由 lark-cli 管理。程序不保存 QQ 密码,也不持有任何交易所凭据;路由代理的 OKX key 在 Worker 里,不在安装包里。
  • 开启交易后,助记词经 DPAPI 加密存在本机当前用户下。助记词、私钥和已签名的原始交易都不进日志、不进网页接口,也不进通用事件广播。
  • 日志只记录状态信息,不记录聊天正文。

致谢

  • 原项目:nishuzumi/fomomo
  • 微信取密钥:CipherTalk wechat_key_tool.dll(CC BY-NC-SA 4.0)

About

Windows 桌面端群喊单监控悬浮窗(飞书 / 微信 / QQ),基于 nishuzumi/fomomo

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages