Skip to content

希望能加入可选的 AI 翻译功能(先支持 OpenAI-compatible 协议) #31

Description

@qiyuey

Is your feature request related to a problem? Please describe.

您好,感谢持续维护 DictTango Windows。这个请求不是希望替代现有的本地词典能力,而是想请您考虑在现有查词/阅读体验之外,增加一个可选的 AI 翻译入口。

目前 DictTango Windows 已经围绕 MDX 词典、阅读模式、TTS、全局 CSS、MCP 等能力持续完善。根据 ReleaseNotes:

  • v1.3.7 已经加入了 MCP service,供 AI 进行实时词典内容查询。
  • v1.3.8 / v1.3.9 对 MDX 读取、词典内容加载和渲染做过优化,其中 v1.3.9 提到 MDX 查词速度大概提升 20%-30%。
  • 最新 release v1.7.0 仍在持续修复 Windows 端体验问题。

这些更新说明项目已经很适合做“本地词典 + AI 辅助”的组合:本地词典负责可靠、可控、可离线的基础解释,AI 翻译则可以补足长句、段落、语境化表达、例句改写等传统词典不太擅长的场景。

Describe the solution you'd like

希望可以先从一个比较小的 OpenAI-compatible 协议支持开始,不需要一开始做得很复杂。比如:

  1. 在设置中增加 AI 翻译配置:

    • API Base URL,例如 https://api.openai.com/v1,也方便兼容本地模型或第三方 OpenAI-compatible 服务。
    • API Key。
    • Model 名称。
    • 可选的 system prompt / translation prompt。
  2. 在查词结果或阅读模式中增加一个可选入口:

    • 对当前选中文本进行 AI 翻译。
    • 对当前词条中的例句或段落进行翻译。
    • 返回结果可以作为独立区域显示,避免影响原有词典内容渲染。
  3. 第一阶段可以优先支持 POST /v1/chat/completions

    • OpenAI 官方文档中 Chat Completions 仍是基于 messages 的对话响应接口,很多本地模型网关和第三方服务也兼容这个格式。
    • 后续如果有精力,再考虑支持 OpenAI newer Responses API。
  4. 隐私和成本方面建议默认关闭:

    • 用户主动配置 API Key 后才启用。
    • 请求前可以明确提示会把选中文本发送给配置的服务商。
    • 可以限制最大文本长度,避免误把整篇内容发送出去。

Describe alternatives you've considered

我也考虑过直接使用外部翻译网站、浏览器插件或系统级划词翻译工具,但这些方案和 DictTango 的使用流程割裂比较明显:

  • 需要离开当前词典/阅读界面,阅读连续性会被打断。
  • 无法和 DictTango 当前词典分组、阅读模式、TTS、词条显示结果形成统一体验。
  • 对专业词典用户来说,本地词典解释和 AI 语境翻译放在同一个工作流里会更有价值。

也可以只支持某一个固定翻译服务,但 OpenAI-compatible 协议的好处是实现面相对小,同时用户可以自行选择 OpenAI、Azure OpenAI、兼容网关、本地模型服务等,减少项目对单一服务商的绑定。

Additional context

一些项目相关的数据和理由:

  • 当前仓库已有 118 stars,说明 Windows 版已经有稳定关注者。
  • issue 中已有多个和查词速度、词典显示、阅读模式、TTS、Windows 体验相关的反馈,说明核心用户很重视查词链路的流畅度。
  • ReleaseNotes 已经出现 “MCP service for AI to perform real-time dictionary lookups”,AI 翻译可以视为这个方向的自然延伸。
  • OpenAI 官方文档中说明 Chat Completions 会根据一组 conversation messages 生成模型响应,Responses API 则是更现代的统一响应接口。先支持 Chat Completions 可以兼顾实现成本和兼容性,后续再扩展也比较自然。

参考:

再次感谢作者维护这个项目。这个功能如果能加入,应该能让 DictTango 在“本地词典查词”之外,更好地覆盖现代阅读中常见的长句、段落和上下文翻译需求。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions