c0b67fd879
补齐「启动确认窗自进化闭环」里 app-server 这一侧的读路径:pricebot 的 launch_confirm LLM 兜底成功样本会 server→server 落到 app-server 的 launch_confirm_sample 表;本提交 新增「样本列表查询」内部接口, 供 pricebot 的 scripts/distill_launch_confirm.py 回读这些 样本、按「宿主包 × 文案变体」聚合沉淀出候选规则。 - app/api/internal/launch_confirm.py: 新增样本列表内部接口(server→server, 不走用户 JWT) - app/repositories/launch_confirm_sample.py: 样本列表查询 - app/schemas/launch_confirm_sample.py: 列表响应 schema Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Reviewed-on: #91 Co-authored-by: wuqi <wuqi@wonderable.ai> Co-committed-by: wuqi <wuqi@wonderable.ai>
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
"""启动确认窗兜底样本的内部上报模型(pricebot → app-server)。"""
|
|
from __future__ import annotations
|
|
|
|
from datetime import datetime
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class LaunchConfirmSampleIn(BaseModel):
|
|
"""一次 agent 兜底的完整样本。
|
|
|
|
字段一律宽松可空:落盘是辅助数据,绝不能因个别字段缺失就拒收(否则连累 pricebot 兜底)。
|
|
"""
|
|
|
|
trace_id: str | None = None
|
|
device_id: str | None = None
|
|
host_package: str | None = None
|
|
target_app: str | None = None
|
|
system_locale: str | None = None
|
|
exec_success: bool = False
|
|
dialog_title: str | None = None
|
|
payload: dict | None = None
|
|
|
|
|
|
class LaunchConfirmSampleOut(BaseModel):
|
|
"""落库结果。"""
|
|
|
|
id: int
|
|
|
|
|
|
class LaunchConfirmSampleRow(BaseModel):
|
|
"""单条样本(列表读出;沉淀脚本 distill 用,payload 原样带出)。"""
|
|
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
id: int
|
|
created_at: datetime
|
|
trace_id: str | None = None
|
|
device_id: str | None = None
|
|
host_package: str | None = None
|
|
target_app: str | None = None
|
|
system_locale: str | None = None
|
|
exec_success: bool = False
|
|
dialog_title: str | None = None
|
|
payload: dict | None = None
|