讲师中心 微信公众号
AI工具推荐 视频效率加速

腾讯云harness最佳实践-skills

Polar Sponsor
爱发电 赞助
.NET 9.0

把一个已有 git 仓库装配成"TAPD 故事 → feature 分支 → PR → CNB AI 代码评审 → 合入 main → TAPD 故事自动回写 commit"的闭环工程挽具(harness)。适用于腾讯云 CNB(cnb.cool)+ TAPD 组合的团队。触发场景:(1) 用户要求把 git 仓库接入 CNB 和/或 TAPD;(2) 要求 commit/PR 自动关联 TAPD 故事;(3) 要求启用 CNB AI 代码评审(cnbcool/ai-review);(

Harness Skills

功能概述

Harness Skills是一项面向实际任务的技能,主要用于把 OpenAI "Harness Engineering" 七层模型里最关键的" 意图层 + 约束层 + 反馈层 "实装到一个真实 git 仓库,让团队用最短命令得到完整工作流:;受众 默认什么都没有 :没 TAPD API 账号、没 CNB PAT、没 CNB 组织;

核心要点

  • skill 的职责是引导和装配;
  • 快速决策树;
  • 用户说"把这个仓库接入 TAPD 和 C。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

Harness Skills

使命

把 OpenAI "Harness Engineering" 七层模型里最关键的"意图层 + 约束层 + 反馈层"实装到一个真实 git 仓库,让团队用最短命令得到完整工作流:

TAPD 故事 → start-feature 一键拉分支 → 写代码 → commit(强制关联 TAPD)
         → push feature 分支(阻止直推 main)→ CNB 建 PR
         → cnbcool/ai-review 自动在 PR 评论里评审
         → 人类批准 → 合入 main → TAPD 故事"代码"Tab 自动回写

受众默认什么都没有:没 TAPD API 账号、没 CNB PAT、没 CNB 组织。skill 的职责是引导和装配。

快速决策树

用户说"把这个仓库接入 TAPD 和 CNB" / "装一下 harness": → 走完整装配流程 § 完整装配

用户说"我只想把 commit 关联 TAPD 故事": → 最小装配(仅 commit-msg hook)§ 最小装配

用户说"从 TAPD 故事拉分支开始做": → scripts/start-feature.sh § 日常工作流

用户说"推送之后看不到 commit 在 TAPD 里": → 诊断章节 → 参考 references/troubleshooting.md

用户说"AI 代码评审能在 PR 里评论吗": → 确认 .cnb.yml 的 pull_request: 有 cnbcool/ai-review:latest stage

完整装配(最常用)

前置

必备工具:git, jq, curl, python3, bash。

需要用户获取的东西(skill 会引导但不能代做):

  1. TAPD workspace_id(项目 ID,10 位数字):在 TAPD 登录后任意项目页 URL 里找。
  2. TAPD API 账号:TAPD 公司管理 → API 账号管理,URL https://www.tapd.cn/<公司ID>/open_platform/config。创建时务必勾选目标 workspace 的授权,否则后续 403。
  3. CNB 个人访问令牌:https://cnb.cool → 个人设置 → 访问令牌 (Access Tokens)。scope 勾 repo。
  4. CNB 组织(group)path:用户在 CNB 至少要有一个 group(登录后左上角切换)。用户可能只有 cnb. 这种默认个人 group,最好建一个命名 group。

装配三步

🌟 推荐:交互式向导(零态用户首选)

SKILL=~/.workbuddy/skills/harness-skills        # 或通过 SkillHub 安装后的路径

# 一条命令进入向导,按提示一步步输入(会自动帮你打开 TAPD/CNB 获取凭据的页面)
bash $SKILL/scripts/install-harness.sh wizard /path/to/repo

向导会问你:

  1. TAPD 公司ID → workspace_id → API User/Password → alias
  2. CNB PAT → alias → 从你的 group 列表选一个 → CNB 仓库名
  3. 是否 mirror 本地仓库、是否装自动推 TAPD 钩子

任意一步卡住都会给出获取指引,不会让你"卡在不知道填什么"。

或者:手工三步(适合脚本化/CI 用)

# 1. 绑 TAPD 凭据(workspace_id 需要你从 TAPD 页面 URL 里找)
TAPD_API_USER=<你的 API 账号> 
TAPD_API_PASSWORD=<你的 API 密钥> 
  bash $SKILL/scripts/install-harness.sh connect-tapd  <你的 workspace_id>

# 2. 绑 CNB 凭据(PAT 从 cnb.cool 个人设置里生成)
CNB_TOKEN=<你的 CNB PAT> 
  bash $SKILL/scripts/install-harness.sh connect-cnb 

# 3. 装配到仓库
bash $SKILL/scripts/install-harness.sh setup /path/to/repo 
  --auto-init 
  --tapd-alias=<上面的 alias> --workspace-id=<你的 workspace_id> 
  --cnb-alias=<上面的 alias> --cnb-org=<你的 CNB 组织> --cnb-repo=<仓库名> 
  --mirror     # 可选:同时把本地全量 mirror push 到新 CNB 仓

装完后:

  • .codebuddy/connections.yml:记录 TAPD/CNB 绑定元数据(可 commit,无凭据)
  • .cnb.yml:包含 main: push: 构建流水线 + main: pull_request: AI review + 常规 CI
  • .tapd.yml:TAPD workspace 元数据,commit-msg hook 读它拼 URL
  • .gitmessage:commit 模板,提示写 --story= 格式
  • .github/PULL_REQUEST_TEMPLATE.md:TAPD 关联段(追加,不覆盖上游)
  • .git/hooks/commit-msg:校验 commit message 必须关联 TAPD 故事/缺陷/任务
  • .git/hooks/pre-push:protect-main 拒绝直推受保护分支;可选 auto-push 到 TAPD
  • .gitignore 追加 .codebuddy/secrets/ 和 .harness-bypass

日常工作流

A. 从 TAPD 故事开始做需求

bash $SKILL/scripts/start-feature.sh 

这个命令会:

  1. 调 TAPD API 查故事标题
  2. 标题 slug 化(小写/去特殊字符/限 40 字符)
  3. 新建分支 feature/<短ID>-
  4. (如果能联网到 TAPD)把 TAPD 官方"源码提交关键字"塞进剪贴板

B. commit 格式

推荐(TAPD 官方完整格式):

feat(scope): subject line ≤50 chars

说明改动原因。

--story=@tapd- --user= [标题] https://www.tapd.cn//s/

最简(也被 hook 接受):

--story=   或   --bug=   或   --task=

获取官方完整格式的方法:

  • TAPD 故事详情页右上角「复制源码提交关键字」
  • 或(若 AI agent 装了 mcp-server-tapd):调 get_commit_msg(workspace_id, options={object_id, type})
  • 或 bash $SKILL/scripts/tapd-commit-tag.sh

C. push + PR

git push cnb feature/-xxx     # protect-main hook 放行 feature/*
# CNB 返回: Create PR at https://cnb.cool///-/compare/main...feature/...

在 CNB 网页端创建 PR 后:

  • cnbcool/ai-review:latest 插件自动跑,在 PR 评论里发代码评审意见
  • 常规 CI(go test / bun lint 等)并行跑
  • 人类 reviewer 批准 → 合入 main
  • CNB → TAPD webhook(若 TAPD 项目 settings/devops 已启用云原生构建源码集成)自动在故事详情页「代码」Tab 添加 commit

D. commit 没出现在 TAPD?

两种原因,按顺序排查:

  1. CNB 和 TAPD 的集成没开:去 TAPD 项目 → 项目设置 → DevOps → 启用「云原生构建源码」→ 关联 CNB 仓库。这是最标准路径。
  2. 集成开了但不想依赖 Web webhook(例如私有化 / 离线审计):
    • 在 setup 时加 --with-auto-push,装本地 pre-push 钩子,push 时自动调 TAPD Open API POST /code_commit_infos 推送 commit
    • 或事后用 bash $SKILL/scripts/push-commit-to-tapd.sh 手动补推

最小装配

只装 commit-msg hook(不接 CNB,不改 .cnb.yml):

bash $SKILL/scripts/lib/install-commit-hook.sh install /path/to/repo

仅强制 commit 必须带 --story= / --bug= / --task=。适合已经有自己的 CI 系统、只想加约束层的团队。

常见问题的快速答案

问题 答案
API 账号 testauth 通过但 list workspace 403 API 账号创建时没勾选 workspace 授权。去 /<公司ID>/open_platform/config 编辑授权
POST /orgs//repos 返回 404 CNB 不是 GitHub 风格。正确是 POST //-/repos,字段 visibility_level: "Private"
GET /user/orgs 返回 [] CNB 叫 groups 不叫 orgs。用 GET /user/groups
pull_request 里 AI review 没自动跑 检查 .cnb.yml 有没有 cnbcool/ai-review:latest stage;确认推的不是 main 而是 feature 分支;PR 要开到 main
直推 main 被 hook 拦截了 这是预期行为。走 PR 流程,或临时 HARNESS_ALLOW_MAIN_PUSH=1 git push ...(慎用)

详见 references/troubleshooting.md。

深入主题

深度内容按需加载,避免 SKILL.md 膨胀:

  • 完整工作流 + 给客户演示的剧本:references/workflow.md
  • TAPD × CNB 集成的所有已知事实和踩坑:references/tapd-cnb-integration.md
  • 故障排查清单(所有实测过的错误码 + 修复):references/troubleshooting.md

卸载

bash $SKILL/scripts/uninstall-harness.sh /path/to/repo

默认保留:凭据文件、CNB 远端仓库、PR 模板里的 TAPD 段(需要手工删)。

脚本总览

脚本 用途 用户直接调
scripts/install-harness.sh wizard 交互式装配向导(零态首选) ✅
scripts/install-harness.sh connect-tapd / connect-cnb / setup / status 主入口的各子命令(手工/脚本化用) ✅
scripts/start-feature.sh 从 TAPD 故事拉 feature 分支 ✅
scripts/tapd-commit-tag.sh 取 TAPD 源码提交关键字 ✅
scripts/push-commit-to-tapd.sh 手动/CI 把 commit 推给 TAPD ✅
scripts/verify-harness.sh 仓库装配体检 ✅
scripts/uninstall-harness.sh 反向卸载 ✅
scripts/lib/* 内部工具(secrets-store / create-cnb-repo / mirror-to-cnb 等) 一般不直接调

资产总览

  • assets/cnb-templates/*.cnb.yml:5 种栈模板(go / node / python / terraform / mixed-go-node),main: pull_request: 段都带 cnbcool/ai-review:latest
  • assets/git-hooks/*.sh:commit-msg 校验、pre-push 调度器、protect-main、可选的 TAPD 推送钩子
  • assets/git/*:.gitmessage、.tapd.yml、PR 模板
目录

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
国内免备案空间有哪些
国内免备案空间有哪些

国内免备案空间有阿里云、腾讯云、百度云、华为云、网易云、联想云、沃达云、景安云、西部数码和3A 网络。虽然这些空间提供商提供了免备案服务,但在使用过程中仍需遵守相关法律法规,确保网站内容的合规性。

410

2023.10.16

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
腾讯问卷设置问卷操作指南
腾讯问卷设置问卷操作指南

共0课时 | 0人学习

腾讯问卷 PC 端快速入门
腾讯问卷 PC 端快速入门

共0课时 | 0人学习

CodeBuddy官方文档
CodeBuddy官方文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn