安装与依赖
| 你的场景 | 推荐路径 |
|---|---|
| 已使用 ChatArch | 在 ChatUV 建立的共享环境中安装 |
| 老应用约束冲突 | 定向升级兼容版本,或隔离旧应用 |
| 首次部署代理 | 安装 Python CLI 后,另行安装 Linux Mihomo 引擎 |
安装 Python CLI
需要 Python 3.10 或更高版本。先按 ChatArch 的标准流程完成 chatuv setup,再使用同一个解释器安装和检查:
~/.chatarch/venv/bin/python -m pip install -U chatclash
~/.chatarch/venv/bin/python -m pip check
~/.chatarch/venv/bin/chatclash --version
~/.chatarch/venv/bin/chatclash --tree
~/.chatarch/venv/bin/chatenv cat -t chatclash
上面使用默认 CHATARCH_HOME=~/.chatarch。如果自定义了 ChatArch 根目录,请对应替换路径。后续示例假设该环境的 bin 已在 PATH 中;不确定时使用完整路径,不要混用系统 Python、用户 site-packages 和其他虚拟环境。普通用户不需要源码 checkout 或 editable 安装。
ChatClash 通过 chatenv.configs 入口点 chatclash = chatclash.config 注册配置提供者。ChatClash 与 ChatEnv 必须装在同一个解释器/虚拟环境中;仅把两个可执行文件都加入 PATH 不足以保证发现。
依赖冲突
当前兼容范围包括 chatstyle>=0.2.0,<0.3.0 和 chatenv>=0.2.11,<0.3.0。ChatStyle 0.2 的共享命令树接口是必需依赖,不应降回旧版。
部分旧版 chatgh、chatup、chatvideo、chatzulip 约束 chatstyle<0.2,不能与此范围共存。以同一解释器的检查结果为准:
~/.chatarch/venv/bin/python -m pip check
~/.chatarch/venv/bin/python -m pip show chatclash chatenv chatstyle
| 检查结果 | 处理方法 |
|---|---|
旧应用限制 chatstyle<0.2 |
仅升级报告中的冲突包到已兼容的版本,再执行 pip check |
| 旧应用没有兼容版本 | 将旧应用放进独立环境;或为 ChatClash 与 ChatEnv 建立专用环境 |
| 安装成功但仍报告冲突 | 环境尚未修复,不要把安装退出码当作兼容证明 |
ChatEnv 找不到 chatclash |
核对两者所属解释器,确保提供者装在 ChatEnv 所在环境 |
不要用 --no-deps 绕过解析,也不要强行降级 ChatStyle。共享环境中避免无差别升级全部应用。专用环境可放在 ~/.chatarch/venvs/chatclash/,其中同时安装 chatclash 和 chatenv,并始终使用该环境的命令。
首次部署 Linux 服务
Python 包安装不等于引擎安装。当前引擎安装器选择 Linux amd64/arm64 资产,守护服务使用 Linux 用户级 systemd;不要把 Python 包的可安装性理解为 macOS/Windows 引擎与服务支持。
启动前先限制网络入口。 新安装的代理默认仅监听 loopback;若通过 proxy set --bind-host 改为 LAN/非 loopback,未配置的 CHATCLASH_PROXY_AUTH 会让生成操作失败而不写入配置。新生成配置将无 secret 的管理端口绑定为 127.0.0.1:9090。旧 :9090 配置需在升级后刷新生成配置;无论何种绑定,都不能直接暴露公网。代理认证不保护管理端口。
chatclash init -i
chatclash mihomo install --daemon
chatclash sub update -I
chatclash proxy validate -I
chatclash mihomo start -I
chatclash status -I
chatenv test -t chatclash
init -i通过交互输入订阅和user:password形式的代理认证,避免把秘密放进命令历史。install --daemon安装引擎并写入、启用用户级 unit,不会启动服务。需要可用的用户 systemd 会话。- 必须先安装引擎再
sub update,以便在替换配置前完成校验;不要以跳过校验作为日常安装路径。 chatenv test会请求外部站点验证代理连通性,不是纯离线配置检查。init会重写本地布局/端口配置,不是日常升级命令;已有部署不要重复初始化来“升级”。
如果订阅需要转换器,先按运维:订阅转换器配置;下载失败不表示应该先启动尚未校验的代理。
升级哪个组件?
| 操作 | 更新对象 | 是否自动重启 Mihomo |
|---|---|---|
python -m pip install -U chatclash |
当前 Python 环境中的 CLI 和依赖 | 否;也不替换引擎 |
chatclash mihomo update |
磁盘上的 Mihomo 二进制 | 否;需显式重启 |
chatclash sub update |
本机生成的 YAML | 否;需显式校验、重载 |
详见运行与维护。