Skip to content

Git 备份可从打了 git 标签的环境预设取访问令牌 - #125

Merged
wxkingstar merged 1 commit into
mainfrom
claude/workspace-git-token-from-preset
Oct 11, 2026
Merged

wxkingstar merged 1 commit into
mainfrom
claude/workspace-git-token-from-preset

Conversation

@wxkingstar

Copy link
Copy Markdown
Owner

背景

组织用 GitHub App 令牌访问仓库,令牌已放在技能设置的环境预设里。工作目录 Git 备份希望直接选用这个预设,而不是每个员工手填令牌。

改动

  • 令牌来源:Git 备份新增「访问令牌来源」:手动填写,或使用环境预设并选择其中一个变量。新增 GET /api/admin/bots/{id}/workspace/git/presets,只列打了 git 标签的预设,只返回变量名。
  • 权限边界:预设令牌往往能访问整个组织,只有委员会给预设打上 git 标签后员工管理员才能选用;保存配置与每次使用时都校验标签和变量是否存在。
  • 现取现用:测试连接、备份、用仓库初始化/还原、换机时的 Git 恢复都通过 coreman/core/bots/git_token.py 现取令牌,预设更新后立即生效。改回手动填写会解除预设绑定。
  • 预设弹窗:可编辑标签(此前后端支持、界面没有入口)。
  • 运行时:仓库在 github.com 时,HTTPS 令牌认证用户名为 x-access-token(GitHub App 令牌要求,个人令牌不看用户名),其他平台仍为 oauth2。
  • 迁移 0062:bots 增加可空列 git_token_preset、git_token_var。

测试

  • tests/api/test_bot_workspace.py:只列 git 标签预设且不返回值;未打标签/变量不存在被拒;下发的令牌来自预设;改回手动填写后用员工自己的令牌。
  • tests/unit/test_runtime_workspace.py:github.com 用 x-access-token,其他主机用 oauth2。
  • 本地全量 pytest 3038 passed;前端 eslint、vue-tsc、相关 vitest 通过。

兼容性

运行时改动需升级节点。迁移只加可空列。

🤖 Generated with Claude Code

- 访问令牌来源可选「手动填写」或「使用环境预设」:只列出打了 git 标签的预设,
  只给变量名;保存和每次使用时都校验标签与变量,委员会去掉标签即失效
- 令牌在测试连接、备份、还原、换机时现取,预设里的令牌更新后即用上
- 预设弹窗支持编辑标签
- github.com 上的 HTTPS 令牌认证用户名改为 x-access-token(GitHub App 令牌要求)
- 迁移 0062:bots 增加 git_token_preset、git_token_var

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wxkingstar
wxkingstar merged commit 6055dc3 into main Oct 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant