HarmonyOS AI工具配置乱?hmh init隔离状态并按用途路由模型
摘要
AI 编程工具接入 HarmonyOS 工程时,常见问题是模型 Key、会话状态、工具链证据和项目文件混在一起,后续既难复现,也难审计。本文记录 @hmharness/cli 0.2.0 的 hmh init 初始化方式,以及 providers + routing 如何把 chat / vision / evolve / bench 四类用途分派到不同模型。
先看项目入口:hmharness 是独立 MIT 开源项目,源码、文档和问题反馈都在 GitHub 仓库中。


适用环境与边界
| 项目 | 说明 |
|---|---|
| Node | >=22 |
| 安装 | npm install -g @hmharness/cli |
| 状态目录 | 默认 ~/.hmharness,可用 HMH_HOME 覆盖 |
| 平台 | Windows 优先验证;macOS/Linux 为社区支持,鸿蒙域工具按可用性降级 |
| 项目关系 | 独立 MIT 项目,无 Huawei/OpenAtom 背书 |

第一步:初始化独立状态目录
npm install -g @hmharness/cli
hmh init
hmh check
hmh init 创建配置、会话、记忆、技能、基准等状态目录;第二次初始化保持幂等,不会覆盖已有配置。密钥只留在本机 HMH_HOME/config.json 或环境变量中,不写入仓库。

第二步:单厂商先跑通
{
"provider": {
"baseUrl": "https://api.example.com/v1",
"apiKey": "sk-...",
"model": "your-model"
}
}
hmharness 支持任意 OpenAI 兼容厂商,也可以接 Ollama、LM Studio、vLLM、llama.cpp 等本地推理端点。
第三步:按用途路由模型
{
"providers": {
"strong": { "baseUrl": "https://api.example-a.com/v1", "apiKey": "sk-...", "model": "strong-model" },
"vision": { "baseUrl": "https://api.example-b.com/v1", "apiKey": "sk-...", "model": "vision-model" },
"cheap": { "baseUrl": "https://api.example-c.com/v1", "apiKey": "sk-...", "model": "small-model" }
},
"routing": {
"chat": "strong",
"vision": "vision",
"evolve": "cheap",
"bench": "cheap"
}
}
| 用途 | 典型场景 |
|---|---|
chat | hvigor 构建日志分析、代码问答、补丁建议 |
vision | 模拟器截图描述、UI 状态判断、视觉断言 |
evolve | 从历史洞察生成技能候选 |
bench | 基准评估和技能门禁,保持口径稳定 |

未配置 routing 时所有用途共用 provider;evolve / bench 未配置时回退 chat 路由;vision 未配置时回退旧式 vision 字段,再回退主厂商。

项目结构
源码按 cli/web → agent → domain-harmony/domain-ops → kernel 分层,evolution 作为一等公民挂在 agent 层之下,所有状态统一落到 HMH_HOME。

常见排查顺序
- 先确认 Node 版本:
node -v,要求 22 以上; - 运行
hmh check,确认 DevEco/OpenHarmony 工具链和设备可见性; - 用最小对话任务验证
chat路由; - 再用截图任务验证
vision路由; - 最后才启用 evolve/bench,避免把环境问题误判成模型或技能问题。
结论
hmh init 的价值是把 AI 配置和运行状态从鸿蒙项目中隔离出来;providers + routing 的价值是让普通对话、视觉判断、进化提案和基准评估有不同模型与成本策略。它不替代 SDK、签名、hdc 或模拟器配置,但能让这些问题分层排查、留证和复盘。
链接
- GitHub:https://github.com/swsgbl/hmharness
- 官网:https://swsgbl.github.io/hmharness/
- npm:https://www.npmjs.com/package/@hmharness/cli
更多推荐

所有评论(0)