Skip to content

[Feature]: 前端让用户选角色体型,否则 #846 存的字段永远没人写 #847

Description

@johnnyzhang-eng

问题

#846 让体型有地方存、有人读,但没有任何界面让用户选它。在有人选之前,96 个存量角色仍然全部走 BIPED 默认,三道判据照旧不触发。

为什么不能自动识别

这个仓库明确否决过(CharacterCard.stance 的注释原文):

不自动识别:那要调模型,而认错是静默的 —— 错误的体型只在下一次付费生成的画面上显形。

quick-start 的 planner 已经在把用户自由文本分类成 actionType / locomotion,顺手加一个 stance 技术上很容易 —— 但那正是被否决的做法。认错体型的代价是一次已计费的生成,而且错在画面上、不在任何一道检查里。

所以要让人选。

要做什么

  • 建角色时(或角色属性处)让用户三选一:双足 / 四足 / 无肢。
  • 写进 character_data.stance。接口已经收了 —— POST /characters 收的就是完整 CharacterDatafeat(character): 体型存在角色上,让三道按体型分流的判据不再是死代码 #846 加完字段就能写,不需要新端点。
  • 措辞要让人选得对。「四足」「无肢」是内部词;用户看到的该是「像人一样两条腿站着」「四条腿着地」「没有手脚,靠身体扭动」这类。选错的代价是一次付费生成。
  • 存量 96 个角色:不用回填(None = 没人选过,下游按双足处理,与今天的行为一致);但要能改。

三选一之外的取值

CharacterStance 现在只有 BIPED / QUADRUPED / SERPENTINEai_engine.prompt.adapter 里每个非双足成员都要有自己那套部位说法的替换建议表 —— 加第四种(比如飞行、多足)不是加一个枚举值就完事的,要先把那张表补上,否则拒绝理由只能告诉用户「不行」、给不出改法。本 issue 不加新成员。

验收

  • 新建一个无肢角色 → character_data.stance == "serpentine"
  • 给它写一句带「手臂」的动作描述 → 当场被拒,且提示说得出改法
  • 不选 → 行为与今天完全一致

相关

Metadata

Metadata

Assignees

No one assigned

    Labels

    MiniSpec小改动的精简规格enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions