首页
/ OmX OpenClaw 集成指南:hook instruction 提示词调优与上下文感知通知实战

OmX OpenClaw 集成指南:hook instruction 提示词调优与上下文感知通知实战

2026-09-09 20:13:13作者:房伟宁

导读

本指南讲解 OmX(oh-my-codex)如何通过 notifications.openclaw 配置将 Codex 会话生命周期事件(session-start、session-idle、ask-user-question、stop、session-end)转发到 OpenClaw 网关,并重点深入讲解决定通知质量的核心杠杆——hook instruction 模板的调优方法:从模板修改位置、推荐上下文 token、verbosity 冗长级别策略,到基于 jq 的一键更新命令,再到可选用的三种配置方案与源码级实现原理。读完本文,你将能够为自己的 OpenClaw / clawdbot 工作流配置出高度结构化、可被 Agent 高效解析、可追溯(sessionId + tmuxSession)的通知指令模板。

本文主体对应仓库中的 OpenClaw 集成指南(意大利语本地化版),完整集成上下文(激活门控、三种配置方案、验证与诊断)参考 英文版指南


一、集成概览:OpenClaw 网关与激活门控

OmX 的 OpenClaw 集成是一条“通知 → 网关唤醒”的流水线:Codex 的 hook 事件被 OmX 捕获后,由 notifications/index.ts 组装上下文并调用 wakeOpenClaw 入口,最终通过 HTTP 或命令网关把事件与插值后的指令投递给 OpenClaw / clawdbot。

流水线是否启动由两个环境变量控制(对应 config.ts 的激活门控逻辑):

# 推荐在 shell 配置文件中导出 token 环境变量,避免把密钥硬编码进 JSON
export HOOKS_TOKEN="your-openclaw-hooks-token"

# OpenClaw 分发流水线必需
export OMX_OPENCLAW=1

# 命令网关(command gateway)额外需要
export OMX_OPENCLAW_COMMAND=1

# 可选:命令网关超时的全局默认值(毫秒)
# 优先级:网关级 timeout > 环境变量覆盖 > 5000 默认值
export OMX_OPENCLAW_COMMAND_TIMEOUT_MS=120000

其中 OMX_OPENCLAW=1 是总开关:源码中 getOpenClawConfig()process.env.OMX_OPENCLAW !== "1" 时直接返回 null,整个分发链路被短路;而命令网关还有一道独立的 opt-in 门控 OMX_OPENCLAW_COMMAND=1(见 dispatcher.ts),未设置时命令网关直接返回失败,防止未授权执行 shell 命令。

配置文件默认位于 ~/.codex/.omx-config.json,可通过 OMX_OPENCLAW_CONFIG 环境变量指向独立文件(用于测试或高级覆盖)。配置读取带有一级缓存,进程生命周期内环境变量变化不会影响已缓存的配置。


二、Prompt 模板修改位置:五个 hook 的 instruction

对于 OpenClaw 集成,最重要的质量杠杆是 hook 的 instruction 模板。每个事件钩子都可以单独配置启用状态、网关与指令文本,模板键路径如下:

  • notifications.openclaw.hooks["session-start"].instruction
  • notifications.openclaw.hooks["session-idle"].instruction
  • notifications.openclaw.hooks["ask-user-question"].instruction
  • notifications.openclaw.hooks["stop"].instruction
  • notifications.openclaw.hooks["session-end"].instruction

这五个事件对应 types.ts 中定义的 OpenClawHookEvent。注意:pre-tool-usepost-tool-usekeyword-detector 是 OmX 特有的钩子,Codex CLI 并不支持,因此被有意排除在 OpenClaw 事件集合之外。

每个 hook 映射(OpenClawHookMapping)包含三个字段(见 types.ts):

字段 含义 说明
gateway 网关名称 引用 gateways 对象中的键,如 local
instruction 指令模板 支持 {{variable}} 占位符,是提示词调优的核心
enabled 是否启用 false 时该事件不会触发分发

三、推荐上下文 token:跨日志追踪与 tmux 直连

instruction 模板支持 {{变量}} 插值。推荐的 token 使用策略如下:

始终包含(保证可追溯性):

  • {{sessionId}} —— 跨日志追踪的会话标识
  • {{tmuxSession}} —— 便于直接定位并跟进对应的 tmux 会话

按事件按需包含:

  • {{projectName}} —— 项目名
  • {{question}} —— 仅 ask-user-question 事件
  • {{reason}} —— 仅 session-end 事件

这些 token 由 wakeOpenClaw 的变量构建逻辑 从白名单上下文中生成,实际可用变量远不止这几个——template-engine.ts 的 KNOWN_VARIABLES 列出了完整集合,包括 projectPathmodesUsedcontextSummarydurationMsreasonquestionincompleteTaskstmuxTailtmuxPaneId,以及由环境变量 OPENCLAW_REPLY_CHANNEL / OPENCLAW_REPLY_TARGET / OPENCLAW_REPLY_THREAD 填充的回执上下文 replyChannel / replyTarget / replyThread,还有计算变量 durationtimefootertmuxTailBlock 等。未解析的变量会被替换为空字符串,因此模板中对缺失字段要有兜底设计。

安全提示:上下文在进入网关前会经过 buildWhitelistedContext 白名单过滤,仅枚举已知字段,防止敏感数据意外泄漏到网关负载中;tmux 尾部输出也会经 sanitizeTmuxAlertText 清洗。


四、结构化 instruction 格式:让 Agent 高效解析

生产环境建议采用结构化格式,便于 clawdbot 等 Agent 高效解析:

[event|exec]
project={{projectName}} session={{sessionId}} tmux={{tmuxSession}}
필드1: 값
필드2: 값

关键约定:

  • [event|exec] 前缀:标识这是一个需要 Agent 采取行动的可执行 hook(而非纯消息转发)。
  • 韩文字段名(요약 摘要、우선순위 优先级、주의사항 注意事项、성과 成果、검증 验证、다음 下一步):为以韩语为主要工作语言的开发团队提供一致的指令结构,便于解析与后续跟进。

五个事件的完整模板示例(exec 风格):

# session-start
[session-start|exec]
project={{projectName}} session={{sessionId}} tmux={{tmuxSession}}
요약: 시작 맥락 1문장
우선순위: 지금 할 일 1~2개
주의사항: 리스크/의존성(없으면 없음)

# session-idle
[session-idle|exec]
session={{sessionId}} tmux={{tmuxSession}}
요약: idle 원인 1문장
복구계획: 즉시 조치 1~2개
의사결정: 사용자 입력 필요 여부

# ask-user-question
[ask-user-question|exec]
session={{sessionId}} tmux={{tmuxSession}} question={{question}}
핵심질문: 필요한 답변 1문장
영향: 미응답 시 영향 1문장
권장응답: 가장 빠른 답변 형태

# stop
[session-stop|exec]
session={{sessionId}} tmux={{tmuxSession}}
요약: 중단 사유
현재상태: 저장/미완료 항목
재개: 첫 액션 1개

# session-end
[session-end|exec]
project={{projectName}} session={{sessionId}} tmux={{tmuxSession}} reason={{reason}}
성과: 완료 결과 1~2문장
검증: 확인/테스트 결과
다음: 후속 액션 1~2개

五、verbosity 冗长级别策略

OmX 提供三档全局冗长级别,控制通知的信息密度:

级别 适用场景
minimal 极短提醒,高信噪比、低叙事
session 简洁的操作上下文(推荐默认
verbose 更丰富的状态 + 动作 + 风险框架

对应配置键为 notifications.verbosity。英文版文档给出了 "executive-summary verbose profile"(verbose 档的完整 JSON 示例),将上述五个 hook 全部以 enabled: truegateway: "local" 挂到本地网关上,五个 instruction 与上文模板一一对应,是可直接落地的配置底稿,本节不再重复粘贴,详见下文第六节的 jq 等价写法与完整 JSON。


六、jq 一键更新命令(快速上手)

无需手写整个配置文件,直接用 jq 更新模板即可。以下命令把全局 verbosity 设为 verbose,并为五个 hook 一次性写入上述 exec 结构化模板:

CONFIG_FILE="$HOME/.codex/.omx-config.json"

jq '.notifications.verbosity = "verbose" |
    .notifications.openclaw.hooks["session-start"].instruction = "[session-start|exec]\nproject={{projectName}} session={{sessionId}} tmux={{tmuxSession}}\n요약: 시작 맥락 1문장\n우선순위: 지금 할 일 1~2개\n주의사항: 리스크/의존성(없으면 없음)" |
    .notifications.openclaw.hooks["session-idle"].instruction = "[session-idle|exec]\nsession={{sessionId}} tmux={{tmuxSession}}\n요약: idle 원인 1문장\n복구계획: 즉시 조치 1~2개\n의사결정: 사용자 입력 필요 여부" |
    .notifications.openclaw.hooks["ask-user-question"].instruction = "[ask-user-question|exec]\nsession={{sessionId}} tmux={{tmuxSession}} question={{question}}\n핵심질문: 필요한 답변 1문장\n영향: 미응답 시 영향 1문장\n권장응답: 가장 빠른 답변 형태" |
    .notifications.openclaw.hooks["stop"].instruction = "[session-stop|exec]\nsession={{sessionId}} tmux={{tmuxSession}}\n요약: 중단 사유\n현재상태: 저장/미완료 항목\n재개: 첫 액션 1개" |
    .notifications.openclaw.hooks["session-end"].instruction = "[session-end|exec]\nproject={{projectName}} session={{sessionId}} tmux={{tmuxSession}} reason={{reason}}\n성과: 완료 결과 1~2문장\n검증: 확인/테스트 결과\n다음: 후속 액션 1~2개"'   "$CONFIG_FILE" > "$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"

命令要点:

  • "$CONFIG_FILE.tmp" 为中间文件写入再原子替换原文件,避免 jq 输出与输入同文件冲突;
  • instruction 内使用 \n 转义换行(bash 单引号内原样保留给 jq 解析为 JSON 换行);
  • 韩文字段直接内嵌于模板字符串,无需额外转义。

如果你更希望把指令模板维护在 notifications.hookTemplates 键下(OmX 的通用 hook 模板机制),可参考 hook-config.ts 的读取与级联逻辑:解析优先级为“平台级覆盖 > 事件级模板 > 全局默认模板”,事件开关可被合并进全局通知配置(mergeHookConfigIntoNotificationConfig),且 hook 级 enabled: false 会覆盖全局事件开关。


七、配置优先级契约(canonical precedence)

当显式 OpenClaw 配置与通用别名同时存在时,行为保持确定且向后兼容(对应 config.ts 的解析实现):

  1. notifications.openclaw 优先;
  2. custom_webhook_command / custom_cli_command 别名被忽略;
  3. OmX 会输出一条 warning 提示开发者。

从源码看,normalizeFromCustomAliases 会把别名归一化为内部 OpenClaw 网关映射,但一旦检测到合法的显式配置,立即整体覆盖别名结果并打印警告;同时 inspectOpenClawConfig 的状态机(configured / disabled / missing-config / invalid-config / not-configured)与 warnings 字段可供 CLI 诊断工具直接呈现。


八、三种配置方案

方案 A:显式 notifications.openclaw(原生运行期形态)

{
  "notifications": {
    "enabled": true,
    "openclaw": {
      "enabled": true,
      "gateways": {
        "local": {
          "type": "http",
          "url": "http://127.0.0.1:18789/hooks/agent",
          "headers": {
            "Authorization": "Bearer ${HOOKS_TOKEN}"
          }
        }
      },
      "hooks": {
        "session-end": {
          "enabled": true,
          "gateway": "local",
          "instruction": "OMX task completed for {{projectPath}}"
        },
        "ask-user-question": {
          "enabled": true,
          "gateway": "local",
          "instruction": "OMX needs input: {{question}}"
        }
      }
    }
  }
}

网关类型方面,types.ts 定义了两种:

  • HTTP 网关type: "http",缺省即 http):字段 urlheadersmethod(POST/PUT,默认 POST)、timeout。URL 校验要求 HTTPS,仅 localhost / 127.0.0.1 / ::1 允许 HTTP 本地调试(validateGatewayUrl)。HTTP 请求默认超时 10 秒。
  • 命令网关type: "command"):字段 command(含 {{variable}} 占位符,插值前自动 shell 转义)、timeout

方案 B:通用别名(custom_webhook_command / custom_cli_command

适合 OpenClaw 之外的通用服务,OMX 会自动归一化为内部 OpenClaw 网关映射:

{
  "notifications": {
    "enabled": true,
    "custom_webhook_command": {
      "enabled": true,
      "url": "http://127.0.0.1:18789/hooks/agent",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer ${HOOKS_TOKEN}"
      },
      "events": ["session-end", "ask-user-question"],
      "instruction": "OMX event {{event}} for {{projectPath}}"
    },
    "custom_cli_command": {
      "enabled": true,
      "command": "~/.local/bin/my-notifier --event {{event}} --text {{instruction}}",
      "events": ["session-end"],
      "instruction": "OMX event {{event}} for {{projectPath}}"
    }
  }
}

别名归一化的细节在 normalizeFromCustomAliases 中:events 只接受五个合法事件,空/非法时回退到默认事件集 ["session-end", "ask-user-question"]instruction 缺失时回退到 "OMX event {{event}} for {{projectPath}}";webhook 方法非 PUT 一律视为 POST;多个别名对同一事件的映射会产生覆盖警告。

方案 C:Clawdbot Agent 命令工作流(开发团队推荐)

当希望 OMX hook 事件触发 Agent 回合(agent turns) 而非普通消息/webhook 转发时(例如投递到 #omc-dev 频道),使用命令网关拉起 clawdbot agent

{
  "notifications": {
    "enabled": true,
    "verbosity": "verbose",
    "events": {
      "session-start": { "enabled": true },
      "session-idle": { "enabled": true },
      "ask-user-question": { "enabled": true },
      "session-stop": { "enabled": true },
      "session-end": { "enabled": true }
    },
    "openclaw": {
      "enabled": true,
      "gateways": {
        "local": {
          "type": "command",
          "command": "(clawdbot agent --session-id omx-hooks --message {{instruction}} --thinking minimal --deliver --reply-channel discord --reply-to 'channel:1468539002985644084' --timeout 120 --json >>/tmp/omx-openclaw-agent.jsonl 2>&1 || true)",
          "timeout": 120000
        }
      },
      "hooks": {
        "session-start": {
          "enabled": true,
          "gateway": "local",
          "instruction": "[session-start|exec]\nproject={{projectName}} session={{sessionId}} tmux={{tmuxSession}}\n요약: 시작 맥락 1문장\n우선순위: 지금 할 일 1~2개\n주의사항: 리스크/의존성(없으면 없음)"
        },
        "session-idle": {
          "enabled": true,
          "gateway": "local",
          "instruction": "[session-idle|exec]\nsession={{sessionId}} tmux={{tmuxSession}}\n요약: idle 원인 1문장\n복구계획: 즉시 조치 1~2개\n의사결정: 사용자 입력 필요 여부"
        },
        "ask-user-question": {
          "enabled": true,
          "gateway": "local",
          "instruction": "[ask-user-question|exec]\nsession={{sessionId}} tmux={{tmuxSession}} question={{question}}\n핵심질문: 필요한 답변 1문장\n영향: 미응답 시 영향 1문장\n권장응답: 가장 빠른 답변 형태"
        },
        "stop": {
          "enabled": true,
          "gateway": "local",
          "instruction": "[session-stop|exec]\nsession={{sessionId}} tmux={{tmuxSession}}\n요약: 중단 사유\n현재상태: 저장/미완료 항목\n재개: 첫 액션 1개"
        },
        "session-end": {
          "enabled": true,
          "gateway": "local",
          "instruction": "[session-end|exec]\nproject={{projectName}} session={{sessionId}} tmux={{tmuxSession}} reason={{reason}}\n성과: 완료 결과 1~2문장\n검증: 확인/테스트 결과\n다음: 후속 액션 1~2개"
        }
      }
    }
  }
}

shell 安全须知:模板变量(如 {{instruction}})会被插值进命令字符串,dispatcher.ts 会先做 shell 转义再插值(单引号包裹 + 内部引号转义),但请保持模板简单,避免用户派生内容携带 shell 元字符。排障时可临时去掉输出重定向,直接观察命令输出。

命令网关超时优先级gateways.<name>.timeout > OMX_OPENCLAW_COMMAND_TIMEOUT_MS > 5000 默认值。源码 resolveCommandTimeoutMs 还会把结果钳制在安全区间 [100ms, 300000ms](5 分钟上限),防止超长命令进程失控。对 clawdbot agent 工作流,请使用 120000(2 分钟)避免过早超时。

生产最佳实践

  • 命令末尾加 || true,防止 OMX hook 失败阻塞会话;
  • 使用 .jsonl 扩展名 + 追加(>>)实现结构化日志聚合;
  • 使用 --reply-to 'channel:CHANNEL_ID' 格式投递 Discord(优先于频道别名,别名在 bot 未缓存频道时可能失败)。

执行模型细节:命令插值后若无 shell 元字符,走直接 argv 执行;有元字符才回退 sh -cdispatcher.ts)。POSIX 命令在进程组中运行,超时或父进程退出时通过 SIGTERM 清理整棵进程树(1 秒宽限期后 SIGKILL),避免僵尸进程。执行结果还会检查输出量上限与进程数上限。


九、开发指南:OpenClaw + Clawdbot Agent(韩语跟进模式)

#omc-dev 需要接收 OpenClaw 通知并主动跟进时,使用此配置画像。

1) 在 hook 指令中强制韩语输出

  • 所有 hook 指令用韩语编写;
  • 在每条指令模板中显式要求韩语回复;
  • 优先 --reply-to 'channel:CHANNEL_ID' 格式,示例 --reply-to 'channel:1468539002985644084'(对应 #omc-dev);频道别名(如 #omc-dev)在 bot 未缓存频道时可能失败。

示例指令风格:

OMX 훅={{event}} 프로젝트={{projectName}} 세션={{sessionId}}.
반드시 한국어로 응답하세요.
OMX tmux 세션: {{tmuxSession}}.
SOUL.md 및 #omc-dev 맥락을 참고해 필요한 후속 액션이 있으면 즉시 안내하세요.

2) 追踪发出 hook 的 OMX tmux 会话

  • 每条 hook 消息都包含 {{sessionId}}{{tmuxSession}}
  • {{tmuxSession}} 存在时作为主要跟进目标;缺失时从 sessionId 和当前项目路径推导候选 tmux 会话。

快速检查命令:

tmux ls | grep '^omx-' || true
tmux list-panes -a -F '#{session_name}\t#{pane_id}\t#{pane_current_path}' | grep "$(basename "$PWD")" || true

补充:即使上下文未提供,wakeOpenClaw 也会通过 getCurrentTmuxSession() 自动探测当前 tmux 会话作为兜底;但 stop/session-end 事件的 pane 历史不会自动捕获重放,防止会话结束后产生虚假跟进告警。

3) SOUL.md + #omc-dev 跟进 runbook

当 hook 提示存在进行中的工作或待办用户操作时:

  1. 阅读 SOUL.md 与近期 #omc-dev 上下文;
  2. 用韩语跟进,并引用 sessionId + tmuxSession
  3. 需要行动时,给出具体下一步(例如:需要回复、需要重试、需要检查会话);
  4. 投递异常时,检查日志并在不吞掉输出的情况下重试。

排障命令:

# 检查结构化 JSONL 日志
tail -n 120 /tmp/omx-openclaw-agent.jsonl | jq -s '.[] | {timestamp: (.timestamp // .time), status: (.status // .error // "ok")}'

# 在日志中搜索错误
rg '"error"|"failed"|"timeout"' /tmp/omx-openclaw-agent.jsonl | tail -20

# 使用生产验证过的参数手动重试
clawdbot agent --session-id omx-hooks \
  --message "OMX hook retry 점검: session={{sessionId}} tmux={{tmuxSession}}" \
  --thinking minimal --deliver --reply-channel discord --reply-to 'channel:1468539002985644084' \
  --timeout 120 --json

十、验证(必做)

A) Wake 冒烟测试(/hooks/wake

curl -sS -X POST http://127.0.0.1:18789/hooks/wake \
  -H "Authorization: Bearer ${HOOKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"text":"OMX wake smoke test","mode":"now"}'

通过信号:返回 JSON 中包含 "ok":true

B) 投递验证(/hooks/agent

curl -sS -o /tmp/omx-openclaw-agent-check.json -w "HTTP %{http_code}\n" \
  -X POST http://127.0.0.1:18789/hooks/agent \
  -H "Authorization: Bearer ${HOOKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"message":"OMX delivery verification","instruction":"OMX delivery verification","event":"session-end","sessionId":"manual-check"}'

通过信号:HTTP 2xx + 已接受的响应体。

预检检查

# token 是否存在
test -n "$HOOKS_TOKEN" && echo "token ok" || echo "token missing"

# 网关可达性
curl -sS -o /dev/null -w "HTTP %{http_code}\n" http://127.0.0.1:18789 || echo "gateway unreachable"

# 门控检查
test "$OMX_OPENCLAW" = "1" && echo "OMX_OPENCLAW=1" || echo "missing OMX_OPENCLAW=1"
test "$OMX_OPENCLAW_COMMAND" = "1" && echo "OMX_OPENCLAW_COMMAND=1" || echo "missing OMX_OPENCLAW_COMMAND=1"

十一、通过/失败诊断对照表

症状 定位与处置
401/403 Bearer token 无效或缺失
404 路径错误,核对 /hooks/agent/hooks/wake
5xx 网关运行期问题,检查日志
超时 / connection refused 主机、端口或防火墙问题
命令网关被禁用 同时设置 OMX_OPENCLAW=1OMX_OPENCLAW_COMMAND=1
命令被 SIGTERM 杀掉 调大 gateways.<name>.timeout(clawdbot agent 建议 120000)或设置 OMX_OPENCLAW_COMMAND_TIMEOUT_MS
hook 失败阻塞会话 命令以 `
日志缺失 使用 .jsonl 扩展名 + >> 追加实现持久结构化日志
Discord 投递失败 改用 --reply-to 'channel:CHANNEL_ID' 格式,放弃频道别名

十二、源码级原理小结

整套集成的运行时调用链可归纳为:hook 事件 → notifications/index.ts 的 OpenClaw 分发分支wakeOpenClawresolveGateway 解析 → HTTP(wakeGateway)/ 命令(wakeCommandGateway)网关

几个值得记住的实现细节:

  • ask-user-question 事件会同步 await 分发,确保下游回复路由仍附着在活动会话上;其余生命周期事件 fire-and-forget,避免拖慢通知返回(notifications/index.ts);
  • 模板插值采用轻量无依赖实现,支持 {{var}}{{#if var}}...{{/if}} 条件(template-engine.ts),未知变量替换为空字符串;
  • 配置读取与分发均为失败安全:任何 OpenClaw 异常都不会影响主通知链路(wakeOpenClaw 的 catch 分支);
  • 仓库自带完整单测覆盖:config.test.tsdispatcher.test.tsindex.test.ts,可对照验证优先级、超时钳制与安全转义等行为。

按本指南配置好五个 hook 的 instruction、选对 verbosity 级别、跑通 /hooks/wake 冒烟测试后,你的 OmX → OpenClaw 通知链路即可进入生产可用的状态——而这一切质量的关键,正是你为每个事件精心调优的那条 instruction 模板。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
docsdocs
暂无描述
Markdown
900
5.83 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.76 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.35 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
927
1.85 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.94 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
533
603
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
396
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.04 K
527