Reapply "feat: 设备端应用商店(平台侧)"

This reverts commit bf5071b14d.
This commit is contained in:
2026-09-13 17:37:32 +08:00
parent bf5071b14d
commit 524ae20c49
11 changed files with 668 additions and 3 deletions
+20
View File
@@ -349,6 +349,26 @@ class AgentAction(db.Model):
updated_at = db.Column(db.String(20), default="")
class DeviceInstallLog(db.Model):
"""设备端应用商店的下载/安装记录(设备上的 Agent 上报,平台侧展示)。
平台**不主动**发起这条通道的安装:设备自己拉清单、自己下载、自己调
PackageInstaller 安装——这样走的是普通应用安装流程,不会触发 MIUI 针对
`adb install` 的「USB 安装」拦截(USER_RESTRICTED)。
"""
__tablename__ = "device_install_log"
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
fingerprint = db.Column(db.String(120), default="") # ro.serialno,识别物理设备
serial = db.Column(db.String(120), default="") # 上报时的地址(可能换过)
device_name = db.Column(db.String(80), default="") # 平台侧的名称(快照)
apk_id = db.Column(db.String(32), default="")
package_name = db.Column(db.String(200), default="")
version_name = db.Column(db.String(50), default="")
action = db.Column(db.String(20), default="") # download / install_ok / install_fail
message = db.Column(db.String(500), default="") # 失败原因等
created_at = db.Column(db.String(20), default="")
class AgentConversation(db.Model):
"""AI 控制台会话:整个消息序列以 JSON 存在一行里(单会话几十 KB,够用)。"""
__tablename__ = "agent_conversation"
+1 -1
View File
@@ -54,7 +54,7 @@ TABLE_LABELS = {
"custom_action": "自定义动作", "apk_file": "APK 记录", "device": "设备池",
"pending_device": "待连接设备", "agent_conversation": "AI 会话",
"agent_experience": "经验库", "experience_audit": "经验巡检",
"agent_action": "动作库",
"agent_action": "动作库", "device_install_log": "设备端安装记录",
}
_STAGE_TTL = 1800 # 导入暂存有效期(秒)