# prompts-sync **Repository Path**: dujun_h5/prompts-sync ## Basic Information - **Project Name**: prompts-sync - **Description**: 局域网语音输入同步工具:安卓端语音输入 → 实时同步到 Windows 端显示和复制。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-21 - **Last Updated**: 2026-10-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Prompts Sync v2 - 提示词同步器 局域网语音输入同步工具:安卓端语音输入 → 实时同步到 Windows 端显示和复制。 ## 使用场景 在电脑上使用 AI 对话时,通过手机语音输入(如豆包输入法)快速输入长文本,实时同步到电脑端,一键复制粘贴到对话框。 ## 特性 - 单文件 EXE,约 7MB,双击即用,零依赖 - 启动速度 < 100ms,后台运行无窗口 - 安卓端语音输入,实时同步到桌面端 - 二维码扫码连接,无需手动输入地址 - 支持多网卡 IP 下拉选择 - 一键复制单条或全部消息 - 双击消息可编辑已发送内容 - 手机端支持多条“最近同步内容”历史与单条复制 - 手机端、桌面端与程序图标统一使用 `assets/logo/logo_mobile.png` - 深色/浅色主题切换 - 消息接收动画效果 - 系统托盘常驻,不占任务栏 - 完善的日志系统 ## 快速开始 ### 直接使用 1. 下载 `prompts-sync.exe` 2. 双击运行(自动后台运行,任务栏无窗口) 3. 手机浏览器扫码或访问显示的地址 4. 在手机端输入文字,桌面端实时显示 ### 启动方式 ```bash # 方式1:直接运行(推荐) prompts-sync.exe # 方式2:后台启动脚本 start.bat # 方式3:完全隐藏窗口(VBS脚本) start-hidden.vbs ``` ### 退出程序 右键点击系统托盘图标 → 选择"退出" ### 从源码编译 ```bash # 环境要求:Go 1.21+ go mod tidy # 使用构建脚本(推荐,带日志) # 缺少 windres 工具,需要手动安装(https://github.com/niXman/mingw-builds-binaries) build.bat # 或手动编译 go build -ldflags="-s -w" -o prompts-sync.exe . ``` ## 使用方法 ### 桌面端(Windows) 启动后自动打开管理页面,左侧显示二维码和连接信息,右侧显示消息列表。 - **复制**:复制单条消息到剪贴板 - **复制全部**:复制所有已完成的消息(按时间倒序) - **清空**:清空所有消息 - **修改**:自定义二维码链接内容 - **双击消息**:编辑已发送的消息内容 - **主题切换**:点击右上角太阳/月亮图标切换主题 ### 安卓端(浏览器) 扫码或输入地址打开输入页面。 1. 使用语音输入法(如豆包输入法)输入文字 2. 输入时实时同步到电脑端 3. 点击「完成输入」标记一段对话 4. 最近同步内容会保留多条历史,每条都可直接复制 ## 多网卡支持 如果电脑有多个网卡(如有线 + 无线),系统会自动扫描所有局域网 IP,并以下拉列表形式展示: - 优先显示 192.168.x.x 地址 - 其次显示 10.x.x.x 地址 - 最后显示 172.16-31.x.x 地址 - 支持手动输入自定义地址 ## 配置 首次运行后在 exe 同目录生成 `config.json`: ```json { "port": 8888, "customUrl": "", "maxMessages": 1000, "theme": "auto" } ``` | 字段 | 说明 | 默认值 | |------|------|--------| | `port` | HTTP 服务端口 | 8888 | | `customUrl` | 自定义二维码链接(留空则自动检测局域网 IP) | "" | | `maxMessages` | 最大消息数 | 1000 | | `theme` | 主题(预留) | "auto" | ## 日志系统 ### 构建日志 运行 `build.bat` 自动生成构建日志: - 位置:`logs/build_YYYYMMDD_HHMMSS.log` - 记录编译过程和结果 ### 运行日志 程序运行时自动生成日志: - 位置:`logs/prompts-sync_YYYY-MM-DD.log` - 记录:启动、连接、错误等信息 - 系统托盘右键菜单可打开日志目录 ## 技术栈 | 组件 | 技术 | |------|------| | 语言 | Go 1.21+ | | HTTP | net/http | | WebSocket | gorilla/websocket | | 系统托盘 | getlantern/systray | | 二维码 | skip2/go-qrcode | | 前端 | 原生 HTML/CSS/JS | | 资源嵌入 | go:embed | ## 项目结构 ``` prompts-sync-v2/ ├── main.go # 入口 + 系统托盘 ├── assets/ # 图标资源 │ ├── icon.ico # Windows 应用图标(由 logo_mobile.png 生成) │ ├── logo/ # 原始 Logo 资源 │ │ └── logo_mobile.png # 手机端/桌面端统一 Logo │ └── resource.rc # Windows 资源文件 ├── internal/ │ ├── server/ # HTTP + WebSocket + 消息管理 │ ├── network/ # 局域网 IP 检测(支持多网卡) │ ├── qrcode/ # 二维码生成 │ ├── logger/ # 日志管理 │ └── console/ # 控制台窗口管理 ├── web/ │ ├── mobile.html # 安卓端页面 │ ├── desktop.html # 桌面端页面 │ └── static/ # CSS/JS ├── build.bat # 编译脚本(带日志) ├── start.bat # 后台启动脚本 ├── start-hidden.vbs # 隐藏窗口启动 ├── DESIGN.md # 设计文档 └── CLAUDE.md # 开发规范 ``` ## HTTP API | 接口 | 方法 | 说明 | |------|------|------| | `/mobile` | GET | 安卓端页面 | | `/desktop` | GET | 桌面端页面 | | `/api/qrcode` | GET | 二维码信息 | | `/api/qrcode/update` | GET | 根据URL生成二维码 | | `/api/ips` | GET | 所有本机 IP 地址 | | `/api/messages` | GET | 所有消息 | | `/api/messages/update` | POST | 更新消息内容 | | `/api/messages/clear` | POST | 清空消息 | | `/api/config` | POST | 更新配置 | | `/api/status` | GET | 服务状态 | | `/ws?type=mobile/desktop` | WebSocket | 实时通信 | ## 更新日志 ### v1.3.0 (2026-05-20) - 增强 WebSocket 自动重连与离线发送队列,断线期间的完成输入会在恢复后自动发送 - 优化多网卡排序,VPN/虚拟网卡地址靠后显示 - 手机端“最近同步内容”支持多条历史记录与单条复制 - 桌面端消息列表按完成时间倒序展示,最新消息置顶 - 统一手机端、桌面端、系统托盘和 EXE 图标资源 - 优化手机端和桌面端整体布局、状态反馈与交互动效 ### v1.2.0 (2026-05-14) - 新增双击编辑消息功能 - 新增日志系统(构建日志 + 运行日志) - 新增后台运行模式(隐藏控制台窗口) - 修复消息计数不正确的问题 - 修复二维码不更新的问题 - 优化输入预览框样式 - 优化编辑弹窗样式 - 优化整体 UI 布局 ### v1.1.0 (2026-05-14) - 新增多网卡 IP 下拉选择功能 - 新增深色/浅色主题切换 - 新增消息接收动画效果 - 新增动态高度输入预览框 - 优化复制按钮位置和样式 - 优化整体 UI 设计 - 添加应用图标(系统托盘和 EXE) ### v1.0.0 (2026-05-13) - Go 语言重写 - 单文件 EXE 部署 - WebSocket 实时通信 - 二维码扫码连接 - 系统托盘常驻 ## License MIT