华为云码道 CodeArts CLI 部署到 Linux 服务器:完整步骤与 3 个坑

举报
yd_263668403 发表于 2026/10/09 10:11:59 2026/10/09
【摘要】 在无图形界面的 Linux 服务器上部署并授权华为云码道 CodeArts CLI 的完整过程:一条命令安装、AK/SK 环境变量授权,以及文件夹信任、密钥换行符等实际踩到的坑与修法。

一、背景

码道 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 的同学。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。