自托管、跨平台(目前仅在作者自己环境的测试 Hyprland (Archlinux))、注重隐私的语音转文字输入工具
- 目前仅支持作者自己环境的使用 Hyprland (Archlinux),注意不要过度设计和过早优化
- (MVP) 一个简单的可以和 funasr-offline 模式交互的客户端, 支持最基本的交互和最简单逻辑: 调用麦克风录音然后发给自建的funasr-offline服务, 将识别结果显示在console中
# 安装与使用指南 # 1. 自行安装依赖 justfile, rust, docker ... 并克隆该仓库并且切换目录到项目根目录 # 2. 运行 funasr-offline 服务 (self-hosted) just manage-funasr-offline run # 请等待一些时间下载模型完成 # 3. 准备配置文件 (YAML v1) cp artifact/config/oratio.example.yaml ./oratio.yaml # 4. 运行 CLI cargo run -- run --config ./oratio.yaml --friendly cargo run -- -h # 查看帮助- 支持通过 YAML 配置选择 ASR provider,并可生成 JSON Schema 供 YAML tooling 引用(校验/补全)
# 生成 JSON Schema (用于 VS Code / YAML Language Server) cargo run -- config schema --output ./oratio.schema.json # (或) 生成到 artifact/config/ 以便直接编辑示例配置文件 just gen-config-schema # 然后在你的 oratio.yaml 顶部加入: # yaml-language-server: $schema=./oratio.schema.json# 使用 OpenAI provider (Audio transcriptions) export OPENAI_API_KEY=xxx # 然后把 oratio.yaml 里的 asr.use 改为 openai-official (或你自定义的 models[].name) cargo run -- run --config ./oratio.yaml --friendly# (可选) 将配置放到用户目录, 之后可以省略 --config mkdir -p ~/.config/oratio cp artifact/config/oratio.example.yaml ~/.config/oratio/oratio.yaml cargo run -- config schema --output ~/.config/oratio/oratio.schema.json cargo run -- run --friendly# (或) 使用 just 一键安装到用户目录 just install-user-config cargo run -- run --friendly 调研合适的支持跨平台的可以在当前光标下模拟输入, 或者使用剪贴板来实现语音转文字工作- 经过充分调研, 直接的实现是地狱难度级别的, wayland 环境对相关模拟输入的支持不太完整, 没有比较好的体验
- 调研能否实现一个类似 https://fcitx-im.org/wiki/Unicode (fcitx5/src/modules/unicode/CMakeLists.txt at 0f26cf3262338e62b7a56c0d51e2b17b60e6315f · fcitx/fcitx5) 的模块/插件, 让输入法来实现上屏工作, 以简化这个实现的难度