VIBECODINGENGLISH/MEMORY.md

5.7 KiB
Raw Blame History

Project Memory

项目记忆 · 随项目成长持续更新 · AI 和开发者共享的上下文 最后更新2026-05-26


一、项目当前状态

1.1 进度

阶段 状态 说明
Phase 0架构奠基 已完成 Monorepo 搭建 + Core Library 架构
Phase 1MVP 已完成 LLM Agent 引擎 + 有道 API + 最小离线词库 + 翻译调度器 + 单词本
Phase 2进阶功能 已完成 Hover Provider + Webview单词本 + 百度引擎 + 有道/百度配置项
Phase 3AI Agent 已完成 SM-2 复习算法 + 复习面板 + 导出 Anki/CSV + Qwen LLM 适配
Phase 4打磨发布 已完成 离线词库补全 + 迭代记录补全 + 自动记录机制 + VSIX 打包配置
Phase 5F5 测试 已完成 6 轮调试修复LLM/百度/离线全链路通过,例句中英对照
v0.2:全场景+可配置 已完成 P2-1~P2-5 全部完成:剪贴板/终端/上下文/Settings/场景回顾
v0.3:多语言 远期 英→俄/日/韩 + 社区词库
v1.0:正式发布 远期 离线词库5000词 + 性能优化 + Marketplace

1.2 关键决策记录

日期 决策 理由
2026-05-26 采用 VS Code Extension 作为第一平台 用户基数最大API 最完善
2026-05-26 采用 Monorepo 架构core + adapters 支持多平台拓展core 只写一次
2026-05-26 废弃离线词典方案 → 混合翻译引擎 LLM Agent(主) + 百度API(降级) + 离线词库(兜底)
2026-05-26 LLM 采用 Qwen3.6-int4-AWQ自建端点 免费、中文友好、thinking mode 可关闭
2026-05-26 Extension Host http:// fetch 失败 → Node.js http 模块回退 VS Code 扩展中 DOM fetch 拒绝 http:// 连接
2026-05-26 Qwen thinking mode → extractJSON 平衡括号 + enable_thinking:false 贪婪正则匹配到思考过程中 { 导致解析失败
2026-05-26 secrets.json 优先级修复 VS Code 默认值 'gpt-4o-mini' 覆盖了 secrets 的 'qwen3.6'
2026-05-26 v0.1.0 定档 Qwen LLM + 百度 API + 离线词库全链路验证通过,例句中英对照

1.3 当前阻塞

阻塞项 影响 解决方案
- -

二、技术备忘

2.1 VS Code Extension 关键 API

// 激活入口
export function activate(context: vscode.ExtensionContext) {}
export function deactivate() {}

// 常用 API
vscode.window.activeTextEditor              // 当前编辑器
vscode.window.onDidChangeTextEditorSelection // 选择变化
vscode.commands.registerCommand()           // 注册命令
vscode.window.showInformationMessage()      // 通知
vscode.languages.registerHoverProvider()    // Hover
vscode.window.createWebviewPanel()          // Webview
vscode.workspace.fs                         // 文件系统
context.globalState                         // 持久化状态
context.secrets                             // 安全存储

2.2 数据目录约定

~/.vibecoding-english/
├── wordbook.json           # 单词本主数据
├── wordbook.backup.json    # 自动备份
├── config.json             # 跨平台配置(非 VS Code settings
├── cache/
│   ├── translate-cache.json
│   └── llm-cache.json
├── dict/
│   └── ecdict.sqlite       # ECDICT 离线词典
└── logs/
    └── vibecoding-english.log

2.3 错误码约定

1xxx: 配置错误
2xxx: 词典错误
3xxx: LLM 错误
4xxx: 存储错误
9xxx: 未知错误

三、领域知识

3.1 为什么选择 ECDICT

  • 词条数 770 万(含词组和短语)
  • SQLite 格式,适合嵌入
  • 包含柯林斯 5 星分级、BNC/COCA 词频
  • 开源,可自由分发
  • 可按词频裁剪至前 10 万词(~20MB

3.2 SM-2 间隔复习算法

初始复习间隔: 1天 → 6天
评分: Again(0) / Hard(2) / Good(3) / Easy(5)

计算新间隔:
- quality ≥ 3: 间隔 * ease
- quality < 3: 间隔重置为初始值

Ease 因子调整:
- quality ≥ 3: ease += (0.1 - (5-quality) * (0.08 + (5-quality) * 0.02))
- quality < 3: ease -= 0.2

约束: ease ∈ [1.3, ∞), 间隔 ∈ [1, 365]

3.3 翻译降级链路

技术词库 → Cache → 离线词典 → 在线词典 → LLM → 降级提示

技术词库最高优先级领域准确Cache 次之(性能),之后依次降级。


四、AI 协作经验

4.1 与 AI 工具协作的有效模式

  • 明确上下文:每次对话开始前,告知 AI 当前项目阶段和具体模块
  • 逐步验证AI 生成的代码,先跑测试再合并
  • 保留关键决策AI 讨论中的关键决策,记录到本文档
  • Prompt 复用:好的 Prompt 保存到 skills/ 目录

4.2 已知的 AI 局限

  • AI 生成的 VS Code Extension 代码可能 API 版本不对,需要对照官方文档
  • AI 对 SM-2 算法细节可能实现错误,需要与标准测试向量对比
  • Webview 通信模式postMessage容易出现类型不匹配

五、待办与未来规划

5.1 待研究

  • VS Code Chat Participant API (VS Code 1.86+)
  • Electron Companion App 可行性验证
  • 离线词典在 Windows/macOS/Linux 上的兼容性
  • 单词本数据迁移方案v0 → v1
  • Anki CSV 导出格式兼容性

5.2 未来功能

  • JetBrains 插件
  • 浏览器扩展GitHub Copilot Chat
  • 团队单词本(共享技术词汇表)
  • AI 生成个性化学习计划

更新规则每次重要决策、技术发现、AI 协作经验都需更新本文件。 读取规则每次新对话开始时AI 应读取本文件获取上下文。