This is a Next.js project bootstrapped with create-next-app.
在开始运行项目前,请先配置必要的环境变量:
- 复制
.env.example文件并重命名为.env.local - 编辑
.env.local文件,填入您的API密钥:DASHSCOPE_API_KEY=your_api_key_here DASHSCOPE_API_URL=https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
配置好环境变量后,运行开发服务器:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
在Vercel上部署本项目时,需要配置以下环境变量:
- 登录Vercel账户
- 进入已部署的项目页面
- 点击顶部导航栏的"Settings"选项
- 在左侧菜单找到"Environment Variables"选项
- 添加以下两个环境变量:
- 名称:
DASHSCOPE_API_KEY,值:`` - 名称:
DASHSCOPE_API_URL,值:``
- 名称:
- 点击"Save"保存设置
- 重新部署项目
注意:虽然代码中已设置了默认的API密钥和URL,在Vercel上配置环境变量可以提高安全性,并且方便未来更新API密钥。
Check out our Next.js deployment documentation for more details.
本项目已经通过以下方式进行了优化,确保在Vercel部署环境中获得良好的用户体验:
- Edge Runtime使用: 使用Edge运行时提高API响应速度和稳定性
- API响应缓存: 对相同内容的请求进行缓存,减少重复API调用
- 分段处理机制: 支持处理任意长度的文章,通过智能分段和并行处理提高效率
- 模型选择优化: 使用qwen-turbo模型提高响应速度
- 超时控制: 添加明确的超时设置,提高请求可靠性
- 平滑进度显示: 改进进度条显示逻辑,更直观展示处理过程
- 分段处理状态: 显示当前处理进度和总段数,提供更好的用户体验
- 离线模式支持: 当API不可用时,使用本地处理提供基本功能
- 错误处理增强: 提供明确的错误信息和可行的恢复选项
- Markdown渲染改进: 优化Markdown内容渲染,提供更好的阅读体验
- 重试机制: 支持请求失败时重试,并智能切换到离线模式
本项目采用智能分段处理机制来处理长文本:
- 智能分段: 系统会自动将长文本按段落和句子进行智能分割,确保每段内容不超过2000字符
- 并行处理: 所有段落会并行处理,提高整体处理速度
- 上下文保持: 每段处理时会考虑其在原文中的位置,保持内容的连贯性
- 进度显示: 前端会显示当前处理的段落进度,让用户了解处理状态
- 结果合并: 所有段落处理完成后会自动合并,确保最终结果的完整性
在低网络连接质量或API服务中断时,应用将自动降级到离线模式,确保用户仍能获得基本功能,提高应用整体可用性。