随时随地使用你的声音,在你的硬件上转录。

发布: (2026年2月16日 GMT+8 03:44)
5 分钟阅读
原文: Dev.to

Source: Dev.to

这是针对 GitHub Copilot CLI 挑战的提交

我在一次 3 小时的会话中,使用 GitHub Copilot CLI 将一个已有的开源 Windows 桌面应用转变为完整的跨平台移动生态系统。

挑战: 如何在手机上使用高端语音转文字功能,同时保证音频数据 100 % 私密,且避免昂贵的云 API 费用?

解决方案: 一个自托管的移动架构,利用家庭 PC 的 GPU 能力,通过安全的网状网络进行调用。

指标

指标结果
构建时间~3 小时
代码行数~6,500 行生产代码
创建的文件50+ 个文件
架构8 个阶段(后端 → Docker → 移动端 → 文档)
状态生产就绪

Architecture

前端: Flutter (Material Design 3) + gRPC 客户端
后端: Python 3.13 + FastAPI + gRPC + Protocol Buffers
推理: faster‑whisper + Ollama (NVIDIA CUDA 12.4)
网络: Tailscale 网状网络(加密隧道)
DevOps: Docker + GPU 直通

┌─────────────────┐
│  Android Phone  │  Push‑to‑talk recording
│  Flutter App    │  Real‑time transcription
└────────┬────────┘

         │ gRPC over Tailscale (E2E Encrypted)

┌──────────────────────────────────────────┐
│            Docker Container              │
│  ┌──────────────────┐                    │
│  │   gRPC Server    │ Port 50051         │
│  │ (Transcription) │                    │
│  └──────────────────┘                    │
│  ┌──────────────────┐                    │
│  │  Web Admin Panel │ Port 8080          │
│  │ (Configuration) │                    │
│  └──────────────────┘                    │
│  ┌──────────────────┐                    │
│  │    Whisper AI    │ Utilizes Home GPU │
│  │  faster‑whisper  │ via NVIDIA CUDA   │
│  └──────────────────┘                    │
└──────────────────────────────────────────┘

功能

  • Push‑to‑Talk: 推送对讲:简洁直观的录音界面。
  • AI Improvement: AI 改进:集成 Gemini 支持,优化转录结果。
  • Onboarding Wizard: 入职向导:四页设置流程,用于权限和连接测试。
  • History & Clipboard: 历史与剪贴板:基于会话的历史记录,一键复制。
  • Privacy‑First: 隐私优先:语音永不上传云端 – 手机 → Tailscale → 您的电脑。
  • Hardware Ownership: 硬件所有权:使用您自己的 NVIDIA GPU,实现极速本地转录。
  • Web Admin: Web 管理:基于浏览器的监控和配置,无需 SSH。
  • One‑Command Deploy: 一键部署:docker‑compose up -d 即可上线。

CLI 影响

  • 规划了从仅限 Windows 的桌面应用到跨平台的扩展,设计了 8 阶段的架构并执行了每个阶段。
  • 将原本需要 2–3 周的调研和原型制作压缩到一次会议完成。
  • 强制执行严格的 lint 规则(ruff 开启 ALL)并自动使用 Google 格式的 docstring。
  • 在不提示的情况下处理 Python 3.10+ 的类型提示要求。
  • 与代码同步生成了完整的文档(Docker、后端、用户指南、质量保证流程)。
  • 展示了并行工具调用、跨阶段的上下文保持以及带自动修复建议的错误恢复。

代码示例

# Generated by Copilot CLI to match project standards
from typing import Iterator
import logging

logger = logging.getLogger(__name__)

def transcribe(self, audio: bytes) -> str:
    """Transcribes audio using faster‑whisper.

    Args:
        audio: Raw audio bytes in WAV format.
    Returns:
        Transcribed text string.
    """
    logger.info("Processing audio: %s", audio_id)  # Validated for lazy logging

文档

CLI 生成了七个全面的指南,涵盖 Docker 设置、后端服务、用户说明和 QA 程序。这些指南与代码库保持同步,确保开发者始终拥有最新的参考资料。

许可证

MIT

最终判定

Copilot CLI 并不取代开发者的判断——它是对判断的放大。它零疲劳地处理了机械化的模板代码,使我能够全身心专注于隐私架构和用户体验。

实验代码:GitHub Repository (Mobile Branch) (请替换为实际的 URL)

0 浏览
Back to Blog

相关文章

阅读更多 »