Skip to content

feat(skill): add avatars and namespace invitations - #947

Merged
XiaoSeS merged 49 commits into
mainfrom
feat/issue-910-skill-avatar
Oct 15, 2026
Merged

XiaoSeS merged 49 commits into
mainfrom
feat/issue-910-skill-avatar

Conversation

@XiaoSeS

@XiaoSeS XiaoSeS commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

处理内容

同一 PR 交付技能头像和团队空间一次性邀请链接。Refs #910. Refs #911.

本轮按维护者在需求讨论中确认的 OpenSpec 方案开发;原 Issue 的 Scanner/开放权重模型评测和模型制品供应链未在本 PR 实现,暂不自动关闭原 Issue。原 Issue 与本轮方案的差异需在合并前取得一致验收约定。

本轮产品边界

  • 技能包与头像同次提交使用一张原技能审核申请,一次批准/驳回共同生效。单改头像继续支持,不创建技能版本,需要人工审核时进入同一队列。平台技能管理员可审团队申请,沿用原技能审核权限与自审规则。
  • 单独移除头像提交成功即生效;与技能包同时移除则在统一审核通过后生效,拒绝保留旧图。旧候选及迟到决定不能重新发布旧头像。
  • 我的技能仅保留统一更新入口;详情只显示标题头像。新增/更新页面使用私有临时上传与开源裁剪弹窗,保留/替换/移除明确提交。
  • 命名空间卡片收拢为进入空间;详情按技能、成员、审核、设置组织。邀请放入成员页弹窗,治理动作保留原权限和确认。
  • 新邀请链接 /join#invite=<token>,兼容旧裸片段。登录前捕获并清片段,准入与明确确认加入保持;无效新片段不会复用旧暂存邀请。

相对原 Issue 的已确认决策

  • [Feature] 支持 Skill 自定义头像、裁剪与内容审核 #910:部署选择唯一讯飞/阿里云供应商,后台仅管理机器/人工开关;维护者已确认四种组合,包括关闭全部头像审核并显示风险提示。带技能包的提交仍须经过原技能内容审核。该决定与原 Issue“不采用完全不审核”有差异,并非宣称实现了原 Scanner 模型方案。
  • [Feature] Namespace 支持 24 小时单次邀请链接 #911:首次创建仍可无请求体;有效旧链接被替换时先确认,再发送 replace=true,另提供单独作废。维护者已明确选择这些交互;与原 Issue 的无确认一键替换有差异。
  • 正式需求见 openspec/changes/add-skill-avatars-and-moderation/ 和 openspec/changes/add-namespace-invite-links/,未实现的模型评测/供应链范围继续由原 Issue 跟踪。

Review 意见处理

本轮补充

  • 邀请历史保留创建/替换/作废及成功加入事实,分页紧凑展示;刷新后恢复同账号同标签页链接并校验当前状态。
  • 用户接入指南:docs/skillhub/guide/skill-avatars.md,已接入中文文档侧栏及发布/审核指南,覆盖讯飞、阿里云、私有配置、Compose、开关与排障。

验证状态

  • 各轮后端真实 PostgreSQL、前端源码、OpenAPI、固定 SHA 容器与浏览器验证已记录;邀请交互及讯飞联调效果已由维护者确认。最终目标主线与最新远端 CI 尚需验收,不声明当前已满足全部合并门禁。
  • 真实讯飞验证 PASS 与 BLOCK,BLOCK 进入统一人工审核;浏览器拒绝后违规候选未公开。未实际执行违规图片人工改判发布。
  • 两家供应商定向测试 4 项通过,接入文档独立复核、JSON/Compose 示例纯解析及文档站构建通过。
  • 阿里云真实账号联调按维护者决定暂不执行,不能将模拟测试视为真实接入通过。
  • 保留一个本地预览,完成合并后清理;当前 PR 保持 Draft,等待迁移顺序与最终门禁。

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS XiaoSeS changed the title feat(avatar): support Skill avatars and moderation feat: add Skill avatars and namespace invitations Oct 12, 2026
@XiaoSeS XiaoSeS changed the title feat: add Skill avatars and namespace invitations feat(skill): add avatars and namespace invitations Oct 12, 2026
@XiaoSeS
XiaoSeS marked this pull request as ready for review October 12, 2026 06:04
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS marked this pull request as draft October 12, 2026 07:30
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS marked this pull request as ready for review October 12, 2026 09:57
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>

@FenjuFu FenjuFu left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

重新核对了当前 d275d1e9(含新的私有临时上传、发布时头像关联及裁剪/缓存修改)。当前公开业务 CI、DCO/CLA 已通过;以下四项仍需要在合并前收敛:

  1. #910 明确不采用“完全不审核”。AvatarReviewSettingsService.update 仍允许机器/人工两个开关都关闭,当前 SkillAvatarAppService.createStoredCandidate 在此组合下直接 activate 头像。请保留至少一种公开头像审核,或先在 issue 中明确并确认变更后的验收约定;文档中的新策略说明不能单独替代原 issue 的验收。
  2. 候选的审核配置仍只记录供应商和审核开关,复用机器结果仍以图片 SHA、供应商和人工开关为边界,没有记录或匹配审核策略/供应商模型版本。设置本身的乐观并发 version 和候选的 scopeReviewVersionId(Skill 发布版)不能替代每次审核的策略/模型证据。请持久化可审计的策略及供应商模型/服务版本标识,将其纳入缓存键,并补策略版本改变后不复用旧结果的回归。
  3. #910 的 Scanner/模型评测与不可变制品供应链仍不在本 PR 的交付范围;#911 仍约定无请求体的一键生成/替换,而现在的创建接口使用 {replace}、活邀请返回 409 要求确认,并提供额外撤销入口。若这些是正式的新产品决策,请同步 issue/API 验收;否则按原约定实现。未完成的原范围先用 Refs 跟踪,避免直接关闭两条 issue。
  4. V69__skill_avatars.sql 在当前 head 仍未改号,与 #935 的 V69__authoring_platform.sql 同号;新增 V71 临时上传表没有消除该冲突。请协调合并顺序,后合分支重新编号并重跑迁移/后端测试。

本次复核基于新旧提交比较、当前 head 的相关完整源码、最新线程和公开 CI;没有独立复跑报告中的全部 PostgreSQL/984 项前端/浏览器场景,也没有调用真实计费供应商接口。

@XiaoSeS
XiaoSeS marked this pull request as draft October 13, 2026 10:29
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS dismissed FenjuFu’s stale review October 14, 2026 10:57

Maintainer authorized dismissal of this outdated review after the reported issues were resolved or explicitly accepted as product scope. Independent source review and local validation completed on the updated head.

Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS marked this pull request as ready for review October 14, 2026 12:08
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
@XiaoSeS
XiaoSeS merged commit accdfeb into main Oct 15, 2026
11 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.

2 participants