Skip to content

Zmin2003/deepthink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepThink

基于多专家协作的 AI 深度思考系统,采用 Tree-of-Thought 方法实现复杂问题的多角度分析。

特性

  • 多专家协作 - 多个 AI 专家从不同角度并行分析问题
  • 智能规划 - 根据问题复杂度自动选择合适数量的专家
  • 搜索增强(条件触发) - 可选集成 Exa/Tavily 搜索;文件问题默认优先基于文件内容,明确需要外部信息时再联网
  • 配置驱动 - 所有参数通过管理后台配置,无需修改代码或环境变量
  • 实时流式 - WebSocket 实时推送思考过程,每个专家完成立即展示
  • OpenAI 兼容 - 提供 /v1/chat/completions 兼容端点

架构

用户提问 → Planner(规划专家) → Search(搜索上下文) → Experts(多专家并行分析) → Synthesizer(综合回答)

处理流程:

  1. Planner - 分析问题复杂度,规划需要哪些专家(动态 + 护栏)
    • 简单任务:3-4 个专家
    • 中等任务:4-5 个专家
    • 复杂任务:5-7 个专家
  2. File Analysis - 若上传文件,优先提取/总结文件内容作为核心上下文
  3. Search - 条件触发搜索(文件场景默认不联网,明确需要外部信息时才触发)
  4. Experts - 多个专家并行执行,从不同角度分析
  5. Synthesizer - 综合所有专家观点,生成最终回答

技术栈

后端

  • Node.js + Fastify
  • TypeScript
  • SQLite (sql.js)
  • OpenAI SDK

前端

  • Vue 3 + TypeScript
  • Vite
  • Pinia
  • Tailwind CSS

快速开始

1. 安装依赖

# 后端
cd backend
npm install

# 前端
cd frontend
npm install

2. 启动服务

# 后端 (端口 3001)
cd backend
npm run dev

# 前端 (端口 5173)
cd frontend
npm run dev

3. 配置系统

  1. 打开管理后台:http://localhost:5173/admin
  2. 使用默认账号登录:admin / admin123
  3. LLM 配置 中填入:
    • API Key(必填)
    • Base URL(可选,默认 OpenAI 官方地址)
    • 模型名称(如 gpt-4、gpt-3.5-turbo)
  4. 点击 Test LLM 测试连接
  5. 可选:配置搜索服务(Exa 或 Tavily)

4. 开始使用

访问 http://localhost:5173 开始提问

5. 文件问答行为说明(重要)

  • 上传文件后,系统会先进行文件解析与摘要,再进入多专家推理
  • 文件优先:文件相关问题默认不联网搜索,优先基于文件证据回答
  • 条件联网:仅当问题明确要求外部信息(如“最新/官网/标准/实时”)时触发搜索
  • 防幻觉保护:若文件可提取文本过少(接近空文件),系统会提示无法可靠分析,避免编造内容

环境变量

后端 .env 文件仅需配置服务器参数,无需配置 API Key(通过管理后台配置):

# 服务器
PORT=3001
HOST=0.0.0.0

# 数据库
DATABASE_PATH=./data/sessions.db

# CORS
CORS_ORIGINS=*

# 日志
LOG_LEVEL=info

管理后台配置

所有核心配置都在管理后台完成:

配置项 说明
LLM 配置 API Key、Base URL、默认模型
系统参数 最大轮数、质量阈值、思考深度
搜索配置 启用/禁用搜索、选择 Exa 或 Tavily、配置 API Key
用户管理 添加/删除用户、修改密码

API 端点

聊天接口

方法 路径 说明
POST /v1/chat/completions OpenAI 兼容接口(支持流式)
POST /deepthink/invoke 原生 API
WS /ws/chat WebSocket 实时通信

管理接口

方法 路径 说明
POST /api/admin/login 管理员登录
GET /api/admin/config 获取所有配置
PUT /api/admin/config/llm 更新 LLM 配置
PUT /api/admin/config/system 更新系统参数
GET/PUT /api/admin/config/search 搜索配置
POST /api/admin/test-llm 测试 LLM 连接

项目结构

deepthink-new/
├── backend/
│   └── src/
│       ├── services/
│       │   ├── deepthink/           # DeepThink 引擎
│       │   │   └── DeepThinkEngine.ts
│       │   ├── llm/                 # LLM 提供者
│       │   └── search/              # 搜索服务
│       ├── routes/                  # API 路由
│       ├── config/                  # 配置管理
│       └── middleware/              # 认证中间件
└── frontend/
    └── src/
        ├── views/                   # 页面组件
        │   ├── ChatView.vue         # 聊天界面
        │   └── AdminView.vue        # 管理后台
        ├── stores/                  # Pinia 状态
        └── services/                # API 客户端

安全提示

  • 首次使用请立即修改默认管理员密码
  • 生产环境请设置 JWT_SECRET 环境变量
  • 生产环境请限制 CORS_ORIGINS

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •