2025年的"AI助手"只有两种形态:要么是聊天框,要么是API套壳。你想让它打开应用、截个图、解析PDF、跑个脚本、再生成报告?抱歉,这串操作在聊天界面里根本串不起来。
我受够了这种"只动嘴不动手"的助手。我想要一个能坐在桌面上、看见我所见、替我动手执行的东西——就像旁边坐了个能操作系统任何角落的工程师。
![]()
于是我做了Yaldabaoth。
![]()
四层架构
第一层是壳。没用Electron(那会让二进制文件膨胀150MB以上),选了Tauri——Rust框架,把网页前端包进原生壳。UI用React,玻璃拟态设计。Tauri的二进制体积约5MB,原生性能够重活,需要时还能直接调用Rust的系统接口。
第二层是调度器。Rust壳通过stdin/stdout的JSON协议跟Python后端通信,轻量,不需要HTTP服务器。调度器管三件事:指令路由(语音/文字→对应处理器)、状态持久化、多步骤任务链,还能切换人格模式(专业版vs创意版)。
第三层是自动化引擎。Python后端直接捅进Windows系统:pywinauto操控Win32 API实现点击、输入、窗口管理;PowerShell子进程跑系统级命令(服务控制、注册表、文件操作);WMI查询系统信息(进程、硬件、网络)。
第四层是感知系统。屏幕解析跑在独立线程保UI响应。OCR把截图转文字,再驱动决策;多线程分工——一线程截屏+OCR,一线程执行指令,一线程保UI流畅;动作链式执行:点击→等UI更新→重扫屏幕→下一步。
最头疼的事
屏幕解析太慢。截一张图,OCR识别,解析文字,决策下一步——一个循环500毫秒到2秒。放主线程上,整个应用直接卡死。
![]()
解法是用生产者-消费者架构:线程1负责截屏→OCR→把解析结果塞进队列;线程2是执行器,从队列里读数据,操作完再通知线程1继续扫。UI线程完全隔离,只负责渲染。
另一个坑是权限。PowerShell脚本需要管理员权限才能改系统设置,但Tauri应用默认以用户权限启动。最后折中方案:非特权操作走普通PowerShell,需要提权的操作弹UAC窗口——不完美,但至少能用。
为什么不用云
所有自动化逻辑本地跑,零API调用。OCR用PaddleOCR离线模型,LLM调用可选本地(Ollama)或远程(OpenAI),但即使选远程,自动化指令也不走云端——隐私、延迟、离线可用性,三样全占。
现在它能做什么?打开Excel,读取单元格,发现数值低于阈值,自动发邮件给老板,全程不用我碰鼠标。或者:扫描屏幕上的错误弹窗,自动搜索解决方案,尝试修复,失败则记录日志。
这不是未来。这是现在。而且完全免费开源。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.