可行,jev作为轻量级浏览器智能体负责网页交互,deepseek作为后端大模型服务提供文本生成能力,二者通过api(如/v1/chat/completions)协同,需合理分配gpu显存(建议≥32gb)、cpu(≥16核)及内存(≥64gb),并分环境部署、验证响应格式与超时设置。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

硬件需求:按协同负载合理分配
不是简单叠加两套独立最低配置,而是按实际并发与响应目标统筹:
- GPU 显存是核心瓶颈:DeepSeek-R1-32B 在 INT8 量化下约需 18GB 显存(实测数据);Jev 本身不占 GPU,但若启用其可选的本地文本模型(如 DeepSeek-Coder-6.7B),需额外预留 6–8GB。建议单卡 ≥32GB(如 A100 40GB 或 H100 80GB),或双卡分任务(一卡跑 DeepSeek 主服务,一卡备用/跑轻量模型)
- CPU 与内存需支撑并发 I/O:Jev 启动 Chrome 实例、解析 DOM、维护会话状态;DeepSeek 需处理 token 流式生成、批调度。推荐 ≥16 核 CPU + ≥64GB 内存(DDR5 更佳),避免 Chrome 渲染线程与模型加载争抢资源
- 存储与网络不可忽略:Jev 需快速读取页面快照、缓存元素表;DeepSeek 加载模型权重(32B 模型约 20–25GB)。建议 NVMe SSD ≥1TB,且确保 PCIe 通道不被 GPU 和 SSD 共享导致带宽争抢(如主板支持 x16 GPU + x4 SSD 独立通道)
部署步骤:分层启动,API 对齐
不推荐在同一个 Python 环境中混装两者依赖(Jev 基于 uv + Playwright,DeepSeek 多用 PyTorch + FastAPI),应物理隔离或容器隔离:
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
-
Step 1:先部署 DeepSeek 为 HTTP 服务
使用官方仓库启动 API 服务(如uvicorn server:app --host 0.0.0.0 --port 8000 --workers 2),确保config.yaml中server.port: 8000,并开放 CORS(Jev 运行在本地前端需跨域调用) -
Step 2:配置 Jev 指向本地 DeepSeek
修改 Jev 的.env文件:TEXT_MODEL_API_BASE=http://localhost:8000/v1TEXT_MODEL_API_KEY=sk-dummy(DeepSeek 默认无需鉴权,或按 config.yaml 设置 bearer token) -
Step 3:分离运行时环境
• DeepSeek 用 conda 环境(conda activate deepseek)
• Jev 用 uv 虚拟环境(uv venv && uv sync),避免 Playwright 与 torch 版本冲突
• 可选:用 Docker Compose 统一编排,定义两个 service,通过 internal network 通信
关键验证点:避免“能跑”但“不稳”
常见失败不在安装,而在协同细节:
-
模型响应格式兼容性:Jev 依赖 OpenAI-style JSON 输出(含
choices[0].message.content)。需确认 DeepSeek 启动的服务返回结构一致——部分本地部署版本默认返回 streaming chunk,需在 API 层加 wrapper 或启用stream=false参数 -
超时与重试设置:Jev 单次决策等待默认 15 秒;DeepSeek 处理长上下文(如航班页 DOM 文本超 8k token)可能超时。建议在 Jev 的
jev/config.py中调高LLM_TIMEOUT = 45,并在 DeepSeek 的server.py中增加timeout_keep_alive=60 -
Chrome 实例隔离:Jev 默认启动无头 Chrome;若 DeepSeek 服务也调用 Selenium(极少见),需确保不同 userDataDir。Jev 已内置
--user-data-dir=/tmp/jev-chrome-XXXX,无需额外干预









