我做了一个 Windows 本地 AI 任务收件箱:统一管理 ChatGPT、Claude Code 和 Codex

我做了一个 Windows 本地 AI 任务收件箱:统一管理 ChatGPT、Claude Code 和 Codex

现在写代码,我经常同时开着 ChatGPT、Claude Code 和 Codex。

问题也随之出现了:有的任务已经跑完,有的正在等我确认,还有的悄悄失败了。窗口一多,通知分散在各个平台里,我常常隔了很久才发现------原来 AI 早就在等我。

所以我做了一个开源桌面工具:AI Task Hub

它不是新的 AI 客户端,而是一个运行在 Windows 本机的"AI 任务收件箱":把多个 AI 平台的关键事件统一收进桌面队列,在任务完成、失败或等待输入时及时提醒,并且可以一键回到对应任务。

项目地址:

GitHub:https://github.com/elaysia-feng/AI-Task-Hub

为什么需要一个 AI 任务中心?

AI 编程工具越来越擅长执行长任务,但人的注意力仍然有限。

日常使用时,经常会遇到这些情况:

  • Claude Code 跑完了测试,但终端被其他窗口盖住;
  • Codex 正在等待确认,自己却以为它还在执行;
  • ChatGPT 网页任务已经完成,但浏览器标签页太多;
  • 同时处理多个项目时,很难记住哪个任务需要优先关注;
  • 系统通知缺少统一样式,点击后也不一定能快速回到上下文。

AI Task Hub 做的事情很直接:把分散的任务状态统一起来,并只在真正需要注意时提醒你。

它目前能做什么?

1. ChatGPT、Claude Code、Codex 汇入同一个队列

不同平台通过各自的适配器向本机事件服务上报,再统一显示为待处理、运行中、等待输入、完成、失败、已读或忽略等状态。

任务列表支持:

  • 按平台来源筛选;
  • 按状态筛选;
  • 关键词搜索;
  • 时间和状态排序;
  • 查看完整事件时间线;
  • 标记已读或忽略;
  • 点击任务回到原来的对话或工作现场。

这意味着我不需要反复在多个窗口之间"巡逻",只看一个任务中心就够了。

2. 真正有用的 Windows 系统通知

任务完成、执行失败、等待输入时,应用会发出原生 Windows 通知。

通知里会显示:

  • ChatGPT、Claude Code 或 Codex 平台名称;
  • 当前任务标题;
  • 项目名称;
  • 当前选择的应用头像;
  • "打开任务中心"操作入口。

点击通知即可回到任务中心,不再只是弹出一条看完就消失的消息。

3. 关闭窗口后变成悬浮球

关闭主窗口不会直接退出应用,而是收成桌面悬浮球,并继续在后台监听任务。

悬浮球可以拖动,托盘里也会保留未读状态。需要查看时再点开,平时不会一直占用桌面空间。

4. 11 套头像、22 张 Light/Dark 壁纸,也能选择自己的照片

我不太想把它做成一个冷冰冰的开发工具,所以给外观系统花了不少时间。

目前内置了 11 套非官方同人风格主题,每套都包含:

  • 一张应用头像;
  • 一张 Light 模式壁纸;
  • 一张 Dark 模式壁纸。

应用切换深浅模式时,会自动使用对应背景,而不是简单给同一张图加黑色遮罩。

同时也支持从本机选择照片作为壁纸或应用头像,并可调节:

  • 背景模糊;
  • 暗角强度;
  • 面板透明度。

头像会同步应用到标题栏、悬浮球、Windows 通知、托盘和应用窗口。

内置角色主题属于非官方同人风格视觉预设,与原作版权方无关联。公开分发或二次使用时,请自行确认素材使用范围。

技术上是怎么实现的?

项目采用本地前后端架构:

text 复制代码
ChatGPT 浏览器扩展 ─┐
Claude Code hooks ──┼──> FastAPI 本地事件服务 ──> MySQL
Codex notify ───────┘             │
                                  └──> WebSocket ──> Electron 桌面端
                                                        ├─ 任务队列
                                                        ├─ 系统通知
                                                        ├─ 悬浮球
                                                        └─ 托盘

主要技术栈:

  • Electron + TypeScript:Windows 桌面端;
  • FastAPI + Python:本地事件服务和平台接入;
  • MySQL 8:任务及事件时间线持久化;
  • WebSocket:任务状态实时推送;
  • PyInstaller + electron-builder + NSIS:后端和桌面安装包构建。

平台上报的事件会先转换成统一协议,再由后端状态机处理。相同来源和外部任务 ID 会进行幂等合并,避免同一任务因为重复通知在列表中出现多份。

开发过程中解决了哪些问题?

这个项目看起来像一个任务列表,但真正麻烦的地方其实在桌面端和多平台联动:

后端启动与前端请求时序

Electron 启动时,Python 后端可能仍在健康检查阶段。如果界面过早请求接口,就会出现 ECONNREFUSED 127.0.0.1:17891

现在桌面端会等待健康检查、复用请求并处理重连,不再在启动阶段连续刷出一堆错误。

Codex 只能配置一个 notify

直接接入任务中心可能覆盖用户原来的通知命令。

因此项目使用链式转发:AI Task Hub 先接收事件,再调用原有 notify。Codex 升级导致 runtime 路径变化时,也会重新解析目标路径,尽量避免升级后静默失效。

Windows Electron 缓存权限

部分机器会遇到 Chromium 缓存目录"拒绝访问",伴随 GPU Cache 创建失败。

应用现在会把 Chromium 会话缓存放到可写的本地应用目录,并保留用户偏好、头像和壁纸数据。

大图片不能直接塞进标题栏

设置页缩略图正常,不代表标题栏也能直接加载原始大图。超长 Base64 图片写入 CSS 后可能只剩黑色背景。

现在运行时头像会先等比压缩为适合 UI 的尺寸,打包时仍使用原始文件,因此显示稳定,也不会损失安装包图标质量。

如何运行?

目前项目主要面向 Windows 10 / 11,开发环境需要 Node.js、Python 和 MySQL。

powershell 复制代码
git clone https://github.com/elaysia-feng/AI-Task-Hub.git
cd AI-Task-Hub

# Python 环境
uv venv
uv pip install -r requirements.txt
Copy-Item .env.example .env
# 编辑 .env,填写本机 MySQL 连接信息

# 启动桌面端
cd desktop
npm install
npm run dev

npm run dev 会检查 Electron 运行时、启动开发服务,并自动探测和拉起本地 Python 后端。

后端健康检查地址:

text 复制代码
http://127.0.0.1:17891/api/health

如果需要生成 Windows 安装包:

powershell 复制代码
cd desktop
npm run dist:local

可以生成 NSIS 安装版、便携版和解压运行版。

项目质量与验证

目前项目已经覆盖后端状态机、API、平台接入和桌面端核心逻辑测试,并完成:

  • 57 项 Python 测试;
  • 24 项桌面端测试;
  • TypeScript 类型检查;
  • Electron 生产构建;
  • 本地健康检查和真实 Electron 窗口验收。

我不太希望这个项目只是"构建成功但实际不好用",所以外观、通知、Light/Dark 切换、头像显示和真实窗口交互也都会进行实机检查。

适合哪些人?

如果你符合下面任意一种情况,AI Task Hub 可能会有帮助:

  • 经常同时使用 ChatGPT、Claude Code 和 Codex;
  • 会让 AI 在后台执行较长的编码任务;
  • 同时维护多个项目,经常错过等待确认;
  • 希望任务通知集中管理,但不想把数据交给新的云服务;
  • 喜欢给开发工具更换主题、壁纸和头像。

最后

AI 工具越来越多以后,我真正缺少的并不是"第四个 AI 客户端",而是一个能告诉我:现在到底哪个任务需要我处理?

AI Task Hub 就是从这个需求开始的。

项目还在继续完善。如果这个工具对你有帮助,欢迎到 GitHub 体验、提交 Issue,或者点一个 Star:

项目地址:https://github.com/elaysia-feng/AI-Task-Hub

Releases:https://github.com/elaysia-feng/AI-Task-Hub/releases

相关推荐
云端漫步19871 小时前
HarmonyOS NEXT AI 智能生活助手:AI 代码解释
人工智能·华为·生活·harmonyos
console.log('npc')1 小时前
OptMem 使用教程
人工智能·ai编程·记忆
世优科技虚拟人1 小时前
数字人厂商赋能学校教育:校史馆党建科普导览AI数字人应用观察
人工智能·智慧校园·ai数字人·数字人一体机·大屏数字人
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章100-抠图
图像处理·人工智能·opencv·计算机视觉
精益数智工坊2 小时前
账龄分析怎么做才不流于形式?如何真正落地账龄分析?
大数据·人工智能·数据可视化
June`2 小时前
warp shuffle指令
c++·人工智能·算法·cuda
内蒙深海大鲨鱼2 小时前
3.Introduction to PyTorch YouTube Series--Autograd
人工智能·pytorch·python
星核0penstarry2 小时前
276B 总参 / 12B 激活,8 卡 B200 跑 648 tok/s:Inkling‑Small 技术解读**2
大数据·人工智能·ai
weixin_446260852 小时前
AtumAI:面向数据中心控制平面策略的规范化智能体生成框架
人工智能·平面
ZZHow10242 小时前
PyTorch深度学习入门笔记(小土堆)P7-14
人工智能·pytorch·笔记·python·深度学习