OneLine(一线)是一个AI驱动的热点事件梳理分析工具,让您轻松追踪和了解热门事件的发展过程及其带来的影响。
在线体验:https://oneline.chengtx.me
- 利用AI技术为热点新闻生成完整时间轴,直观展示事件发展过程
- 支持自定义搜索内容,实时生成您感兴趣的事件时间轴
- 内置网络搜索功能,自动获取最新事件信息
- 简洁优雅的用户界面,提供流畅的浏览体验
- 支持多种AI模型,包括Gemini和OpenAI的API
- 支持SearXNG自定义搜索引擎,提供更精准的内容检索
- Next.js
- React
- TypeScript
- Tailwind CSS
- shadcn/ui 组件库
fork仓库后填入环境变量部署即可
直接使用预构建的Docker镜像:
docker pull justincnn/oneline
然后运行容器:
docker run -p 3000:3000 justincnn/oneline
访问 http://localhost:3000
即可使用。
如果需要自定义配置,可以通过环境变量进行设置:
docker run -p 3000:3000 \
-e API_ENDPOINT=https://api.example.com/v1/chat/completions \
-e API_MODEL=gemini-2.0-pro-exp-search \
-e API_KEY=your_api_key_here \
-e NEXT_PUBLIC_ALLOW_USER_CONFIG=true \
-e NEXT_PUBLIC_SEARXNG_URL=https://sousuo.emoe.top \
-e NEXT_PUBLIC_SEARXNG_ENABLED=true \
justincnn/oneline
- 克隆仓库
git clone https://github.com/chengtx809/OneLine.git
cd OneLine
- 安装依赖
# 使用bun包管理器(推荐)
bun install
# 或使用npm
npm install
- 配置环境变量
# 复制环境变量示例文件
cp .env.example .env.local
# 编辑.env.local文件,填入所需的API密钥等信息
- 启动开发服务器
bun run dev
# 或使用npm
npm run dev
- 访问
http://localhost:3000
开始使用
在 .env.local
中配置以下环境变量:
# AI API端点
# 可以是OpenAI、Google Gemini等API
API_ENDPOINT=https://api.example.com/v1/chat/completions
# API模型名称
API_MODEL=gemini-2.0-pro-exp-search
# API密钥
API_KEY=your_api_key_here
# 是否允许用户自定义API配置
# "false"表示用户不能修改API配置
# "true"表示用户可以修改API配置
NEXT_PUBLIC_ALLOW_USER_CONFIG=true
# 访问密码(可选)
# 如果设置,用户需要输入密码才能访问API功能
NEXT_PUBLIC_ACCESS_PASSWORD=your_access_password_here
# SearXNG搜索引擎配置
# SearXNG搜索引擎的URL
NEXT_PUBLIC_SEARXNG_URL=https://sousuo.emoe.top
# 是否启用SearXNG
NEXT_PUBLIC_SEARXNG_ENABLED=true
重要说明:
- 当
NEXT_PUBLIC_ALLOW_USER_CONFIG
设置为false
时,用户将无法修改API配置 - 设置
NEXT_PUBLIC_ACCESS_PASSWORD
可增加对API访问的安全控制 - SearXNG配置为可选,提供更精准的搜索能力
OneLine支持集成SearXNG搜索引擎,以提高搜索质量:
- 当设置了
NEXT_PUBLIC_SEARXNG_URL
环境变量时,系统将自动启用SearXNG - 也可通过
NEXT_PUBLIC_SEARXNG_ENABLED
明确控制是否启用SearXNG - 建议使用自己搭建的SearXNG实例,以获得更稳定的服务
SearXNG是一个尊重隐私的元搜索引擎,可以聚合多个搜索引擎的结果,提供更全面的搜索效果。
OneLine可以轻松部署到Vercel平台:
- Fork此仓库到您的GitHub账户
- 在Vercel中导入该项目
- 在Vercel环境变量设置中配置所需的API密钥和端点(至少需要设置
API_KEY
和API_ENDPOINT
) - 如果需要控制访问权限,可设置
NEXT_PUBLIC_ACCESS_PASSWORD
环境变量 - 部署完成后,Vercel会提供一个域名,您可以直接访问或绑定自定义域名
注意:如果在Vercel上部署遇到API超时问题,可以尝试修改netlify.toml
文件中的配置以解决。
欢迎通过Pull Request或Issue贡献代码或提出建议。
本项目采用MIT许可证 - 详情请查看LICENSE文件。
- 在线演示:https://oneline.chengtx.me
- 项目仓库:https://github.com/chengtx809/OneLine
- Docker镜像:justincnn/oneline
- 感谢@snailyp大佬的gemini-balance项目,为本项目Demo提供了API支持
- 感谢@justincnn维护Docker镜像
- 感谢所有贡献者和使用者的支持和反馈