📱 Android 部署指南
INFO
本教程提供两种部署方式,请按需使用哦=w=
- 手机+电脑的配合使用
- 适合大多数用户,使用手机和电脑配合部署。
- 使用手机浏览器访问电脑上的 LingChat,并在电脑上运行后端服务。
- 纯手机使用
- 适合没有电脑或想折腾的用户。
WARNING
在钦灵的努力下,手机端界面有了基础适配,在安装完毕后记得更新,不过界面可能仍有点奇怪。
一、 手机+电脑的配合使用
具体操作
请确保电脑和手机在 同一网络 下,否则无法使用。
如有需要可参考 Windows 部署 教程。
首先,查看电脑 ip 地址,如果你的电脑是 Windows 系统,先在键盘上同时按下 Windows徽标键+字母R键 输入 cmd 打开命令提示符,再在黑窗口中输入 ipconfig ,回车,窗口中可能出现以下内容:
记下其中的 IPv4 地址 后的 ip地址。
然后在电脑上打开 LingChat,观察命令提示符(黑窗口)中是否有这一行字:
INFO: Uvicorn running on http://0.0.0.0:3000 (Press CTRL+C to quit)
记下 0.0.0.0:
之后的数字,这是 端口号 。(可能与示例不同,请以实际为准)
打开你的手机浏览器,手机调为横屏,在地址栏输入 ip地址 + 一个英文的分号(: ) + 端口号 即可使用。正常情况下如下图:
二、纯手机的使用
安装 ZeroTermux 环境
前往 ZeroTermux-Github 下载ZeroTermux安装包并安装。
如果下载太慢或无法下载,可尝试使用 Github镜像源 下载并安装。
注意:安装其他版本或者选择Termux会导致以下教程出现部分的不适用,不建议这样做
进入ZeroTermux软件界面,提示完整阅读协议时记得要把文字内容拉到最底下。
双击屏幕左侧边缘(部分ZT版本是按音量上/下键),下滑并点击"切换源"。(推荐选择清华源
)
等待运行完成后,再重复一遍。(让手机加深印象)
如无特殊说明,当出现 `(Y/I/N/O/D/Z)[default=?]` 或 `[Y/N]` 时,直接点击回车,选择默认选项即可。
可选:解除进程限制(安卓 12 以上)
这一步只需安卓 12 以上版本的手机操作,如果你不清楚你的手机版本,推荐操作一下。
另外你需要打开手机开发者选项,详情搜索百度。
华为或荣耀设备请跳过此步,因为暂时用不了。
首先 安装 tmoe。
上下滑动屏幕选择 修复 android 12 ,回车,看提示选择(一般全回车默认),直到下图:
现在你需要分屏操作,分屏后点击 设置 的 开发者选项-无线调试 右边的滑块, 再点击左边 无线调试 四个大字(对没错,左边是可以点的),位置如下图:
打开新界面后,点击 使用配对码配对设备 ,弹出以下窗口,此时回到 ZeroTermux,输入 IP 地址与端口 中的内容,回车,再输入配对码,弹出下图:
在下面的窗口点 取消 ,上面窗口选择 不是 回车,然后按照下面界面另一个 IP 地址与端口 填上面窗口的内容,如下图:
之后出现下图,配置完毕,关掉下面的设置后,在 ZeroTermux 回车回到主界面。
部署 LingChat
我们提供多种方式部署 LingChat,您可以选择最合适的进行操作。当一种方式不行时,可以更换另一种方式。
- 基本上不会出现问题,最简便。
- 更加轻量化,但可能有未知问题。
方法一:使用预先打包好的容器
内置的 LingChat来自我的分支,因为develop分支更新比较频繁,避免更新出什么奇怪的问题......
下载容器
在 ZeroTermux 的终端 复制执行以下命令,这将下载本人打包好的容器:
mkdir ./storage/downloads/backup
mkdir ./storage/downloads/backup/containers
mkdir ./storage/downloads/backup/containers/proot
cd ./storage/downloads/backup/containers/proot
pkg install wget
wget https://www.modelscope.cn/models/kxdw2580/LingChat-phone-file/resolve/master/debian-bookworm_arm64-LingChat-dev_2025-07-10_21-38-rootfs_bak.tar.xz
安装tmoe
下载完毕后,再次按下 手机音量键上(+),点击 MOE全能 ,这里会跳出提示。
先点击回车,进入 协议部分 ,你需要手动输入 y
然后回车。
接下来,你需要在选择源时选择 gitee 。(如果提示是:是否从 gitee 获取相关文件? [Y/n] 则回车开始安装,反之输入一个字母 n 再回车)
之后没有问题会进入主界面。
安装 proot 和容器
在 tmoe 中选择最上面的 proot 回车。
等待安装完毕后,滑动屏幕选择 恢复/还原proot容器 回车,出现下图:
选择常规模式,回车,出现以下界面:
选右边那个,回车,出现以下界面:
输入一个 0 ,回车,等解压完成回车回到主界面。此时再进入 proot 界面,选择当前已安装容器列表,无脑回车即可打开容器。(此时需要等待容器加载完成)
如果出现以下界面,直接确定。
OK啦,LingChat安装完毕!接下来到下面学习如何启动它。
方法二:使用 proot-distro 部署
输入以下命令 安装 proot-distro。
pkg install proot-distro -y
proot-distro install debian
这样安装可能会有点慢或干脆无法下载(github的锅)。此时运行以下命令安装debian:
pkg install wget -y
wget https://modelscope.cn/models/kxdw2580/LingChat-phone-file/resolve/master/proot-distro-debian-bookwarm-0721.tar.xz
proot-distro restore ./proot-distro-debian-bookwarm-0721.tar.xz
rm -rf proot-distro-debian-bookwarm-0721.tar.xz
这时候 debian 应该安装好了,输入 proot-distro login debian
登录 debian。
之后你需要克隆 LingChat项目文件,运行的命令有以下选择:
命令都加上了加速站,如有介意者自行删除使用官方源。
git clone https://ghfast.top/github.com/SlimeBoyOwO/LingChat/
:这会使用官方的 main 分支,更稳定,但是功能较开发版有所欠缺,且未适配手机界面。git clone -b develop https://ghfast.top/github.com/SlimeBoyOwO/LingChat/
:这会使用官方的 develop 分支,更新更及时,但是可能会有未知的问题。git clone -b develop-termux https://ghfast.top/github.com/shadow01a/LingChat/
:这会使用 shadow01a 的 develop-termux 分支,尽量平衡了更新进度和稳定性,且运行经过手机测试,但未经官方审查。
根据你自己需求选择一条命令运行。
克隆完毕后,运行以下命令 安装 python 及其依赖 :
# 备份 + 更换清华源 + 更新
cp /etc/apt/sources.list /etc/apt/sources.list.bak && \
tee /etc/apt/sources.list << 'EOF'
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
EOF
apt update
#安装sqlite3依赖
apt install sqlite3 -y
#安装预先打包的 python3.12.10
wget https://modelscope.cn/models/kxdw2580/LingChat-phone-file/resolve/master/python-3.12.10-lingchat-250707.tar.gz
tar -xzf /root/python-3.12.10-lingchat-250707.tar.gz -C /root
rm -rf python-3.12.10-lingchat-250707.tar.gz
安装完毕后即可正常使用,但为了以后简便点,我们还要做一步:
# 启动脚本
tee /root/lingchat.sh > /dev/null << 'EOF'
cd LingChat
/root/python3.12.10/bin/python3.12 backend/windows_main.py
EOF
chmod +x /root/lingchat.sh
# 更新脚本
tee /root/update.sh > /dev/null << 'EOF'
cd LingChat
git pull
/root/python3.12.10/bin/python3.12 -m pip install -r requirements.txt
EOF
chmod +x /root/update.sh
这样以后可以用 bash lingchat.sh
启动 LingChat,用 bash update.sh
命令更新 LingChat。
配置 LingChat
INFO
接下来的步骤请打开容器。
如果你是使用 方法一 安装,在 ZeroTermux的终端输入 debian
启动安装好的容器。
如果你是使用 方法二 安装,在 ZeroTermux的终端输入 proot-distro login debian
启动安装好的容器。
这样部署的 LingChat 不能直接使用,需要一些配置。
首先,获取 api_key 等内容,可在 DeepSeek的官方API获取网站 , 硅基流动API获取网站 等地方获取。
然后,在容器中先粘贴以下命令,再粘贴你的 api_key ,回车运行 :
export API_KEY=
之后再运行此命令:
cd LingChat
tee /root/LingChat/.env > /dev/null << EOF
# 基础设置 BEGIN
## API 与 模型 设置 BEGIN # 配置与AI模型和API相关的密钥和地址
LLM_PROVIDER="webllm" # 在这里选择对话模型,只可以填写webllm, gemini, ollama, lmstudio四个选项,webllm代表通用需要联网的AI模型(如deepseek),ollama和lmstudio表示本地,gemini如名)
CHAT_API_KEY="$API_KEY" # DeepSeek 或其他聊天模型的 API Key
VD_API_KEY="sk-114514" # 图像识别模型的 API Key
CHAT_BASE_URL="https://api.deepseek.com" # API的访问地址
MODEL_TYPE="deepseek-chat" # 使用的模型类型
VD_BASE_URL="https://api.siliconflow.cn/v1" # 视觉模型的API访问地址
VD_MODEL="Pro/Qwen/Qwen2.5-VL-7B-Instruct" # 视觉模型的模型类型
OLLAMA_BASE_URL="http://localhost:11434" # Ollama配置- 地址
OLLAMA_MODEL="llama3" # Ollama配置- 模型
LMSTUDIO_MODEL_TYPE="unknow" # LM STUDIO 配置- 模型
LMSTUDIO_BASE_URL="http://localhost:1234/v1" # LM STUDIO 配置- 地址
LMSTUDIO_API_KEY="lm-studio" # LM STUDIO 配置- APIKEY 似乎不需要
GEMINI_API_KEY="sk-114514"
GEMINI_MODEL_TYPE="gemini-pro"
## API 与 模型 设置 END
## 对话功能设定 BEGIN # 配置RAG(检索增强生成)系统,让AI能“记忆”历史对话
USE_RAG=false # 是否启用RAG系统 [type:bool]
USE_TIME_SENSE=true # 是否启用时间感知 [type:bool]
## 对话功能设定 END
# 基础设置 END
# 开发者设置 BEGIN
## RAG系统设定 BEGIN # 配置RAG(检索增强生成)系统,让AI能“记忆”历史对话
RAG_RETRIEVAL_COUNT=3 # 每次回答时检索的相关历史对话数量
RAG_WINDOW_COUNT=5 # 取当前的最新N条消息作为短期记忆,之后则是RAG消息,然后是过去的记忆。
RAG_HISTORY_PATH="data/rag_chat_history" # RAG历史记录存储路径
CHROMA_DB_PATH="data/chroma_db_store" # ChromaDB向量数据库的存储路径
RAG_PROMPT_PREFIX="--- 以下是根据你的历史记忆检索到的相关对话片段,请参考它们来回答当前问题。这些是历史信息,不是当前对话的一部分: ---" # RAG前缀提示,支持多行
RAG_PROMPT_SUFFIX="--- 以上是历史记忆检索到的内容。请注意,这些内容用于提供背景信息,你不需要直接回应它们,而是基于它们和下面的当前对话来生成回复。 ---" # RAG后缀提示,支持多行
## RAG系统设定 END
## 存储与日志 BEGIN # 配置日志和其他文件的存储位置
BACKEND_LOG_DIR="data/logs" # 后端服务日志目录
APP_LOG_DIR="data/log" # 应用行为日志目录
TEMP_VOICE_DIR="frontend/public/audio" # 临时生成的语音文件存放目录
ENABLE_FILE_LOGGING=false # 是否将日志记录到文件
LOG_FILE_DIRECTORY="data/run_logs" # 日志文件的存储目录
## 存储与日志 END
## Debug信息 BEGIN # 用于开发和调试的设置
LOG_LEVEL=INFO # 日志设置:默认为INFO,设置为DEBUG时启用开发者模式,输出更详尽的日志
PRINT_CONTEXT=true # 更改True/False,决定是否把本次发送给llm的全部上下文信息截取后打印到终端
## Debug信息 END
## 服务端口配置 BEGIN # 配置各个服务的网络监听地址和端口
BACKEND_BIND_ADDR="0.0.0.0" # 后端监听地址
BACKEND_PORT=12746 # 后端监听端口
FRONTEND_BIND_ADDR="0.0.0.0" # 前端监听地址
FRONTEND_PORT=3000 # 前端监听端口
EMOTION_BIND_ADDR="0.0.0.0" # 情感分析服务监听地址
EMOTION_PORT=8000 # 情感分析服务监听端口
## 服务端口配置 END
# 开发者设置 END
EOF
cd
这样就配置完成了。
默认未开启RAG功能,因为这必定会导致启动后第一次的白屏,需要等待加载完成刷新才行,有需要请自行在网页打开或修改.env文件。
启动 LingChat
配置完成后,每次启动容器之后,就可以输入 bash lingchat.sh
打开 LingChat服务端,待没有东西继续输出之后,打开你的手机浏览器,手机调为横屏,在地址栏输入 127.0.0.1:12746
即可使用。如下图:
更新 LingChat
输入 bash update.sh
即可自动更新。