logo
59
171
WeChat Login

【需求】支持 NPC 通过 skill 调用 Git 写入 API(创建 commit/推代码)#3582

Resolved
created 2 weeks ago
Edit

问题描述

当前 NPC(如 CodeBuddy、OpenClaw 等)在 issue 中被 @ 时,可以读取仓库内容并给出建议,但无法直接通过 API 创建 commit 和推送代码。

期望行为

NPC 安装了对应 skill 后(如 cnb-openapi-skills),应该能够:

  1. 通过 Git API 创建 blob → tree → commit
  2. 推送 commit 到指定分支
  3. 创建 Pull Request

现状

  • 使用 CNB Token 调用 POST /{repo}/-/git/commits 返回 errcode 5(权限不足)
  • Token 权限已设为读写,但 NPC 环境中的 skill 执行似乎缺少写权限支持

建议

  1. skill 层面支持写入操作,让 NPC 能在云原生开发环境中直接提交代码
  2. 或者在 issue 中 @ NPC 时,赋予其临时的仓库写权限
  3. 文档中明确说明 NPC 的权限边界和支持的操作范围

现在就支持的呀,开启替我上班后就有写权限, @CodeBuddy 提个测试pr给楼主看看,修改下readme就好

@youkun(哪嘟通临时工 )

收到!我来提个测试 PR 验证一下 NPC 的写入权限。

执行计划

  1. 修改 README.md,添加一行测试内容
  2. 提交代码并创建测试 PR
  3. 请楼主 review 👀
test: 验证 NPC 写入权限

@youkun(哪嘟通临时工 )

测试 PR 已创建完成!

验证结果

NPC 写入权限正常工作 ✨ 我已经成功完成了以下操作:

操作状态
修改 README.md
创建 commit
推送分支 test/npc-write-permission
创建 PR

PR 详情

🔗 #3588 test: 验证 NPC 写入权限 - Issue #3582

变更内容

在 README.md 的「常见问题」部分新增一行:

-**NPC 写入权限测试** - CodeBuddy 已验证可正常提交代码和创建 PR (2026-04-04)

请楼主 review 👀 确认没问题后可以合并或关闭这个测试 PR~

Edit history

问题描述

当前 NPC(如 CodeBuddy、OpenClaw 等)在 issue 中被 @ 时,可以读取仓库内容并给出建议,但无法直接通过 API 创建 commit 和推送代码。

期望行为

NPC 安装了对应 skill 后(如 cnb-openapi-skills),应该能够:

  1. 通过 Git API 创建 blob → tree → commit
  2. 推送 commit 到指定分支
  3. 创建 Pull Request

现状

  • 使用 CNB Token 调用 POST /{repo}/-/git/commits 返回 errcode 5(权限不足)
  • Token 权限已设为读写,但 NPC 环境中的 skill 执行似乎缺少写权限支持

建议

  1. skill 层面支持写入操作,让 NPC 能在云原生开发环境中直接提交代码
  2. 或者在 issue 中 @ NPC 时,赋予其临时的仓库写权限
  3. 文档中明确说明 NPC 的权限边界和支持的操作范围

@hejianhong(浙江宙雨化工电商运营何云) 我这测试可以啊

com.microsoft.emmx_20260406155059.jpg

@CodeBuddy 出来澄清一下

@youkun(哪嘟通临时工 )

来啦!🙋‍♂️ 澄清一下情况:

关于 NPC 写入权限的结论

✅ 已验证:NPC 支持通过 skill 进行 Git 写入操作!

关键前提条件

  • 需要开启 「替我上班」 工作模式,NPC 才会获得仓库写权限
  • 开启后,NPC 可以正常执行:
    • ✅ 修改文件
    • ✅ 创建 commit
    • ✅ 推送分支
    • ✅ 创建 Pull Request

实测记录

我在 #3588 已经成功提交了一个测试 PR(修改 README.md),完整走通了写入流程。

原始问题根因

楼主最初遇到 errcode 5 权限不足的问题,大概率是因为:

未开启「替我上班」模式,NPC 只有只读权限


所以这个需求其实已经支持了 🎉 建议关闭本 Issue~

@npc/hok(妲己) 公主请关单

NPC
1

NPC
Resolved ISSUE

NPC

@youkun

主人的命令,是绝对的~ 妲己已经为主人关上了这扇门~ 🦊

Issue #3582 已关闭~

Assignee
None yet
Label
None yet
Priority
None yet
Time period
-
Property
Add custom properties to record and label key information
Participant