浏览器远程控制打印机 + 纯本地 AI 儿童英语陪练:两个值得装的开源项目
两个开源小项目,解决两个真实的痛点。
第一个:家里那台老式 USB 打印机,不用开电脑,手机浏览器直接打文件。第二个:孩子练英语口语,数据全在本地跑,不上云、不泄露隐私。
都不是大工程,Docker 一把拉起来或者下载双击即用。
项目一:cups-web — 浏览器远程控制打印机
一句话: 把家用 USB 打印机变成随时可访问的网络打印服务。
地址: https://github.com/hanxi/cups-web
它解决什么问题
家里有台 USB 打印机,插在台式机上。想从手机、笔记本、或者另一台电脑打印,要么得跑到台式机前面操作,要么得装一堆驱动和软件。
cups-web 的做法是:外挂一个 Web 面板,打开浏览器就能打印。文件传上去,点打印,完事。
核心特性
| 特性 | 说明 |
|---|---|
| 远程打印 | 随时随地通过网页上传文件进行打印 |
| 多格式支持 | PDF 直打,JPG/PNG/GIF 自动转 PDF,docx/xlsx/pptx 通过 LibreOffice 转换后打印,txt 自动排版 |
| 多用户系统 | 管理员 + 普通用户两种角色 |
| 打印记录 | 完整历史,按用户、时间范围查询 |
| 自动清理 | 管理员可设定数据保留天数,过期自动删除 |
| 安全机制 | Session 认证 + CSRF 防护 + bcrypt 密码加密 |
| 跨平台 | Linux、macOS、Windows 三平台二进制 |
技术栈
- 后端: Go(代码占比约 48%)
- 前端: Vue.js 3 + Vite + TailwindCSS + Nuxt UI
- 打印服务: CUPS(Common UNIX Printing System)
- 文档转换: 内置无头 LibreOffice + 常用中文字体
部署方式
Docker 部署(推荐):
mkdir cups-web && cd cups-web
# 下载配置
wget https://raw.githubusercontent.com/hanxi/cups-web/main/docker-compose.yml
# 创建 .env
cat > .env << 'EOF'
CUPSADMIN=admin
CUPSPASSWORD=your_password
EOF
docker-compose up -d
http://localhost:631→ CUPS 管理界面,配置打印机(记得设为 Shared 共享)http://localhost:1180→ cups-web 界面,默认 admin / admin
二进制部署:
从 GitHub Releases 下载对应平台文件,设置环境变量即可:
CUPS_HOST=localhost:631 ./cups-web-linux-amd64
支持 Linux amd64/arm64、macOS amd64/arm64、Windows amd64。
支持的文件格式
| 类型 | 扩展名 | 处理方式 |
|---|---|---|
| 直接打印 | ||
| 图片 | .jpg, .jpeg, .png, .gif | 自动转 PDF |
| Office | .docx, .xlsx, .pptx, .doc, .xls, .ppt | LibreOffice 转换 |
| 文本 | .txt | 自动排版转 PDF |
项目二:HiKid — 纯本地 AI 儿童英语陪练
一句话: 孩子对着麦克风说话,AI 用英语陪聊、讲故事、玩游戏,全程离线。
地址: https://github.com/xiaochong/hi-kid
它解决什么问题
市面上的儿童英语学习 App 要么需要联网(数据上传云端),要么需要家长付费订阅。HiKid 的核心思路:所有 AI 和数据都在本地运行,不联网、不上传。
孩子隐私安全是第一位的。
核心特性
| 特性 | 说明 |
|---|---|
| 语音对话 | 不用打字,直接对着麦克风说话,AI 用英语回复 |
| 耐心引导 | 对语速慢、词汇简单的学习者有足够的耐心 |
| 完全离线 | 录音、识别、合成、推理全部本地闭环 |
| 游戏化界面 | 参考《动物森友会》卡通设计风格,吸引低龄用户 |
| 隐私安全 | 数据不上传云端,规避儿童隐私泄露风险 |
本地 AI 流水线
用户说话 → SoX录音 + VAD检测 → ASR语音识别
↓
SoX播放音频 ← TTS语音合成 ← LLM生成回复
| 组件 | 角色 |
|---|---|
| SoX | 音频录制、播放、格式转换 |
| Qwen3-ASR-0.6B | 本地语音识别(ASR) |
| kitten-tts-server | 本地语音合成(TTS),通过 SSE 流式输出 PCM |
| Ollama + qwen3:0.6b | 本地大语言模型,对话推理核心 |
关键设计: ASR 模型只有 0.6B 参数,TTS 模型也是轻量级,在普通电脑上就能跑,不需要 GPU。
技术栈
- 框架: Electron + React + TypeScript + Vite
- AI 编排:
@mariozechner/pi-agent-core(Agent 事件流框架) - ASR: Qwen3-ASR-0.6B
- TTS: kitten-tts-server
- LLM: Ollama (qwen3:0.6b),也支持配置兼容 OpenAI 的外部 API
安装
git clone https://github.com/xiaochong/hi-kid.git
cd hi-kid
npm install
# 开发模式
npm run dev
# 打包
npm run build:mac # macOS
外部依赖安装(SoX、ASR/TTS 服务器、模型文件等)详见项目 INSTALL.md。
⚠️ 目前仅支持 macOS,Windows 和 Linux 版本在计划中,欢迎贡献。
两个项目的共同特点
| 维度 | cups-web | HiKid |
|---|---|---|
| 解决痛点 | 家庭打印不便 | 儿童英语练习隐私 |
| 部署方式 | Docker 或二进制 | npm 安装 |
| 技术栈 | Go + Vue 3 | Electron + React + TypeScript |
| 开源协议 | MIT | MIT |
| Stars | 269 | 359+ |
| 云端依赖 | 无 | 无(完全离线) |
两个项目的共同理念:简单、实用、不绑架用户。
cups-web 不让你买新打印机,HiKid 不让孩子数据上云。开源生态的价值就在于此——有人把真正的需求做成产品,免费给你用。
cups-web: https://github.com/hanxi/cups-web
HiKid: https://github.com/xiaochong/hi-kid