编程 浏览器远程控制打印机+纯本地AI儿童英语陪练:两个值得装的开源项目

2026-04-28 03:38:55 +0800 CST views 4

浏览器远程控制打印机 + 纯本地 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。

支持的文件格式

类型扩展名处理方式
PDF.pdf直接打印
图片.jpg, .jpeg, .png, .gif自动转 PDF
Office.docx, .xlsx, .pptx, .doc, .xls, .pptLibreOffice 转换
文本.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-webHiKid
解决痛点家庭打印不便儿童英语练习隐私
部署方式Docker 或二进制npm 安装
技术栈Go + Vue 3Electron + React + TypeScript
开源协议MITMIT
Stars269359+
云端依赖无(完全离线)

两个项目的共同理念:简单、实用、不绑架用户。

cups-web 不让你买新打印机,HiKid 不让孩子数据上云。开源生态的价值就在于此——有人把真正的需求做成产品,免费给你用。


cups-web: https://github.com/hanxi/cups-web
HiKid: https://github.com/xiaochong/hi-kid

推荐文章

Vue中的样式绑定是如何实现的?
2024-11-18 10:52:14 +0800 CST
介绍Vue3的静态提升是什么?
2024-11-18 10:25:10 +0800 CST
维护网站维护费一年多少钱?
2024-11-19 08:05:52 +0800 CST
介绍Vue3的Tree Shaking是什么?
2024-11-18 20:37:41 +0800 CST
Nginx 防盗链配置
2024-11-19 07:52:58 +0800 CST
Vue3中如何处理状态管理?
2024-11-17 07:13:45 +0800 CST
Go 并发利器 WaitGroup
2024-11-19 02:51:18 +0800 CST
LLM驱动的强大网络爬虫工具
2024-11-19 07:37:07 +0800 CST
Vue3中如何处理SEO优化?
2024-11-17 08:01:47 +0800 CST
前端如何给页面添加水印
2024-11-19 07:12:56 +0800 CST
Vue3中如何实现插件?
2024-11-18 04:27:04 +0800 CST
Vue3中如何使用计算属性?
2024-11-18 10:18:12 +0800 CST
使用 Go Embed
2024-11-19 02:54:20 +0800 CST
Vue3中如何处理组件间的动画?
2024-11-17 04:54:49 +0800 CST
ElasticSearch 结构
2024-11-18 10:05:24 +0800 CST
程序员茄子在线接单