华为云码道 CodeArts CLI 部署到 Linux 服务器:完整步骤与 3 个坑
一、背景
码道 CodeArts 代码智能体除了 IDE、VS Code / JetBrains 插件,还提供 CLI / TUI 形态,可以在纯终端环境和 Linux 服务器上使用,适合以下场景:
- 在服务器上做脚本化、批量的编码任务
- 没有图形界面的开发机
- 想把 AI 编码能力接进 CI 或者定时任务
本文记录在一台 Ubuntu 服务器上部署并授权码道 CLI 的完整过程,以及实际踩到的 3 个坑。
二、安装(Linux x64)
官方安装脚本,一条命令搞定:
sh -c "$(curl -L https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)" && export PATH=~/.codeartsdoer/installers:$PATH
安装脚本会读取官方的版本清单 JSON,按 os / arch 自动匹配安装包(linux-x64、linux-x64-musl、linux-arm64 等),下载解压到 ~/.codeartsdoer/installers,并自动把该目录写进 ~/.bashrc 的 PATH。
验证安装:
codearts --version
正常回显版本号(例如 26.9.12)即安装成功。
三、授权:只能用 AK/SK,没有浏览器登录
这是需要提前知道的一点:码道 CLI 基于华为云 AK/SK 鉴权,不像 IDE 那样弹出浏览器让你登录。
获取密钥:控制台 → 我的凭证 → 访问密钥 → 新增访问密钥,然后立即下载 credentials.csv(弹窗关闭后无法再次查看)。
写入环境变量,建议单独放一个文件便于控制权限:
cat >> ~/.codearts_env <<'EOF'
export CODEARTS_CLI_AK="你的 AK"
export CODEARTS_CLI_SK="你的 SK"
EOF
chmod 600 ~/.codearts_env
echo '[ -f ~/.codearts_env ] && source ~/.codearts_env' >> ~/.bashrc
没有配置时执行会直接报错:认证失败,没有设置环境变量 CODEARTS_CLI_AK / CODEARTS_CLI_SK。
安全提示:账号级访问密钥拥有该账号所有资源的操作权限,且不受授权策略限制。长期使用建议创建 IAM 子用户,访问方式只勾选编程访问,并授予工作所需的最小权限。
四、踩到的 3 个坑
坑 1:文件夹未被信任
第一次在工作目录里执行任何 codearts 命令都会失败:
Error: Unexpected error ...
文件夹未被信任: /home/xxx
原因是 CLI 默认开启文件夹信任保护(folderTrust)。解决办法是在 ~/.codeartsdoer/cli-data/settings.json 里显式信任工作目录:
{
"security": {
"folderTrust": { "enabled": true },
"trustedFolders": ["/home/xxx/my-project"]
}
}
改完再执行 codearts models,就能正常列出可用模型了。
坑 2:从 Windows 传密钥到 Linux,Secret Key 末尾多了一个 \r
用 Python 的 subprocess 配合 text=True 通过 SSH 推送 env 文件时,Windows 会自动把 \n 转成 \r\n,结果 Linux 上变量值末尾带了一个 \r,AK 长度变成 21、SK 变成 41,鉴权一直失败。
排查技巧是只回显长度、不回显密钥内容:
source ~/.codearts_env; echo ${#CODEARTS_CLI_AK} ${#CODEARTS_CLI_SK}
# 正常应为 20 40
修法:推送时传 bytes(input=content.encode(“utf-8”)),保证远端是 LF 换行。
坑 3:密钥文件权限别偷懒
.env 这类文件一定要 chmod 600,也不要提交到任何仓库。访问密钥只在创建时可见一次,丢了就删掉重建。
五、日常用法
codearts # 进入 TUI 交互模式
codearts run "用 Python 写一个..." # 非交互执行一条任务,适合脚本和定时任务
codearts models # 列出当前账号可用的模型
codearts stats # 查看 Token 用量与会话统计
codearts export [sessionID] # 导出会话数据
codearts upgrade # 升级到最新版本
实测执行一条 codearts run 会新建一个会话,产生约 1.2 万 Token 的消耗。
六、小结
- 安装和授权本身不复杂,两条命令的事;
- 真正的门槛在"文件夹信任"和"密钥换行符"这两个隐蔽问题上,报错信息也不够直观;
- 生产环境建议 IAM 子用户加最小权限,别图省事直接用账号级 AK。
希望这篇记录能帮到同样想在服务器上用码道 CLI 的同学。
- 点赞
- 收藏
- 关注作者
评论(0)