【Hello AI 科技致善】词源星图 Etymology Atlas - 每个单词背后,都有一片词源的星空

一、摘要

面向需要高效记忆英文单词但厌倦机械重复的学习者,提供一款****零门槛、免安装、打开即用**的可视化词源学习工具。通过**星图式词根探索、词源故事、关系网络、游戏化闯关**等模块,将"单个单词"置于"历史与构词逻辑"中理解,帮助用户建立长期记忆。项目使用 **React + TypeScript + Vite** 技术栈,界面采用**星空主题设计****,所有学习进度保存在浏览器本地。本项目全程使用 **TRAE SOLO** 从零搭建并持续迭代优化。


二、真实场景与需求

2.1 目标人群

  • :open_book: 考研、雅思、托福、GRE 等考试备考者

  • :graduation_cap: 英语专业学生

  • :globe_showing_europe_africa: 语言爱好者

  • :briefcase: 希望提升词汇量的职场人士

  • :man_student: 教育资源相对有限的自学者

2.2 痛点描述

**场景**: 张同学正在备考考研英语,每天背诵 100 个单词,但发现:

  1. **遗忘率高** - 死记硬背,一周后只记住 20%

  2. **易混淆** - 相似的单词分不清,如 “respect” / “suspect”

  3. **枯燥乏味** - 单词书翻到第 50 页就失去了动力

  4. **缺乏逻辑** - 不知道单词之间的关系,孤立记忆

**传统方法的局限**:

  • 词根词缀书籍:内容枯燥,缺乏可视化,难以形成空间记忆

  • 背单词 App:侧重刷题,对词源叙事和词族关系支持弱

  • 培训班:费用高,时间不灵活

2.3 现有解决方案的不足

  • :cross_mark: **Anki**: 卡片系统完善,但缺少词源内容的结构化呈现

  • :cross_mark: **Quizlet**: 侧重记忆卡片,缺乏词根间的关联网络

  • :cross_mark: **欧路词典**: 查词工具,没有学习路径设计

  • :cross_mark: **墨墨背单词**: 算法优秀,但词源内容薄弱

**一步任务**: 需要一个工具,能让用户****像探索星空一样探索词源**,看到词根、前缀、后缀如何组合成单词,通过**理解逻辑****而非死记硬背来记忆。


三、作品介绍

3.1 核心功能

:world_map: 1. 星图探索 (Atlas)

  • **可视化词根网络**: 以星座/星云形式展示 6 大词族、44 个核心词根

  • **力导向图布局**: 词根、前缀、后缀、衍生词形成关联网络

  • **交互式探索**: 支持拖拽、缩放、双击导航

  • **分类筛选**: 按希腊语、拉丁语等语源分类查看

![星图探索截图](./screenshots/atlas.png)星图探索截图

:open_book: 2. 词源故事 (Story)

  • **叙事化学习**: 每个词根配有历史故事,讲述词根的起源和演变

  • **单词拆解**: 彩色可视化展示 前缀-词根-后缀 结构

  • **发音朗读**: 点击播放单词标准发音

  • **掌握标记**: 标记已学会单词,追踪学习进度

![词源故事截图](./screenshots/story.png)词源故事截图

:globe_with_meridians: 3. 关系网络 (Network)

  • **词根详情页**: 展示某个词根的所有衍生词汇(共 230+ 词汇)

  • **结构拆解**: 清晰展示单词的词源构成

  • **例句展示**: 帮助理解单词在语境中的用法

![关系网络截图](./screenshots/network.png)关系网络截图

:crossed_swords: 4. 闯关模式 (Challenge)

  • **游戏化学习**: 通过答题闯关巩固记忆

  • **难度分级**: 从识别到应用的多层次挑战

  • **即时反馈**: 答对答错都有视觉和声音反馈

:joker: 5. 闪卡复习 (Flashcard)

  • **快速回顾**: 随时查看已学词汇

  • **掌握状态**: 区分已掌握和待复习的单词

:magnifying_glass_tilted_left: 6. 智能搜索

  • **双向查询**: 通过单词查词根,或通过词根查单词

  • **即时高亮**: 搜索时实时高亮匹配节点

3.2 技术特点

  • 纯前端
  • 无需后端服务器,打开浏览器即可使用
  • 本地存储
  • 学习进度保存在浏览器本地,保护隐私
  • 响应式设计
  • 适配桌面和移动端
  • 性能优化
  • Canvas 渲染 + 视口裁剪,支持大规模节点

3.3 数据规模

  • **6 大星云**(主题分类):希腊星云、拉丁星云等

  • **44 个核心词根**:涵盖 graph/gram、phon、bio 等高频词根

  • **230+ 衍生词汇**:每个词根配有 5-12 个代表词汇

  • **多语种语源**:希腊语、拉丁语、古英语等


四、用 SOLO 实现的过程

4.1 任务拆解

没有一上来就要求 SOLO “帮我做个词源工具”,而是拆解为独立可验证的小任务:

关键 Prompt

1.搭建基础框架

“创建一个 React + Vite 项目,使用星空主题,深色背景配金色点缀”

2.构建数据层

“设计词根、词汇、故事的数据结构,导出为 TypeScript 类型”

3.星图可视化

“用 Canvas 实现力导向图,词根为节点,衍生词环绕分布”

4.词源故事页

“创建词根详情页,展示词根含义、故事、衍生词汇卡片”

5.闯关功能

“实现四选一答题,答对有绿色动画反馈”

6.沉浸感增强

“添加星空背景、星云动画、粒子效果”

4.2 关键 Prompt 示例

**星图布局优化**

优化 Atlas 页面的节点布局:
1. 同类词根按扇形分布在各自类别中心周围
2. 增加节点间排斥力,减少重叠
3. 缩放较小时隐藏细线,减少视觉混乱
4. 添加多层星云背景,按类别分布在不同位置

**发音功能改进**

改进 speak() 函数:
1. 优先尝试多种英文语音(Google、Apple、Microsoft)
2. 语音不可用时不报错,播放提示音作为反馈
3. 添加语音支持状态检测函数

**沉浸感增强**

增强星图的沉浸感:
1. 添加多层动态星空背景(远景、中景、近景)
2. 近景亮星带闪烁和十字光芒
3. 词根节点添加多层外发光效果
4. 已学词根显示金色边框环

4.3 踩过的坑

**坑一:星图布局混乱**

  • **问题**:初期节点随机分布,同类词根分散,连线交叉过多,视觉混乱

  • **解决**:改为按类别在圆环上分布,增加类别间排斥力,优化物理参数

**坑二:发音在某些浏览器失效**

  • **问题**:Safari 和某些 Windows 浏览器语音 API 不可用或延迟加载

  • **解决**:实现语音优先级选择、添加错误处理、准备备选提示音

**坑三:移动端触控冲突**

  • **问题**:星图的拖拽缩放与页面滚动冲突

  • **解决**:添加 touch-action CSS 属性,优化触控事件处理

**坑四:大量节点时性能下降**

  • **问题**:超过 100 个节点时,Canvas 渲染卡顿

  • **解决**:实现视口裁剪(viewport culling),只渲染可见节点


五、成果展示

5.1 项目链接

**在线演示**

https://etymology-atlas-ruby.vercel.app/e

**GitHub 仓库**

https://github.com/Janewale/etymology-atlas

5.2 项目截图

首页 - 星空主题入口

星图探索 - 词根网络可视化

词源故事 - 叙事化学习

闯关模式 - 游戏化巩固

5.3 核心数据

  • **6 大星云**(主题分类)

  • **44 个核心词根**

  • **230+ 衍生词汇**

  • **~3000 行代码**

  • **全部使用 SOLO 完成**


六、验证与下一步

6.1 已完成的验证

  • **功能完整性测试**: 所有核心功能通过手动测试

  • **多浏览器测试**: Chrome、Edge、Safari、Firefox

  • **响应式测试**: 桌面端、平板端、移动端

  • **构建验证**: `npm run build` 成功,无错误

  • **性能测试**: 100+ 节点流畅渲染

6.2 下一步计划

  • **扩充数据**: 增加更多词根和词汇(目标 1000+ 单词)

  • **学习统计**: 添加学习数据图表,展示学习曲线

  • **艾宾浩斯复习**: 实现基于遗忘曲线的智能复习提醒

  • **PWA 支持**: 支持离线访问,可添加到主屏幕

  • **导出功能**: 支持导出学习报告和单词列表


七、科技向善的思考

**教育的本质是点燃火焰,而非填满容器。**

在资源有限的环境下,一位自学的考生可能买不起昂贵的词汇课程,也可能没有时间参加培训班。词源星图希望成为这样一款工具:

  1. **零成本**: 完全免费,无付费墙

  2. **免安装**: 打开浏览器就能用,无需下载 App

  3. **保护隐私**: 学习数据存在本地,不上传云端

  4. **理解而非死记**: 通过词源逻辑建立真正的语言能力

**AI 不只是效率工具,更应该成为普惠教育的助力。**


八、使用 SOLO 的体验

**最佳实践**:

  1. 任务拆得越细越好,一次只做一件事

  2. 给 SOLO 足够的上下文,说明 “基于现有代码修改什么”

  3. CSS 调试需要耐心,多用描述性的语言说明视觉效果

**SOLO 的强大之处**:

  • 快速原型:从零到可用原型只需几轮对话

  • 持续迭代:随时提出改进意见,即刻看到效果

  • 全栈能力:从数据结构到 UI 动效,一站式完成


附:快速体验指南

  1. 访问上述地址

  2. 点击 **“Start”** 进入引导页

  3. 设置每日学习目标(建议 3-5 个词根)

  4. 进入 **星图探索**,点击感兴趣的词根

  5. 阅读 **词源故事**,学习单词拆解

  6. 完成 **闯关模式**,巩固记忆


**如果你也是一名英语学习者,欢迎试用并反馈建议!** :glowing_star: