AI助力软件开发 – 豆包+Trae CN开发体验

article/2025/6/28 2:13:42

陈拓 2025/5/30-2025/5/31

1. 概述

1.1 在AI的辅助下怎样快速开发一个软件原型?

在 豆包(智能助手) 和 Trae CN(低代码开发平台) 的协同辅助下,开发软件原型的流程将更加高效自动化。

怎样使用“豆包 + Trae CN“加快软件开发,我们可以让豆包给一个结合 AI 能力的软件开发全流程指南,例如向豆包提问:

在 豆包 + Trae CN 的辅助下怎样快速开发一个软件原型?

豆包会给出一份涵盖从需求分析、代码生成到测试迭代等关键环节的操作流程,并附具体工具推荐和操作要点。

通过豆包的智能对话和 Trae CN 的低代码能力,即使是非技术团队也能在数小时内完成原型开发,尤其适合快速验证商业想法或内部工具搭建。建议从核心场景入手,逐步扩展功能,充分利用两者的联动优势提升效率。

1.2 开发体验

下面我们在Windows系统中,用豆包 + Trae CN辅助快速实现一个软件原型,目标是写《营养膳食评价》系统中的子模块“DRIs”中的二级子模块“宏量元素 EER 参考摄入量查询”界面。如果操作熟练的话1小时就可以完成任务。

要求:

  • 服务器/浏览器模式
  • Python(后端)+ javascript(前端)

2. 开发环境和工具

2.1 开发环境

  • Windows 10

  • Python

  • SQLite 3

  • javascript

2.2 开发工具

  • 豆包

由字节跳动开发。

安装桌面版使用更方便。

  • Trae CN

‌字节跳动开发的中国首款AI原生集成开发环境(AI IDE)。

Trae与VSCode在操作上的相似性主要体现在界面布局、快捷键和代码段等方面。‌

Trae在注册过程中会自动继承VSCode的所有配置,包括快捷键和代码段等,这使得用户在使用Trae时会感到非常熟悉和舒适。具体来说,Trae的界面与VSCode非常相似,右侧多了一个AI屏幕,但整体布局和操作方式几乎一致。这种设计使得用户可以迅速上手,减少学习成本。

  • SQLiteStudio

https://www.sqlitestudio.pl/

管理SQLite数据库的利器。

  • OfficeLens

手机扫描工具。

自动几何校正功能使得图片转文字正确率更高。

3. 构造项目架构

3.1 创建虚拟环境

为每个项目创建独立环境,相互隔离以避免版本冲突。

  • 打开一个CMD窗口

  • 进入要创建虚拟环境的目录

D:

cd D:\myn\code

  • 使用 venv(Python 3.3+ 自带)创建虚拟环境

python3 -m venv myenv      # 创建环境

.\myenv\Scripts\activate   # Windows 激活

  • 进入虚拟环境目录myenv

cd myenv

3.2 创建初始项目目录结构

  • 创建项目目录DRIs

mkdir DRIs

  • 进入DRIs目录

cd DRIs

  • 创建一个空的python文件app.py

echo. > app.py

  • 创建html页面目录

mkdir templates

  • 进入templates目录

cd templates

  • 创建一个空的页面文件index.html

echo. > index.html

  • 项目目录结构

cd D:\myn\code\myenv

tree DRIs

D:\myn\code\myenv\DRIs

├── app.py

└── templates/

    └── index.html

以上的操作可以在文件资源管理器中更容易的完成,这里用命令行操作是为了熟悉和适应在Trae CN环境中集成的终端窗口中进行操作。

你也可以让豆包帮你写一个批处理文件来完成上面的工作,但如果你熟悉CMD命令,手工操作会更快一些。

4. 创建DRIs数据库

4.1 数据来源

中国居民膳食营养素参考摄入量速查手册(2023版)

4.2 用OfficeLens拍照表格

表 5-1 膳食能量需要量(EER):

4.3 在豆包中转换

  • 上传附件

将上面的图片作为附件上传,上传一个多个都可以。两张图片一起上传,转换成文字后可以将两个分开的表自动连接成一个整张的表。

  • 请将附件中的图片识别成文字。

  • 请将上面的表格转换为CSV格式。

年龄 / 阶段,MJ/d(男性 - PAL Iᵃ),kcal/d(男性 - PAL Iᵃ),MJ/d(男性 - PAL IIᵇ),kcal/d(男性 - PAL IIᵇ),MJ/d(男性 - PAL IIIᶜ),kcal/d(男性 - PAL IIIᶜ),MJ/d(女性 - PAL Iᵃ),kcal/d(女性 - PAL Iᵃ),MJ/d(女性 - PAL IIᵇ),kcal/d(女性 - PAL IIᵇ),MJ/d(女性 - PAL IIIᶜ),kcal/d(女性 - PAL IIIᶜ)

0 岁~,—,—,0.38MJ/(kg・d),90kcal/(kg・d),—,—,—,0.38MJ/(kg・d),90kcal/(kg・d),—,—,—

0.5 岁~,—,—,0.31MJ/(kg・d),75kcal/(kg・d),—,—,—,0.31MJ/(kg・d),75kcal/(kg・d),—,—,—

1 岁~,—,—,3.77,900,—,—,—,3.35,800,—,—,—

2 岁~,—,—,4.60,1100,—,—,—,4.18,1000,—,—,—

3 岁~,—,—,5.23,1250,—,—,—,4.81,1150,—,—,—

4 岁~,—,—,5.44,1300,—,—,—,5.23,1250,—,—,—

5 岁~,—,—,5.86,1400,—,—,—,5.44,1300,—,—,—

6 岁~,5.86,1400,6.69,1600,7.53,1800,5.44,1300,6.07,1450,6.90,1650

7 岁~,6.28,1500,7.11,1700,7.95,1900,5.65,1350,6.49,1550,7.32,1750

8 岁~,6.69,1600,7.74,1850,8.79,2100,6.07,1450,7.11,1700,7.95,1900

9 岁~,7.11,1700,8.16,1950,9.20,2200,6.49,1550,7.53,1800,8.37,2000

10 岁~,7.53,1800,8.58,2050,9.62,2300,6.90,1650,7.95,1900,8.79,2100

11 岁~,7.95,1900,9.20,2200,10.25,2450,7.32,1750,8.37,2000,9.41,2250

12 岁~,9.62,2300,10.88,2600,12.13,2900,8.16,1950,9.20,2200,10.25,2450

15 岁~,10.88,2600,12.34,2950,13.81,3300,8.79,2100,9.83,2350,11.09,2650

18 岁~,9.00,2150,10.67,2550,12.55,3000,7.11,1700,8.79,2100,10.25,2450

30 岁~,8.58,2050,10.46,2500,12.34,2950,7.11,1700,8.58,2050,10.04,2400

50 岁~,8.16,1950,10.04,2400,11.72,2800,6.69,1600,8.16,1950,9.62,2300

65 岁~,7.95,1900,9.62,2300,—,—,6.49,1550,7.74,1850,—,—

75 岁~,7.53,1800,9.20,2200,—,—,6.28,1500,7.32,1750,—,—

孕早期,—,—,—,—,—,—,+0,+0,+0,+0,+0,+0

孕中期,—,—,—,—,—,—,+1.05,+250,+1.05,+250,+1.05,+250

孕晚期,—,—,—,—,—,—,+1.67,+400,+1.67,+400,+1.67,+400

乳母,—,—,—,—,—,—,+1.67,+400,+1.67,+400,+1.67,+400

注:PAL Iᵃ、PAL IIᵇ和 PAL IIIᶜ分别代表低强度身体活动水平、中等强度身体活动水平和高强度身体活动水平。“—” 表示未制定或未涉及;“+” 表示在相应年龄阶段的成年女性需要量基础上增加的需要量。

5. 在Trae CN中创建数据库

5.1 在Trae CN中打开项目文件夹

5.2 与Trae协作创建数据库

  • 输入数据库描述

请将下面的数据转换为SQLite3数据库。数据库名称为DRIs,在DRIs中创建1个表,表名称为EER。

年龄 / 阶段,MJ/d(男性 - PAL Iᵃ),kcal/d(男性 - PAL Iᵃ),MJ/d(男性 - PAL IIᵇ),kcal/d(男性 - PAL IIᵇ),MJ/d(男性 - PAL IIIᶜ),kcal/d(男性 - PAL IIIᶜ),MJ/d(女性 - PAL Iᵃ),kcal/d(女性 - PAL Iᵃ),MJ/d(女性 - PAL IIᵇ),kcal/d(女性 - PAL IIᵇ),MJ/d(女性 - PAL IIIᶜ),kcal/d(女性 - PAL IIIᶜ)

0 岁~,—,—,0.38MJ/(kg・d),90kcal/(kg・d),—,—,—,0.38MJ/(kg・d),90kcal/(kg・d),—,—,—

0.5 岁~,—,—,0.31MJ/(kg・d),75kcal/(kg・d),—,—,—,0.31MJ/(kg・d),75kcal/(kg・d),—,—,—

1 岁~,—,—,3.77,900,—,—,—,3.35,800,—,—,—

2 岁~,—,—,4.60,1100,—,—,—,4.18,1000,—,—,—

3 岁~,—,—,5.23,1250,—,—,—,4.81,1150,—,—,—

4 岁~,—,—,5.44,1300,—,—,—,5.23,1250,—,—,—

5 岁~,—,—,5.86,1400,—,—,—,5.44,1300,—,—,—

6 岁~,5.86,1400,6.69,1600,7.53,1800,5.44,1300,6.07,1450,6.90,1650

7 岁~,6.28,1500,7.11,1700,7.95,1900,5.65,1350,6.49,1550,7.32,1750

8 岁~,6.69,1600,7.74,1850,8.79,2100,6.07,1450,7.11,1700,7.95,1900

9 岁~,7.11,1700,8.16,1950,9.20,2200,6.49,1550,7.53,1800,8.37,2000

10 岁~,7.53,1800,8.58,2050,9.62,2300,6.90,1650,7.95,1900,8.79,2100

11 岁~,7.95,1900,9.20,2200,10.25,2450,7.32,1750,8.37,2000,9.41,2250

12 岁~,9.62,2300,10.88,2600,12.13,2900,8.16,1950,9.20,2200,10.25,2450

15 岁~,10.88,2600,12.34,2950,13.81,3300,8.79,2100,9.83,2350,11.09,2650

18 岁~,9.00,2150,10.67,2550,12.55,3000,7.11,1700,8.79,2100,10.25,2450

30 岁~,8.58,2050,10.46,2500,12.34,2950,7.11,1700,8.58,2050,10.04,2400

50 岁~,8.16,1950,10.04,2400,11.72,2800,6.69,1600,8.16,1950,9.62,2300

65 岁~,7.95,1900,9.62,2300,—,—,6.49,1550,7.74,1850,—,—

75 岁~,7.53,1800,9.20,2200,—,—,6.28,1500,7.32,1750,—,—

孕早期,—,—,—,—,—,—,+0,+0,+0,+0,+0,+0

孕中期,—,—,—,—,—,—,+1.05,+250,+1.05,+250,+1.05,+250

孕晚期,—,—,—,—,—,—,+1.67,+400,+1.67,+400,+1.67,+400

乳母,—,—,—,—,—,—,+1.67,+400,+1.67,+400,+1.67,+400

这个转换工作在豆包中也能做,与Trae协作的好处是不用在工具间来回切换,生成代码后可以直接测试。

  • 生成结果

生成一个Python文件。你也可以让Trae生一些SQL命令来完成数据库的创建工作,但用Python更方便一些。

点击 应用 生成create_database.py

点击 接受

  • 运行create_database.py

在Trae中打开一个终端:

PS表示该终端是PowerShell。

运行Python程序:

python create_database.py

Incorrect number of bindings supplied. The current statement uses 13, and there are 14 supplied.

  • 修改代码,将表EER中的id字段设置成自动增加

应用

接受

  • 再运行create_database.py

错误依然存在:

可见,id自动是否自动增加不是问题的原因。

点击 添加到对话

发送

……

应用

接受

  • 再次运行create_database.py

这次完成了。

5.3 在SQLiteStudio中查看数据库

6. 写前端页面

6.1 找一个页面模板截图

6.2 将截图作为附件上传给豆包,并向豆包提出请求

请将附件中的图片写成html页面,并去掉 能量EER 和 -生理状态- 2个下拉框。

6.3 在豆包中转换

  • 生成html页面

点击“预览”查看效果:

  • 修改标题

将标题修改为:宏量元素 EER 参考摄入量查询

  • 修改下拉框大小

“- 年龄/周期 –”下拉框再高一些,宽一些

7. 写后端代码,同时修改相应的前端代码

7.1 写服务器代码和修改html代码

  • 让豆包帮我们写服务器和html代码。功能要求:

1、用Python写一个Web服务器代码,功能要求:从数据库DRIs.db的表EER中读取“年龄_阶段”列,填充上面html页面的“- 年龄/周期 -”下拉框。

2、修改前端html代码与后端Python程序配合。

表EER的DDL如下:

CREATE TABLE IF NOT EXISTS EER (

    id INTEGER PRIMARY KEY AUTOINCREMENT,

    年龄_阶段 TEXT,

    MJ_d_男性_PAL_Iᵃ TEXT,

    kcal_d_男性_PAL_Iᵃ TEXT,

    MJ_d_男性_PAL_IIᵇ TEXT,

    kcal_d_男性_PAL_IIᵇ TEXT,

    MJ_d_男性_PAL_IIIᶜ TEXT,

    kcal_d_男性_PAL_IIIᶜ TEXT,

    MJ_d_女性_PAL_Iᵃ TEXT,

    kcal_d_女性_PAL_Iᵃ TEXT,

    MJ_d_女性_PAL_IIᵇ TEXT,

    kcal_d_女性_PAL_IIᵇ TEXT,

    MJ_d_女性_PAL_IIIᶜ TEXT,

    kcal_d_女性_PAL_IIIᶜ TEXT

)

发送,生成代码:

Python代码:

html代码:

  • 将Python代码复制到项目的app.py文件中

  • 将html代码复制到项目的index.html中

7.2 让Trae CN的终端进入虚拟环境

  • 进入虚拟目录

cd D:\myn\code

  • 激活虚拟目录

.\myenv\Scripts\activate   # Windows 激活

  • 回到项目目录

cd D:\myn\code\myenv\DRIs

  • 虚拟环境下的Python版本

7.3 安装依赖

pip install flask-sqlalchemy

pip list

7.4 运行 Python 服务器

python app.py

警告信息“WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.”表示当前使用的服务器仅适用于开发阶段,无法满足生产环境的性能和安全性要求‌。

7.5 在浏览器中访问:http://localhost:5000

  • 打开页面

  • 从下拉框选择“年龄/周期“

  • 让豆包修改年龄显示顺序

请修改上面的代码,按照数据库DRIs中表EER的id字段顺序显示年龄顺序。

主要修改点:

修改前的语句:

cursor.execute('SELECT DISTINCT 年龄_阶段 FROM EER ORDER BY 年龄_阶段')

将 SQL 查询中的ORDER BY 年龄_阶段改为ORDER BY id ASC

明确指定升序排列(ASC),确保按照 id 从小到大的顺序返回数据。

修改后的语句:

cursor.execute('SELECT DISTINCT 年龄_阶段 FROM EER ORDER BY id ASC')

这样修改后,前端下拉框中的年龄选项将按照表 EER 中记录的 id 顺序显示,而不是按年龄文本排序。前端 HTML 代码无需修改,因为数据排序逻辑由后端控制。

同样的问题也可以提给Trae,通过比较,豆包解决问题的能力似乎更强一些。

修改app.py代码后的效果:

选择一个年龄段,例如:30岁~

  • 点击“查询“按钮获取数据

完成!在整个开发过程中我们自己没有写一行代码。

8. 后续工作

后续我们可以让 豆包 + Trae帮助我们完善软件原型。

  • 优化代码

基本功能实现之后,进一步优化代码。

  • 美化页面

在开发各个子模块的过程中,不同的参考模板有不同的页面风格,在所有的功能完成之后可以上传所有的html页面:

让豆包帮我们按照统一的格式美化页面。

  • 分离style

统一页面格式后可以分离html文件中的style,生成CSS文件。

在HTML文档中,将内联样式(style属性中的样式)迁移到外部CSS文件中,可以提高代码的可维护性和可重用性,并且可以减少HTML文件的大小,加快网页加载速度。

  • 分离javescript

从html文档中分离javescript代码,生成外部js文件。

在HTML文档中分离JavaScript代码,并将它们提取到外部的JS文件中,是一种优化网页性能和保持代码组织性的良好实践。这样做可以让HTML文件更加清晰,同时也有助于浏览器缓存JS文件,减少每次页面加载时的JavaScript执行时间。

9. 部署注意事项

  • 生产环境建议

后端使用Gunicorn+Nginx部署,前端使用Vite/Webpack打包。

  • 跨域问题解决

Flask需配置CORS支持,开发时可启用代理服务器。

  • 完整项目

建议采用Vue CLI创建前端+Flask后端的结构,通过API规范实现解耦。

  • 对于需要本地计算的场景可参考vue-pywebview-pyinstaller方案打包成桌面应用。

这些工作也可以在豆包 + Trae的辅助下完成。

参考网址

  1. 健康中国2030
    https://healthchina2030.com/Tools/DRIs-4.html


http://www.hkcw.cn/article/ytKfsXSDwr.shtml

相关文章

OpenWrt 搭建 samba 服务器的方法并解决 Windows 不允许访问匿名服务器的方法

文章目录 一、安装所需要的软件二、配置自动挂载三、配置 Samba 服务器四、配置 Samba 访问用户和密码(可选)新建 Samba 专门的用户添加无密码的 Samba 账户使用root账户 五、解决 Windows 无法匿名访问Samba方案一 配置无密码的Samba账户并启用匿名访问…

ChatOn:智能AI聊天助手,开启高效互动新时代

在当今快节奏的生活中,无论是工作、学习还是日常交流,我们常常需要快速获取信息、整理思路并高效完成任务。ChatOn 正是为满足这些需求而生,它基于先进的 ChatGPT 和 GPT-4o 技术,为用户提供市场上最优秀的中文 AI 聊天机器人。这…

java 多线程

1.创建方式一&#xff1a;继承Thread类来实现 package day04;public class thread_learn {//main方法是主线程public static void main(String[] args) {//4.创建线程对象MyThread t1new MyThread();//5.启动线程,还是调run方法执行的t1.start();for (int i 0; i < 5; i) {…

模型评估相关问题

模型评估相关 评估指标相关AUC的概念&#xff0c;计算过程&#xff1f;除了auc还有什么度量排序结果的指标特异度&#xff08;Specificity&#xff09;F1 scoreKL散度的概念 评估指标相关 AUC的概念&#xff0c;计算过程&#xff1f;除了auc还有什么度量排序结果的指标 AUC&a…

深度剖析:AI 建站的现状、局限与未来展望-AI编程建站实战系列预告优雅草卓伊凡

深度剖析&#xff1a;AI 建站的现状、局限与未来展望-AI编程建站实战系列预告优雅草卓伊凡 在当下科技飞速发展的时代&#xff0c;AI 技术如同一颗璀璨的星辰&#xff0c;在各个领域熠熠生辉&#xff0c;建站领域亦深受其影响。不少人产生了一种错觉&#xff0c;认为 AI 建站已…

审计- 1- 审计概述

1.财务报表审计的概念 财务报表审计是指注册会计师对财务报表是否不存在重大错报提供合理保证&#xff0c;以积极方式提出意见&#xff0c;增强除管理层之外的预期使用者对财务报表信赖的程度。 1.1 审计业务三方关系人 注册会计师对财务报表发表审计意见是注册会计师的责任管…

阿里云服务器-解决宝塔登录不成功

出现问题&#xff1a; This site can’t be reached XX.XX.XXX.XXX took too long to respond. Try: Checking the connection Checking the proxy and the firewall Running Windows Network Diagnostics ERR_CONNECTION_TIMED_OUT 可能是端口未开放 原因&#xff1a;服务器…

机器学习算法:逻辑回归

1. 基础概念 定义&#xff1a; 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于解决二分类问题的监督学习算法&#xff0c;通过概率预测样本属于某一类别的可能性。 核心特点&#xff1a;输出是概率值&#xff08;0~1&#xff09;&#xff0c;通过阈值&#…

交警系统“新基建”启示录:数据库一体化承载平台从破解困局到筑牢底座

前言 清晨7点&#xff0c;某市主干道的早高峰车流中&#xff0c;一辆套牌车刚刚驶过路口&#xff0c;指挥中心的预警信息已同步推送至执勤民警的警务终端。3分钟后&#xff0c;这辆违法车辆被精准拦截——这一场景的实现&#xff0c;得益于该市交警支队近期完成的核心数据库系统…

Jmeter逻辑控制器、定时器

目录 一、Jmeter逻辑控制器 ①IF(如果)控制器 作用&#xff1a; 位置&#xff1a; 参数介绍&#xff1a; 步骤&#xff1a; ②循环控制器 作用&#xff1a; 位置&#xff1a; 步骤&#xff1a; 线程组属性VS循环控制器 ③ForEach控制器 作用&#xff1a; 位置&am…

PH热榜 | 2025-06-01

1. Zown 标语&#xff1a;人工智能驱动的购房平台 介绍&#xff1a;Zown是唯一一个利用人工智能技术提供全面购房服务的平台。它自动完成 affordability&#xff08;购房能力&#xff09;审核、预批准、智能房源推荐和出价预测等步骤。在这个过程中&#xff0c;您可以将最多达…

NPM前端高频面试题解析

文章目录 基础概念篇使用技巧篇高级应用篇工程化篇安全与优化篇综合实战篇 基础概念篇 什么是NPM&#xff1f;它的主要作用是什么&#xff1f; 解析&#xff1a;NPM(Node Package Manager)是Node.js的包管理工具&#xff0c;用于安装、共享和管理JavaScript依赖。主要作用包括&…

电脑桌面便签软件哪个好?桌面好用便签备忘录推荐

在日常办公中&#xff0c;一款优秀的桌面便签工具能显著提升工作效率。面对市面上琳琅满目的选择&#xff0c;不少用户都难以抉择。如果你正在寻找一款兼具轻量化与多功能性的便签软件&#xff0c;那么集实用性与便捷性于一身的"好用便签"&#xff0c;或许就是你的理…

数据质量管理平台的源头治理工作流程

依据相关的国家标准、行业标准和地方标准&#xff0c;建立科学、客观的数据质量评价体系&#xff0c;充分运用大数据相关技术和机器学习相关理论&#xff0c;实现海量信息的异常探查和智能修复&#xff0c;实时监控数据质量波动&#xff0c;以数据质量通报和考核为抓手&#xf…

RAG(检索增强生成)

什么是RAG&#xff1f; 当我们根据公司内的复杂文档开发一个项目的时候遇到一些问题我们直接去问大模型&#xff0c;大模型因为没有公司内相对应的文档数据所以它只会回答毫不相关的一些答案&#xff0c;这称之为“大模型出现了幻觉”&#xff0c;但当我们把问题和文档一起发送…

英文投资理财源码挖矿源码投资理财系统源码(源码下载)

英文投资理财源码挖矿源码投资理财系统源码 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/90946278 更多资源下载&#xff1a;关注我 图片&#xff1a;

Linux学习笔记:shell脚本篇(1)

什么是shell脚本 Shell脚本是可以运行的文本&#xff0c;其内容是由逻辑和数据组成&#xff0c;是解释型语言。shell 是一种脚本语言 脚本&#xff1a;本质是一个文件&#xff0c;文件里面存放的是 特定格式的指令&#xff0c;系统可以使用脚本解析器 翻译或解析 指令 并执行…

入户调查已开始 请积极配合 2025年人口跟访登记

入户调查已开始 请积极配合 2025年人口跟访登记!2025年第一次人口固定样本跟访调查于6月1日-6月25日入户登记如遇到调查员上门询问还请您多多配合与支持!来源 | 江西统计微信公众号责任编辑:0882

上市首秀后 霸王茶姬能睡个好觉了 强劲业绩支撑全球化布局

上市首秀后 霸王茶姬能睡个好觉了 强劲业绩支撑全球化布局!5月30日晚,霸王茶姬发布了上市以来首份季度财报,GMV、净收入和利润等关键经营数据均取得双位数增长。财报还披露,霸王茶姬小程序会员数突破1.9亿,品牌在海外市场也取得了显著成绩。近年来,新茶饮行业面临诸多挑战…

中国女生哈佛演讲引争议 回应质疑

中国女生哈佛演讲引争议 回应质疑!在哈佛大学毕业典礼上发表演讲的中国学生蒋雨融引起了广泛关注。6月2日凌晨,她在社交媒体上回应了相关争议。蒋雨融提到,她从小父母离婚并分居,跟随母亲四处搬家转学。初中时曾遭受霸凌,她只能通过阅读书籍来寻求慰藉。在美国求学期间,她…