ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

DevEco Code 模型服务繁忙?deveco.jsonc 这样改走 TaoToken

DevEco Code 模型服务繁忙?deveco.jsonc 这样改走 TaoToken DevEco Code 弹出Built-in model service is currently overloaded. Please retry later or set up a custom model.的时候内置免费模型通道已经排不上队你手里那条帮我生成一个 ArkTS 登录页的自然语言指令会直接停在终端里。本文从这条报错切入顺着deveco.jsonc的 Provider 字段把模型通道换成 TaoToken官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end提供的自定义通道让 DevEco Code 在写 ArkTS 时不再被免费模型负载卡住。1. 先确认你撞上的是模型服务繁忙而不是别的错原文 7.4 记录的报错原文是这样Built-in model service is currently overloaded. Please retry later or set up a custom model.这句话其实包含两层信息。第一层是现状内置模型服务此刻过载重试可能成功也可能继续排队。第二层是官方给的出路or set up a custom model也就是挂一个自定义模型通道进来。很多人只看到前半句就一直点重试结果是 Build 模式生成到一半断开、Plan 模式任务拆解超时、Goal 模式的迭代循环刚起步就停在原地。这条报错最容易出现在三个动作上在 Build 模式下让 Agent 一口气生成 ArkTS 页面加 Hvigor 构建加推包在 Plan 模式下让它先拆需求、再落技术方案在 Goal 模式下跑从需求到自验证的端到端特性交付。这三条链路都要频繁调用模型只要内置通道的并发被占满终端就会把上面那句话原样吐出来。你的 Node.js、DEVECO_HOME、华为账号登录、HDC 设备连接可能全都是好的唯一被卡住的就是模型这一环。适用场景因此很明确你已经装好 DevEco Code也能正常deveco启动、正常登录但就是没法稳定地让 Agent 帮你写 ArkTS。本文假设你处于这种工具没坏、通道挤爆的状态。2. 排障方向为什么改 deveco.jsonc 比反复重试更稳原文 9.3 已经给过自定义模型的入口共两个一个是在 DevEco Code 里按CtrlA进入 Provider 选择界面另一个是直接改deveco.jsonc里的 Provider 字段。两条路的区别值得说清楚CtrlA的 Provider 界面适合快速切换改完立刻生效但每次换机器、换项目、重装工具都要重新点一遍一旦你在多台设备之间同步工程配置就对不齐。deveco.jsonc是文件级配置可以跟着项目走也可以放进你的个人配置备份里出问题时能直接打开看是哪一行的 Base URL 或 model 写错了。排障场景下能看见原文的文件永远比图形界面更好定位。这里还要把边界讲清楚TaoToken 在这条链路里只负责提供 Key 和 Base URL 两个东西。它不参与 DevEco Code 的语法检查不替你调用 Hvigor 编译构建也不替你把 HAP 推到模拟器或真机。编译、推包、真机调试这些环节仍然由 DevEco Code 配合 DevEco Studio、HDC 自己完成。换句话说你换掉的只是模型从哪来不是谁来干活。3. 在 TaoToken 侧准备 Key 和模型 ID第一步打开官网完成注册https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end注册之后进控制台创建一个 API Key。这个 Key 就是你稍后要填进deveco.jsonc里apiKey字段的值创建时复制完整不要只复制一部分。第二步去模型广场确认你要用的模型 ID。原文 9.3 给出的支持列表是 DeepSeek、智谱GLM、通义千问Qwen以及其它支持标准协议的模型。你可以从中挑一个作为主模型想写 ArkTS 页面结构和状态管理DeepSeek 系列通常够用想让它更贴合中文注释和文档描述智谱或通义千问也是常见选择。需要特别提醒的是模型广场里显示的模型名称和你需要填进配置文件的模型 ID不一定是同一个字符串。请以模型广场页面上标注的可调用 ID 为准不要凭记忆写也不要拿别处的模型名硬套。写错了会出现请求能发出去、但返回模型不存在的情况。第三步把两个东西记下来API Key占位符写作YOUR_API_KEYAPI 基址https://taotoken.net/api这个基址填进工具时末尾不带/v1也不加末尾斜杠。4. deveco.jsonc 里 Provider 字段怎么写先定位配置文件。DevEco Code 的用户级配置一般放在~/.deveco/目录下你可以在终端里确认ls -la ~/.deveco/如果当前项目里已经有deveco.jsonc优先改项目里的那份避免用户级配置和项目级配置互相覆盖。打开文件后找到或新增 Provider 相关段落。下面这段是可以直接照着改的结构字段名请对齐你本地文件里已有的写法不要盲目整段覆盖{ // 自定义模型通道 provider: { name: taotoken, baseURL: https://taotoken.net/api, apiKey: YOUR_API_KEY, model: REPLACE_WITH_MODEL_ID } }三个字段的填法逐条对应baseURL填https://taotoken.net/api。不要写成https://taotoken.net/api/v1也不要写成https://taotoken.net/api/。多一个字符都可能让 DevEco Code 拼出错误路径。apiKey填你刚创建的那串 Key。粘贴时注意前后不要带空格、不要带换行JSON 字符串里也不要有中文引号。model填模型广场上复制来的模型 ID比如你选的是 DeepSeek 系列就填对应的 DeepSeek ID选智谱就填 GLM 对应的 ID选通义千问就填 Qwen 对应的 ID。同一个 Provider 只填一个主模型即可后续需要切换再改。如果你的deveco.jsonc里已经有别的 Provider 配置正确做法是把taotoken这一段追加进去然后在 DevEco Code 里把当前 Provider 切到taotoken而不是把原有段落全部删掉。原有的登录态、会话相关字段不要动。改完保存文件别急着启动先做一次 JSONC 语法自检注释符是//允许尾随逗号但引号必须是英文半角括号要配平。一个没闭合的引号会让整份配置被忽略然后你会看到一个改了但好像没生效的假象。5. 重启 DevEco Code 并用一条自然语言指令验证配置文件是启动时读取的改完必须退出再进。在终端里按CtrlC退出当前会话然后重新启动cd your-harmonyos-project deveco重启之后先看状态区显示的 Provider 是不是已经切到taotoken。如果状态区还显示内置模型说明配置文件里的 Provider 名称和你在界面上选中的那个没对上。接着发一条最小的自然语言构建指令用原文 6.2 里那种 Build 模式的写法帮我新增一个设置页面包含深色/浅色主题切换开关和通知开关观察三件事第一终端是否还会出现Built-in model service is currently overloaded。如果这条报错不再出现说明模型通道已经换到 TaoToken 侧排障目标达成。第二Agent 是否开始正常产出SettingPage.ets这类 ArkTS 文件。这一步能确认模型是真的在工作而不是请求发出去了但没有内容回来。第三后续的 Hvigor 编译、HDC 推包流程是否照旧。这一步很重要——它反过来证明 TaoToken 只提供了模型通道编译和部署还是 DevEco Code 自己完成的链路没有被人为截断。如果你想验证得更彻底一点可以先跑一条轻量的 Plan 模式指令比如让它拆一个用户认证模块的需求看它能不能给出结构化的任务列表。Plan 模式比 Build 模式对模型调用更密集能过这一关说明通道基本稳定。6. 改完 deveco.jsonc 仍然报错的排查顺序改完配置依然弹模型服务繁忙或者出现别的异常按下面这个顺序捋别一上来就重装工具。第一类配置没生效。最常见的原因是没重启 DevEco Code或者你改的是项目里的deveco.jsonc但工具实际读的是~/.deveco/下的用户级配置。先确认改的文件路径和实际加载路径是同一个。第二类Base URL 写错。检查是不是多写了/v1是不是末尾多了斜杠是不是写成了站点的其它路径。正确值就是https://taotoken.net/api一个字符都别加。第三类apiKey 没粘全或带了杂质。重新回官网控制台复制一次粘贴进配置文件后肉眼检查首尾有没有多余空格。如果 Key 已经被你删除或重置过旧值必然失效要用新的。第四类model 字段填的不是模型 ID。把模型广场上的可调用 ID 原样复制过来不要用页面上展示的显示名也不要凭印象写。第五类JSONC 语法错误。整个文件括号没闭合、字符串引号用了中文引号、字段之间少了逗号都会让配置解析失败。可以用编辑器的 JSON 校验功能快速过一遍。第六类Provider 没切过去。文件改对了但 DevEco Code 当前选中的还是内置模型那自然还是走原来的通道。重启后进CtrlA的 Provider 界面确认一次选中的是taotoken。如果六类都排除了报文变成连接超时或者网关拒绝那属于网络层问题检查终端能否正常访问外网、是否被本地代理规则拦截。这时候和模型服务繁忙已经不是同一类故障了。7. 把自定义通道固化下来继续用自然语言写 ArkTS整条链路其实只有三个动作在官网拿到 Key在模型广场确认模型 ID在deveco.jsonc的 Provider 里把 Base URL、apiKey、model 三项填对然后重启验证。它的价值在于当内置免费模型再次过载时你的 Build、Plan、Goal 三种模式都不会被同一句话打断ArkTS 的自然语言工作流可以继续往下跑。如果你准备把这套配置沿用到团队的其它机器建议顺手把 Key 管理起来方便轮换和回收https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdeveco_code_provider关于标准协议下的接入细节和字段约定的更多说明可以对照这份文档核对https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdeveco_code_provider配好之后回到你的 HarmonyOS 工程目录输入deveco把那条被模型服务繁忙打断过的需求重新发出去。
返回列表