你有没有过这样的经历:工作忙得焦头烂额,消息响个不停,回也不是不回也不是?或者有时候就是懒得打字,但又不想让朋友觉得被冷落。
最近我折腾了一个有意思的开源小工具,叫「Liao」(聊)。它可以让本地部署的大语言模型帮你自动回复聊天消息,而且不是那种预设好的固定回复,是真的能看懂上下文、模拟真实对话的 AI 助手。
项目地址是: https://github.com/cycleuser/Liao 。如果你对这类利用本地模型解决实际问题的开源实战感兴趣,可以在 云栈社区 找到更多有趣的讨论和资源。
这玩意儿怎么工作的?
它的核心原理其实不难理解:通过截图 → OCR 识别文字 → 扔给大模型生成回复 → 模拟键盘输入发送,这样一套流程来实现自动化。
听起来简单,但要做到流畅好用,还是解决了不少实际问题。比如如何准确区分哪些是对方发的、哪些是自己发的消息;怎么判断合适的回复时机(总不能对方话还没说完就抢答);还有输入法切换、窗口焦点这些看似琐碎但很影响体验的细节。


为什么不直接调聊天软件的接口?
最直接的原因就是:很多软件根本不提供面向个人用户的聊天 API。而那些第三方的接口要么收费昂贵,要么有被封号的风险。
「Liao」走的是纯视觉交互路线,它不关心你用的是微信、QQ 还是其他任何桌面聊天软件。只要是个能显示文字聊天内容的窗口,它就能工作。这种方式既不违反软件的服务条款,也无需担心你的账号安全问题。
能用什么AI模型?
这是我喜欢这个工具的一点:它支持多种后端。无论是本地部署的 Ollama,还是 OpenAI、Claude 这类云端 API,甚至是任何兼容 OpenAI 格式的接口都能接入。
如果你比较在意隐私(毕竟是处理聊天记录),完全可以全程在本地运行。装个 Ollama,下载一个小尺寸的模型,所有数据都不会离开你的电脑。当然,云端的大模型通常更“聪明”一些,这就看你在效果和隐私之间的权衡了。
手把手安装与配置
说了这么多原理,我们来点实际的。下面是一份详细的安装和配置指南。
前置条件
首先,你需要 Python 3.12 或更高版本。其次,你需要准备一个 LLM 后端,任选其一即可:
- Ollama(推荐):本地运行,隐私有保障。去 https://ollama.ai/ 下载安装。
- OpenAI API:需要 API Key,按量付费。
- Claude API:需要 Anthropic 的 API Key。
- 其他兼容接口:各种国产大模型的 API,只要兼容 OpenAI 格式就行。
Windows 安装
Windows 用户最方便,通常一行命令就能搞定:
pip install liao[ocr]
这个 [ocr] 后缀会自动安装文字识别所需的库。如果网络环境导致安装失败,也可以先装基础版:
pip install liao
然后根据下文单独安装 OCR 引擎。
从源码安装也可以:
git clone https://github.com/cycleuser/Liao.git
cd Liao
pip install -r requirements.txt
Linux 安装
Linux 稍微复杂些,需要先安装一些系统依赖包(主要用于输入模拟和截图):
sudo apt install xdotool wl-clipboard xclip tesseract-ocr tesseract-ocr-chi-sim gnome-screenshot
如果你使用的是 Wayland 桌面(如新版 Ubuntu 默认),还需要额外安装:
sudo apt install gstreamer1.0-plugins-good pipewire python3-gi python3-dbus
系统包装好后,再安装 Python 包:
pip install liao
或者从源码安装:
git clone https://github.com/cycleuser/Liao.git
cd Liao
pip install -r requirements-linux.txt
有个好消息是,虽然现在 Linux 桌面环境普遍转向 Wayland,但微信这类聊天软件大多仍运行在 XWayland 兼容层上,因此 xdotool 等工具依然有效。
OCR 引擎怎么选?
「Liao」支持三种 OCR 引擎,你至少需要安装其中一个:
| 引擎 |
安装命令 |
特点 |
| EasyOCR |
pip install easyocr |
识别准确率最高,但需要下载 PyTorch,体积较大(约 2GB) |
| RapidOCR |
pip install rapidocr-onnxruntime |
轻量快速,但目前不支持 Python 3.13 |
| pytesseract |
pip install pytesseract |
通用方案,需要额外在系统安装 tesseract 程序 |
个人建议:如果硬盘空间和网络条件允许,首选 EasyOCR,效果最好。追求轻量快速的话,RapidOCR 也是不错的选择。
实际使用流程详解
安装完成后,在命令行输入 liao 即可启动图形界面。下面我们一步步来看如何使用。
第一步:连接 LLM
打开程序,首先要配置与 AI 模型的连接。

界面中主要需要填写两项:
- API 地址:如果使用本地 Ollama,填写
http://localhost:11434;如果使用云端 API,则填写对应的接口地址。
- 模型名称:例如
gemma3、qwen3 等。
如果使用 OpenAI 或 Claude 的 API,则还需要填写相应的 API Key。
第二步:设置语言(可选)
界面默认是英文的,可以在右上角的菜单中切换成中文。

这个设置不影响功能,根据个人喜好选择即可。
第三步:选择模型
连接上 LLM 服务后,点击「刷新模型列表」,程序会拉取所有可用的模型。

选择一个你喜欢的模型。小模型响应快但智能程度可能有限,大模型更靠谱但也更消耗资源,请根据自己电脑的配置来决定。探索和测试不同模型也是学习 人工智能 应用的乐趣之一。
第四步:选择目标窗口
切换到「窗口选择」页面,点击「刷新窗口列表」,当前打开的所有程序窗口都会被列出。

找到你想要自动回复的那个聊天窗口(例如微信),双击选中它。程序会自动尝试判断这是否为聊天类应用。
第五步:设置聊天区域
这一步至关重要,你需要告诉程序“聊天内容显示在哪里”以及“在哪里输入文字”。

点击「截图并检测」,程序会尝试自动识别聊天区域和输入框。大多数情况下自动检测就足够准确。如果检测结果不理想,你也可以手动拖拽选框来精确指定聊天区域、输入框以及发送按钮的位置。
第六步:开始自动对话
最后一步,为你的 AI 助手设定一个“人设”。

在“对话提示词”框里,描述你希望 AI 如何聊天,例如:
- “热情友好,喜欢用表情”
- “惜字如金,回复简短”
- “专业严谨,像个客服”
然后设置对话轮数。你可以设定一个固定次数(比如 15 轮),或者勾选“无限制”让它一直聊下去。
点击「开始自动对话」,程序就正式工作了。它会:
- 持续监控你指定的聊天窗口。
- 通过 OCR 识别对方发来的新消息。
- 结合上下文和预设的提示词,调用大语言模型生成回复。
- 自动将回复内容输入到聊天框并模拟点击发送。
你可以在界面上实时看到对话内容和运行日志,随时可以点击「停止」来暂停自动回复。
使用 Python 脚本控制
除了图形界面,Liao 也提供了 Python API 和命令行接口,方便进行自动化集成或脚本控制。基本的调用方式如下:
import liao
# 初始化客户端,连接到本地 Ollama
client = liao.Client(base_url="http://localhost:11434")
# 配置聊天区域和目标窗口(这里需要替换为实际获取的窗口ID)
config = liao.ChatConfig(
window_title="微信",
chat_area=(100, 200, 500, 800), # (x1, y1, x2, y2)
input_area=(100, 850, 500, 900),
send_hotkey="enter"
)
# 开始自动对话
client.start_chat(
config=config,
prompt="你是一个友好的朋友,进行日常闲聊。",
max_turns=10
)
实际效果与注意事项
说实话,目前的工具更适合非正式、娱乐性的场景。比如跟朋友闲扯、在群里水群,用它来应付一下完全没问题。但对于重要的工作讨论或严肃对话,建议还是亲自处理。
工具本身也存在一些限制:OCR 在字体特殊或背景复杂时可能识别出错;大语言模型偶尔也会生成一些不合逻辑或奇怪的回复。为此,程序提供了详细的日志功能,你可以在 AI 发送前查看生成的内容,不满意随时中断。
此外,程序内置了“回复门控”机制——只有检测到对方发送了新消息,才会触发回复生成,避免了 AI 自说自话的尴尬场面。
常见问题排查
安装或使用后可能会遇到一些小问题,这里列举几个常见的:
Windows 系统:
- 提示「pywin32 not found」:运行
pip install pywin32,然后重启 Python 环境或命令行。
- 截图失败:某些受系统保护的窗口(如管理员权限运行的窗口)可能需要你以管理员身份运行 Liao。
Linux 系统:
- 提示「xdotool not found」:运行
sudo apt install xdotool 安装。
- 输入模拟不生效:确保目标聊天窗口是 X11 或 XWayland 窗口。
- Wayland 下截图失败:确保已安装 GStreamer 和 PipeWire 相关包,并在系统弹出权限请求时同意“屏幕捕获”。
- OCR 始终返回空内容:请检查并安装一个 OCR 引擎,推荐
pip install easyocr。
总结
这个工具适合什么样的人?我觉得主要是那些想保持社交活跃度,但又偶尔(或经常)懒得亲自打字的开发者和技术爱好者。当然,我们必须清醒认识到,再智能的 AI 也无法替代真实的人际互动和情感交流,真正重要的对话务必亲自参与。
但如果你只是想在工作间隙或忙碌时,用技术手段维持一个“在线”的假象,或者单纯想体验一下用本地大模型自动聊天的乐趣,那么「Liao」是一个值得尝试的有趣工具。它的所有代码都在 GitHub 上开源(采用 GPL v3 协议),欢迎 Star 或提交 Pull Request 来一起改进这个项目。对于想深入 开源实战 的朋友来说,这是一个很好的学习案例。