无图形界面服务器:用千问终端连接本地 DeepSeek
普通用户权限 · 仅 SSH 登录 · CentOS 7 实测
在只有 SSH 的服务器上,没有图形界面,没有 root 权限,如何让 AI 助手帮你写代码、分析文件?本文介绍一种可行方案:先在服务器节点上用 llama.cpp 部署 DeepSeek 推理服务,再用千问终端(Qoder CLI CN)连接该服务,实现本地 AI 交互。
前情提要
DeepSeek 集群服务器无root本地部署指南
无图形界面服务器(仅SSH登录,普通账户)AI Agent 交互部署与测试(千问&kimi)
一、准备工作
硬件要求:CPU 至少 8 核,内存 16GB 以上,存储预留 20GB。本文以 48 核 CPU、128GB 内存节点为例。
软件环境:系统 GCC 版本低于 8.2 时,需自行编译 GCC 9.5。CMake 版本需 3.14 以上。Git 可用。
获取千问终端:在服务器上执行安装命令:
curl -fsSL https://qoder.cn/install | bash
安装后验证:qoderclicn --version。由于无浏览器,登录采用 Personal Access Token 方式:在 QoderCN 网页生成 Token,然后设置环境变量:
export QODERCN_PERSONAL_ACCESS_TOKEN="你的令牌"
二、本地部署 DeepSeek 推理服务
在目标服务器节点上,用 llama.cpp 编译一个纯 CPU 版本的推理引擎。
- 编译 llama.cpp(CPU 版)
克隆源码并配置 CMake。注意:不要开启 CUDA,避免依赖显卡驱动。命令如下:
cd ~/llama.cpp
rm -rf build-cpu
cmake -B build-cpu -DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=$HOME/software/gcc-9.5.0/install/bin/gcc
-DCMAKE_CXX_COMPILER=$HOME/software/gcc-9.5.0/install/bin/g++
-DCMAKE_CXX_STANDARD=17
-DGGML_OPENMP=ON
cmake --build build-cpu --config Release -j 48
编译成功后,可执行文件位于 build-cpu/bin/ 下。
- 下载 GGUF 模型
从 Hugging Face 或 ModelScope 下载 DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf,约 4.5GB。放置于 ~/models/ 目录。
- 启动 API 服务
使用以下命令启动 llama-server,监听所有网卡,端口 8888,上下文 32768,线程数 48:
cd ~/llama.cpp/llama.cpp-k37/build-cpu/bin
./llama-server
-m ~/models/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf
--host 0.0.0.0
--port 8888
-c 32768
-t 48
启动日志出现 listening on http://0.0.0.0:8888 即表示成功。
三、配置千问终端连接本地 API
在任意可访问该节点 IP 的机器上(例如登录节点),启动千问终端。
- 启动 Qoder CLI
进入一个空目录,避免加载大量项目文件:
mkdir -p ~/qoder-test && cd ~/qoder-test
qoderclicn
- 添加自定义模型
在交互界面输入 /model,切换到 Custom 标签页,选择 Add custom model。按以下内容填写:
协议:OpenAI-compatible → Chat Completions
Base URL:http://节点IP:8888/v1(注意:末尾必须是 /v1,不能加 /models)
Model ID:任意,例如 DeepSeek-R1-Distill-Qwen-7B
Name:任意,例如 Local-DeepSeek
API Key:任意,例如 sk-no-key
保存后,在模型列表中选中该自定义模型。
- 测试连接
输入一个简单问题,例如“你好”。如果模型开始生成回答,说明连接成功。首次响应可能较慢,请耐心等待。
四、注意事项与常见问题
- Base URL 必须准确
Base URL 应填写 http://IP:8888/v1 。如果误写成 http://IP:8888/v1/models ,千问终端会向不存在的路径发送请求,导致界面报错“File Not Found”。
- 上下文容量设置
在自定义模型配置中,Context capacity 应与 llama-server 启动时的 -c 参数一致,例如 32768。Max output 建议设为 2048 或更小,避免等待过久。
- 性能预期
纯 CPU 推理 7B 模型,生成速度约 6 tokens/s。生成 500 字回答大约需要 1 至 2 分钟。建议仅用于手动问答,不要开启自动补全。
- 服务端保持运行
llama-server 需持续运行。若关闭终端,服务会中断。建议使用 nohup 或 screen 让服务在后台运行。
- 跨节点访问
如果千问终端与 llama-server 不在同一节点,需确保服务绑定 0.0.0.0,并在千问终端所在机器上使用节点 IP 访问。集群网络通常互通,直接用 IP 即可。
- 清理会话
对话过长时,千问终端可能提示上下文超限。此时可输入 /clear 清空当前会话,重新开始。
五、总结
通过以上步骤,你可以在无图形界面、无 root 权限的服务器上,用千问终端连接本地部署的 DeepSeek 模型,实现代码辅助、文件分析等 AI 交互。整个过程完全依赖普通用户权限,适合在集群环境中使用。