1. MacOS 上装 DevEco Code 到底卡在哪
DevEco Code 是华为在 HDC 2026 期间发布的终端 AI Agent 工具,基于开源项目 OpenCode 深度定制,专门为 HarmonyOS 应用和元服务开发做了优化。它跟 DevEco Studio 那种图形化 IDE 不一样,DevEco Code 跑在终端里,你用自然语言跟它对话,它就能读项目代码、生成 ArkTS、执行构建命令、修编译错误。适合谁?适合已经在 MacOS 上做鸿蒙开发、想用 AI 提效的人,也适合刚从 Windows 转过来、对 Mac 包管理和 Shell 配置不太熟的人。
但 MacOS 上装它,坑不在 DevEco Code 本身,而在前置环境。我见过太多人卡在三个地方:一是 Apple Silicon 和 Intel 的 Homebrew 路径不一样,/opt/homebrew/和/usr/local/混着用,PATH 配错;二是 Node.js 用 Homebrew 全局装,npm install -g直接报 EACCES 权限拒绝;三是装完不知道怎么把模型通道接进来,内置的 GLM-5.1 用完了想换第三方模型,配置文件路径找不到。
这篇就按「从零到跑通再到卸干净」的顺序走一遍。安装包获取、首次启动、TaoToken 统一 Key 接入 settings.json、终端验证命令、卸载残留检查,全部给可复制的片段。你跟着敲就行,不用先去啃官方文档。
2. 装之前先把 TaoToken 通道准备好
DevEco Code 本身通过 npm 安装,不需要 TaoToken 也能装。但装完之后你要接模型,如果每个模型都去单独申请 Key、单独配 base_url,配置会散得到处都是。TaoToken 在这里的作用是做一个统一的 API 通道:你拿一个 Key,就能在同一个入口下切换不同模型,配置只写一份。
先注册并拿到 Key。打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,完成账号注册。然后进控制台创建 API Key,地址是 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console 。Key 创建后只显示一次,复制下来存好。
TaoToken 的 API 入口是 https://taotoken.net/api ,这个地址后面要写进 DevEco Code 的配置文件里。注意它不加任何 UTM 参数,就是干净的 API 根路径。
如果你后面要长期用 DevEco Code 做编码和 Agent 任务,可以看一下 Coding Plan,地址 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan 。它适合高频调用场景,比按次计费更划算。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc ,配置项有疑问的时候对着查。
Key 拿到后先别急着配,把环境装完再说。下面进入安装环节。
3. 从 Homebrew 到 DevEco Code 的可复制配置
3.1 先确认 Xcode Command Line Tools
MacOS 上编译原生 npm 模块需要 CLT。先检查:
xcode-select -p如果输出/Library/Developer/CommandLineTools或 Xcode 路径,说明已装。没装的话执行:
xcode-select --install弹窗点安装,等 1-3 GB 下载完。装完用git --version验证一下。
3.2 装 Homebrew 并处理 Apple Silicon 路径
Apple Silicon 的 Homebrew 装在/opt/homebrew/,Intel 在/usr/local/。装完必须把 brew 加进 PATH,否则brew命令找不到。
Apple Silicon:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"Intel:
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile eval "$(/usr/local/bin/brew shellenv)"验证:
brew --version3.3 用 fnm 管 Node.js,绕开权限坑
不要用brew install node然后npm install -g,Apple Silicon 上大概率报 EACCES。用 fnm 管版本,全局安装落在用户目录,不需要 sudo。
brew install fnm echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc source ~/.zshrc fnm install --lts fnm default lts-latest验证:
node -v npm -v node -e "console.log(process.arch)"最后一行在 Apple Silicon 上应该输出arm64。如果输出x64,说明终端跑在 Rosetta 模式下,去 Finder 里右键终端应用,显示简介,取消勾选「使用 Rosetta 打开」。
3.4 装 DevEco Code
npm install -g @deveco/deveco-code装完验证:
deveco --version which devecowhich deveco应该指向 fnm 的 aliases 目录,类似/Users/你的用户名/Library/Application Support/fnm/aliases/default/bin/deveco。
3.5 写 settings.json 接入 TaoToken
DevEco Code 的模型配置在~/.deveco/ai/config.json。首次启动后这个目录才会生成,所以先跑一次deveco,看到初始化日志后按 Ctrl+C 退出,再编辑配置。
mkdir -p ~/.deveco/ai vim ~/.deveco/ai/config.json写入以下骨架,把sk-你的TaoToken密钥换成第 2 步拿到的 Key:
{ "provider": { "taotoken": { "name": "TaoToken", "api_base": "https://taotoken.net/api", "api_key": "sk-你的TaoToken密钥", "models": { "claude-sonnet-4": { "tool_call": true, "context_window": 200000, "max_tokens": 8192, "temperature": 0.7 }, "gpt-4o": { "tool_call": true, "context_window": 128000, "max_tokens": 4096, "temperature": 0.7 } } } }, "preferences": { "default_model": "claude-sonnet-4", "auto_compact_threshold": 80, "theme": "dark" } }这里api_base写https://taotoken.net/api,不要加斜杠结尾,也不要加任何查询参数。models下面的键名是模型 ID,具体支持哪些模型以接入文档为准,地址 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc 。
保存后重新启动deveco,用/model命令应该能看到taotoken这个 provider 和它下面的模型。
4. 验证请求是否真的通了
配置写完不算通,要发一次真实请求确认。
启动 DevEco Code:
cd ~/你的鸿蒙项目目录 deveco在 TUI 里输入:
/model选择taotoken下的claude-sonnet-4,回车确认。然后发一条测试消息:
你好,请用一句话说明你当前使用的模型名称。如果返回正常文本,说明 TaoToken 通道打通了。如果报 401,检查 Key 是否复制完整、有没有多余空格。如果报连接超时,检查api_base是否写成了https://taotoken.net/api(不要带路径后缀)。
再验证一次工具调用能力,让它读文件:
请读取当前目录下的 oh-package.json5,告诉我 dependencies 里有哪些包。它能正确列出依赖,说明 tool_call 也通了。这一步很关键,因为 DevEco Code 的核心价值就是 Agent 能自主读写项目文件,光能聊天不算跑通。
如果你只是想先验证模型对话,不想在终端里折腾,也可以直接用模型对话页面测试同一个 Key,地址 https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat 。那边通了,说明 Key 和通道没问题,再回来排查 DevEco Code 的配置。
5. 本篇常见错排查
5.1 deveco: command not found
fnm 的 shell 集成没生效。检查~/.zshrc里有没有eval "$(fnm env --use-on-cd --shell zsh)",然后source ~/.zshrc。如果用的是 bash,把zsh换成bash,写进~/.bash_profile。
5.2 npm install -g 报 EACCES
说明你用的是 Homebrew 全局 Node,不是 fnm。执行which node看路径,如果是/opt/homebrew/bin/node,说明 fnm 没接管。重新fnm use default并确认which node指向 fnm 目录。
5.3 配置文件改了不生效
DevEco Code 启动时读一次配置,改完要重启进程。另外确认文件路径是~/.deveco/ai/config.json,不是项目目录下的。JSON 格式错误会导致静默回退到内置模型,用python3 -m json.tool ~/.deveco/ai/config.json校验一下。
5.4 Apple Silicon 上跑出 x64
终端应用被勾了 Rosetta。Finder 里找到终端,右键显示简介,取消「使用 Rosetta 打开」,重启终端。然后node -e "console.log(process.arch)"应该输出arm64。
5.5 请求返回 404
api_base写错了。TaoToken 的 API 根路径是https://taotoken.net/api,不要写成https://taotoken.net/api/v1或带其他后缀。模型 ID 也要跟文档对齐,写错模型名会返回 404 而不是 400。
6. 卸载要卸干净,残留文件逐个清
卸载分四步:卸运行时数据、卸 npm 包、清配置缓存、验证。
第一步,清运行时数据:
deveco uninstall第二步,卸 npm 全局包:
npm uninstall -g @deveco/deveco-code第三步,删配置目录和缓存:
rm -rf ~/.deveco npm cache clean --force第四步,验证:
deveco --version ls ~/.deveco第一条应该输出command not found,第二条应该输出No such file or directory。两条都符合,才算卸干净。
如果你连 Node.js 和 fnm 也不想留:
fnm uninstall lts-latest brew uninstall fnm然后手动删掉~/.zshrc里那行eval "$(fnm env ...)"。Homebrew 本身要卸的话,官方卸载脚本在它文档里,这里不展开。
最后提醒一句:~/.deveco/auth/credentials.json里存的是登录凭证,卸载前如果这台机器要转手或共用,先deveco logout再删目录。项目根目录下的.deveco-rules.md是项目级配置,不属于全局安装,卸载 DevEco Code 不会动它,需要的话自己手动清理。