跳转到内容

技术问题

目标:< 2 秒

DevLingo 采用分层缓存策略确保快速响应:

  • 包含 85+ 常用开发术语(API、library、deprecation 等)
  • 存储在本地 SwiftData 数据库
  • 首次查询即时返回,零网络延迟
  • 曾查询过的词汇从本地缓存读取
  • 包括 AI 生成的定义、例句、发音链接
  • 离线也能访问
  • 通过 Cloudflare Workers 边缘节点转发到 Claude API
  • 包含完整解析、示例、同义词、发音合成
  • 边缘部署确保低延迟

DevLingo 的发音基于多个权威来源:

  1. 官方文档:收集 Apple、Google、Meta、Amazon 等官方发音(AWS、iOS 等术语)
  2. YouGlish 语料库:从真实开发者视频中采样发音模式
  3. 开发者社区共识:通过团队反馈不断更新非官方术语的发音
  4. 人工 IPA 标注:所有发音都经过 IPA(国际音标)标准标注
  • 引擎:Google Cloud Text-to-Speech
  • 模型:Neural 语音模型(比传统 TTS 更自然)
  • 覆盖:美式和英式英语(按需切换)

如发现发音错误:

  1. 在学习卡片点击 Report Issue(举报问题)
  2. 选择 Pronunciation(发音)
  3. 提供你认为正确的发音或相关资源链接

社区反馈帮助我们持续改进。

DevLingo 采用 last-write-wins 同步策略处理多设备编辑:

  1. 客户端时间戳:每次修改生词本词条时,记录 clientUpdatedAt 时间戳
  2. 云端合并:上传到 Cloudflare D1 时,比较时间戳
  3. 最后修改优先:时间戳更新的版本覆盖旧版本
  4. 离线支持:离线编辑的数据在网络恢复时自动同步

场景:在两台 Mac 上同时编辑同一词条

  1. Mac A:离线添加笔记 “API design pattern”(14:00)
  2. Mac B:在线更新定义(14:05)
  3. 同步结果:Mac B 的更新获胜(时间戳更晚)

如需保留两个版本,可在生词本中创建两条词条。

  1. 打开设置 → Data(数据)Export(导出)
  2. 选择 CSV 格式
  3. 导出内容包括:
    • 词汇
    • 定义
    • 例句
    • 学习标签(保存日期、复习次数)

CSV 文件兼容 Excel、Google Sheets 等工具。

  • Anki 卡组导出:转换为 Anki 格式 (.apkg),用于间隔重复学习
  • Notion 数据库导入:直接导入 Notion,集成个人知识库
  • JSON 导出:完整数据导出,包含所有元数据

DevLingo 使用 Claude 作为后端 AI 模型:

选择理由

  • 准确性:对技术术语的理解超过其他模型
  • 结构化输出:支持返回 JSON 格式,便于应用展示
  • 多语言:对代码示例和混合语言查询的理解更好
  • 成本效率:合理的 API 定价
  1. 选中的英文词汇
  2. 当前应用上下文(Xcode、Slack 等)
  3. 用户语言背景(可选,用于 L1 干扰纠正)

不包括

  • 文档内容(只发送选中词汇)
  • 用户身份信息
  • 浏览历史或应用内容
  • Free 版:10 次/天
  • Pro 版:无限制
  • Team 版:无限制
  1. 可访问性权限 UX

    • App Store 中无法优雅地请求可访问性权限
    • DevLingo 需要该权限以支持全局快捷键和跨应用文本选择
    • 直接下载可提供更好的首次使用体验
  2. 更快迭代

    • 直接分发无需等待 App Store 审核(通常 1-2 天)
    • 可快速推出 bug 修复和新功能
    • 直接获取用户反馈
  3. 灵活定价

    • App Store In-App Purchase 有 30% 手续费
    • 直接销售和 License Key 模式成本更低
    • 更好的透明定价

Mac App Store 上架条件

  • Apple 改进可访问性权限的要求流程
  • 或 DevLingo 功能演化不再需要可访问性权限

目前我们优先选择直接分发,用户体验更好。

DevLingo 使用固定的全局快捷键:⌘⇧D(全局查询)

  • 自定义全局快捷键:让用户修改为 ⌘⇧E、⌘⇧L 等
  • 快捷键配置文件:保存和导入预设配置
  • 应用级快捷键覆盖:为特定应用定义不同的快捷键

如 ⌘⇧D 与其他应用冲突:

  1. 禁用冲突应用的快捷键
  2. 或在 macOS 系统偏好设置中重新映射
  3. 可使用菜单栏图标手动触发查询

反馈快捷键定制需求:[email protected]

  • SwiftData 数据库:生词本、学习历史、缓存查询
  • 位置~/Library/DevLingo/ (用户隐私,其他应用无法访问)
  • 加密:macOS 文件系统加密(FileVault)
  • 数据库:Cloudflare D1 (SQLite)
  • 缓存:Cloudflare KV (用于会话和速率限制)
  • 数据中心:全球边缘节点,但用户数据按账户完全隔离
  • 加密传输:所有通信均使用 TLS 1.3
  • 数据按用户 ID 隔离,DevLingo 员工无法访问用户数据
  • 定期安全审计
  • 详见 隐私政策

删除账户后,所有云端和本地数据在 30 天内被永久删除。