摘要

AI 编程工具接入 HarmonyOS 工程时,常见问题是模型 Key、会话状态、工具链证据和项目文件混在一起,后续既难复现,也难审计。本文记录 @hmharness/cli 0.2.0hmh init 初始化方式,以及 providers + routing 如何把 chat / vision / evolve / bench 四类用途分派到不同模型。

先看项目入口:hmharness 是独立 MIT 开源项目,源码、文档和问题反馈都在 GitHub 仓库中。

hmharness 配置隔离与模型路由封面

hmharness GitHub 仓库首页

适用环境与边界

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

hmharness 运行时边界

第一步:初始化独立状态目录

npm install -g @hmharness/cli
hmh init
hmh check

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

HMH_HOME 状态骨架

第二步:单厂商先跑通

{
  "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"
  }
}
用途典型场景
chathvigor 构建日志分析、代码问答、补丁建议
vision模拟器截图描述、UI 状态判断、视觉断言
evolve从历史洞察生成技能候选
bench基准评估和技能门禁,保持口径稳定

providers 与 routing 配置结构

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

第二次 hmh init 的幂等验证

项目结构

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

hmharness 包结构

常见排查顺序

  1. 先确认 Node 版本:node -v,要求 22 以上;
  2. 运行 hmh check,确认 DevEco/OpenHarmony 工具链和设备可见性;
  3. 用最小对话任务验证 chat 路由;
  4. 再用截图任务验证 vision 路由;
  5. 最后才启用 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
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐