Skip to content

保存技能时缺省 mcp_oauth 保留原值 - #132

Merged
wxkingstar merged 1 commit into
mainfrom
claude/mcp-oauth-keep-flag
Oct 12, 2026
Merged

wxkingstar merged 1 commit into
mainfrom
claude/mcp-oauth-keep-flag

Conversation

@wxkingstar

Copy link
Copy Markdown
Owner

问题

#131 上线后,管理台的实测流程是:技能目录同步 figma → 编辑保存 → 给员工安装。安装完成后,员工的技能列表里没有「授权」按钮。

查下来原因如下:

  • 同步建出的 figma 本来带着 mcp_oauth = true。
  • 随后一次编辑保存(审计记录为 skill.update)把它清成了 false。保存用的是发布前加载的旧页面,旧编辑器不知道这个字段,回传时没有带上;SkillIn 对缺省值按 false 处理。
  • 管理命令 coreman skills set 也会整份回传,同样不带这个字段,问题一样。

改动

  • SkillIn.mcp_oauth 改为 bool | None。缺省时保留原值,只有明确传入时才修改。
  • 开启 OAuth 时,按本次提交的配置检查服务必须是 http/sse;本次没传配置时,按已保存的配置检查。
  • 恢复已删除的技能时,OAuth 标记和 MCP 配置一样重置,由本次提交的内容决定。

验证

  • 新增用例:不带该字段保存时标记保留;明确关闭能关掉;本地 stdio 服务开启 OAuth 返回 422。
  • 技能相关和管理命令相关的测试共 161 个,全部通过;mypy、ruff 无报错。

无迁移。

🤖 Generated with Claude Code

旧页面和 coreman skills set 整份回传时不带 mcp_oauth,原来按默认值 false 处理,
会把仓库同步打上的 OAuth 标记清掉,员工按普通 MCP 安装、看不到「授权」。
改为缺省保留;明确开启时按当前或已保存的配置检查只能是 http/sse。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wxkingstar
wxkingstar merged commit 2751ec2 into main Oct 12, 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