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,卸载时不会删除。
第一次启动时会自动打开群组设置。任意配好一个来源就能开始用。
- 点「创建应用并登录」。程序会在浏览器里创建一个只读权限的飞书应用,并完成授权。整个过程用的是你本人的账号,不需要把机器人拉进群。
- 授权完成后,勾选要监听的群,点「保存」。
飞书请求会直接连接,不走本机代理。
程序会从正在运行的 Weixin.exe 里自动获取数据库密钥;如果获取失败,可以手动粘贴 64 位密钥。
微信数据库以只读方式打开,程序不会导出聊天内容。取密钥用的是 CipherTalk 的 wechat_key_tool.dll,该组件采用 CC BY-NC-SA 4.0 许可,不可商用。
- 安装并启动 NapCat,扫码登录。
- 在 NapCat 里打开「网络配置 → OneBot 11 → 正向 WebSocket」,地址填
127.0.0.1,端口填8080。 - 在 Fomomo 里打开「群组 → QQ」,点「启用 QQ 监听」。连接成功后勾选要监听的群,点「保存」。
地址和 Token 可以在「设置 → QQ 连接」里修改,改完不用重启程序。
这种方式依赖非官方 QQ 协议,可能会掉线,也有账号被风控的风险。建议使用专用 QQ 号。
行情数据来自 gmgn。底栏的 gmgn 变成红点时,点它打开内置窗口,完成一次 Cloudflare 验证后关掉窗口即可。
交易页一直在,但要自己生成钱包、转钱进去才会真的下单。程序会在本机生成一个独立的小额交易钱包,由本机签名下单。只往里转打算用来买 meme 的钱,不要用存放主要资产的钱包。
- 部署自己的路由代理:见
worker/okx-proxy/README.md。需要一个 Cloudflare 账号和一套 OKX Onchain OS 的 key;key 只存在 Worker 里,不进安装包。部署完把src/core/okx.ts的OKX_API_BASE改成自己的地址,重新打包。 - 在侧边栏「交易」页填上访问码并保存。
- 在弹卡的交易卡里点「生成热钱包」,或者跑
pnpm cli wallet-init。 - 立刻备份(见下),再往地址里转钱。充值地址在交易卡的「充值」里,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'
- EVM:
- 程序里没有「导入助记词」,恢复后请把资金转走,不要把主钱包的助记词粘到这里。
- 如果程序提示「钱包无法读取」,它不会自动生成新钱包。先按上面的方式在外部钱包里恢复并转走资金,再点「重置钱包」——旧文件只会改名保留,不会删除。
- 建议给系统盘开启 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)
