Files
fanlusky a7779d2b05 refactor(engine): 将 engine 从 submodule 内嵌为仓内一等组件
`vendor/MetasequoiaImeEngine` submodule 改为 `engine/` 目录,导入的是
product-lock.json 原本钉住的提交 c810d201,逐文件核对过 blob,因此这是一次
搬迁而不是引擎升级。引擎自己的嵌套 submodule(googlepinyinime-rev、utfcpp、
miniaudio)按各自 gitlink 一并展开,来源与提交见 engine/UPSTREAM.md。

Windows 专门化裁掉了不属于本产品的部分:whisper.cpp 与本地推理 provider、
macOS 示例宿主、整个 dictionary/ 建库流水线、上游 CI 与 release-please 配置。
词库仍按 product-lock.json 在构建时取发布产物。

引擎不再进 product-lock.json:没有 gitlink 就没有可比对的东西,锁里写一个上游
commit 等于宣称这棵树仍等于上游,而第一个 Windows 专门化改动落地时这句话就假了。
verify-contracts / verify-checkout 随之移除,verify-published 保留。

CI 与工具链:引擎源码并入根 scripts/format.sh(删掉引擎自己的那份,避免两套排除
列表分叉);引擎 voice.yml 里的 silero_vad.onnx 摘要校验移到本仓 lock job;
engine-bump-triage 工作流与其测试删除;gitsubmodule 的 dependabot 频率由 daily
改为 monthly。

README、README.en、AGENTS.md、CONTRIBUTING、docs/product-release.md 及各子目录
文档同步说明新的位置与边界。
2026-09-12 03:40:48 +08:00

19 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 后端 HTTP 协议 v1
`protocol.json` 是 MSIME-Backend 和各平台客户端的权威 HTTP 契约,统一定义路径、鉴权、限制、JSON 示例及异步结果约束。共通服务独立于 Windows 命名管道宿主,本地输入行为仍由 Engine 负责。
首版 API 包含云候选、用于联想与润色的非流式 Chat Completions、DeepLX 兼容翻译和 multipart WAV 转写;实时语音通过独立的 WebSocket 入口传输豆包二进制帧。`/v1/capabilities` 明确报告功能是否启用。清单注明了可选的供应商提示字段。未启用的功能明确返回错误,不自动切换到其他网络地址。
Go 后端导入清单的精确副本,并生成常量:
```sh
python3 ../MSIME-Backend/scripts/sync_contract.py --source contracts/backend/protocol.json
python3 ../MSIME-Backend/scripts/sync_contract.py --source contracts/backend/protocol.json --check
```
后端常规 CI 核对随仓清单与生成常量,并通过 HTTP/TLS 执行各操作的示例。跨仓评审还需比较后端副本与本文件。消费者更新 Engine gitlink 前,清单对应提交必须先合入上游;未合并的本地副本只是开发验证材料,不是已发布依赖。
兼容响应可以添加客户端忽略的字段。未知请求字段目前会被拒绝,因此客户端增加字段前应先完成服务端兼容性修改。破坏性语义变化需要新的 API 版本或路径。即便请求文字相同,平台也必须保留 Engine 查询身份、组合输入代次及焦点检查。
RIFF/WAVE 分块遵循 [Microsoft RIFF 规范](https://learn.microsoft.com/en-us/windows/win32/xaudio2/resource-interchange-file-format--riff-)。批量转写允许 PCM(8/16/24/32 位)或 IEEE 浮点(32/64 位)、1–8 声道、8–192 kHz,且不得超过上传大小限制。当前 Engine 宿主生成单声道 16 位 PCM WAV;具体上游可能有更严格的格式要求。