This commit consolidates a large set of host-mode security and UX fixes across backend and frontend. Security / execution model: - Make permission/execution mode switches apply immediately (no deferred pending-only behavior). - Keep runtime mode change notices durable and visible via user-message guidance path. - Add explicit runtime message source taxonomy support and persistence: user / presend / guidance / notify / sub_agent / background_command. - Ensure guidance/notify insertion is batched per tool-cycle so mid-run inserts are committed together. - Separate notify from guidance semantics for mode-change notices. - Add direct-mode auto-fallback handling visibility on frontend. Approval and command gating: - Align run_command approval pre-check logic with docker behavior for approval/auto_approval modes in host execution paths. - Keep approval retry flow and final-result semantics intact when permission errors trigger approval. - Externalize forbidden command keyword list into JSON config: config/forbidden_commands.json. - Update forbidden command rejection message to user-facing wording: 用户不允许执行包含“... ”的指令. Prompt/runtime guidance: - Refine execution-mode runtime rule text to avoid endless workaround loops: one safe alternative first, then request switching to direct mode when truly required. Chat rendering / message UX: - Prevent injected guidance/notify user-messages from incorrectly triggering assistant work header/timer chain. - Restore correct visibility after history reload while preserving runtime-source behavior. - Update user-header icon/label rendering by message source: - guidance -> 引导 + navigation icon - notify/sub_agent/background_command -> 通知 + bell icon - user/presend -> keep normal user header. - Add new icons: static/icons/navigation.svg, static/icons/bell.svg. Approval panel UX: - Convert desktop approval panel from layout-compress sidebar to overlay + blur sheet. - Fix panel transition behavior (remove unintended vertical motion; use dedicated desktop overlay transition). - Improve approval result display: - decision and reason split lines, - green/red status styling, - multiline reason rendering, - auto-collapse delay adjusted to 3s. Execution mode TTL feedback: - When direct mode auto-expires to sandbox, frontend menu state is updated from status snapshot. - Show non-auto-dismiss warning toast to explicitly notify auto-fallback. Misc consistency updates: - Execution mode label text cleanup in composer. - Runtime notice wording normalization (权限模式修改为..., 执行环境修改为...). Build/test notes: - Frontend rebuilt after UI changes. - Smoke tests passed for server refactor path.
209 lines
12 KiB
YAML
209 lines
12 KiB
YAML
- generic [active] [ref=e1]:
|
||
- button "开启读屏标签" [ref=e2]
|
||
- generic: 读屏标签已关闭
|
||
- generic [ref=e4]:
|
||
- generic [ref=e6]:
|
||
- link [ref=e7] [cursor=pointer]:
|
||
- /url: //www.douyin.com/jingxuan
|
||
- generic [ref=e13]:
|
||
- generic [ref=e15]:
|
||
- link "精选" [ref=e19] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/jingxuan?from_nav=1
|
||
- generic [ref=e22]: 精选
|
||
- link "推荐" [ref=e26] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/?recommend=1&from_nav=1
|
||
- generic [ref=e29]: 推荐
|
||
- link "搜索" [ref=e33] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/aisearch?from_nav=1
|
||
- generic [ref=e36]: 搜索
|
||
- link "关注" [ref=e40] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/follow?from_nav=1
|
||
- generic [ref=e43]: 关注
|
||
- link "朋友" [ref=e47] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/friend?from_nav=1
|
||
- generic [ref=e50]: 朋友
|
||
- link "我的" [ref=e54] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/user/self?from_nav=1
|
||
- generic [ref=e57]: 我的
|
||
- link "直播" [ref=e62] [cursor=pointer]:
|
||
- /url: https://live.douyin.com/?from_nav=1
|
||
- generic [ref=e65]: 直播
|
||
- link "放映厅" [ref=e69] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/vs?from_nav=1
|
||
- generic [ref=e72]: 放映厅
|
||
- link "短剧" [ref=e76] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/series?from_nav=1
|
||
- generic [ref=e79]: 短剧
|
||
- generic [ref=e81]:
|
||
- img [ref=e84] [cursor=pointer]
|
||
- img [ref=e88] [cursor=pointer]
|
||
- img [ref=e92] [cursor=pointer]
|
||
- generic [ref=e94]:
|
||
- banner [ref=e97]:
|
||
- generic [ref=e99]:
|
||
- generic [ref=e103]:
|
||
- textbox "搜索你感兴趣的内容" [ref=e105]
|
||
- button "搜索" [ref=e107] [cursor=pointer]:
|
||
- img [ref=e108]
|
||
- generic [ref=e110]: 搜索
|
||
- generic [ref=e114]:
|
||
- generic [ref=e116] [cursor=pointer]:
|
||
- img [ref=e118]:
|
||
- img [ref=e119]
|
||
- paragraph [ref=e121]: 充钻石
|
||
- link "客户端" [ref=e126] [cursor=pointer]:
|
||
- /url: ""
|
||
- generic [ref=e128]:
|
||
- img [ref=e130]:
|
||
- img [ref=e131]
|
||
- paragraph [ref=e134]: 客户端
|
||
- generic [ref=e136] [cursor=pointer]:
|
||
- img [ref=e138]:
|
||
- img [ref=e139]
|
||
- paragraph [ref=e141]: 壁纸
|
||
- list [ref=e142]:
|
||
- generic [ref=e145] [cursor=pointer]:
|
||
- img [ref=e147]:
|
||
- img [ref=e148]
|
||
- paragraph [ref=e151]: 通知
|
||
- generic [ref=e155] [cursor=pointer]:
|
||
- img [ref=e157]:
|
||
- img [ref=e158]
|
||
- paragraph [ref=e160]: 投稿
|
||
- link [ref=e163] [cursor=pointer]:
|
||
- /url: //www.douyin.com/user/self
|
||
- listitem [ref=e164]
|
||
- generic [ref=e166]:
|
||
- tablist [ref=e167]:
|
||
- tab "全部" [selected] [ref=e168]
|
||
- tab "公开课" [ref=e169] [cursor=pointer]
|
||
- tab "游戏" [ref=e170] [cursor=pointer]
|
||
- tab "二次元" [ref=e171] [cursor=pointer]
|
||
- tab "音乐" [ref=e172] [cursor=pointer]
|
||
- tab "影视" [ref=e173] [cursor=pointer]
|
||
- tab "美食" [ref=e174] [cursor=pointer]
|
||
- tab "知识" [ref=e175] [cursor=pointer]
|
||
- tab "小剧场" [ref=e176] [cursor=pointer]
|
||
- tab "生活vlog" [ref=e177] [cursor=pointer]
|
||
- tab "体育" [ref=e178] [cursor=pointer]
|
||
- tab "旅行" [ref=e179] [cursor=pointer]
|
||
- tab "亲子" [ref=e180] [cursor=pointer]
|
||
- tab "动物" [ref=e181] [cursor=pointer]
|
||
- tab "三农" [ref=e182] [cursor=pointer]
|
||
- tab "汽车" [ref=e183] [cursor=pointer]
|
||
- tab "美妆穿搭" [ref=e184] [cursor=pointer]
|
||
- tabpanel "全部" [ref=e186]:
|
||
- generic [ref=e192]:
|
||
- generic [ref=e195] [cursor=pointer]:
|
||
- generic [ref=e197]:
|
||
- 'img "美国最便宜盒饭VS最贵盒饭!一盒4斤和一份500块谁更离谱? #美国美食#美食#国外美食#美国#盒饭" [ref=e199]'
|
||
- generic [ref=e202]:
|
||
- generic [ref=e203]: 10:19
|
||
- generic [ref=e204]:
|
||
- img [ref=e205]:
|
||
- img [ref=e206]
|
||
- generic [ref=e208]: 24.4万
|
||
- generic [ref=e210]:
|
||
- generic [ref=e211]: "美国最便宜盒饭VS最贵盒饭!一盒4斤和一份500块谁更离谱? #美国美食#美食#国外美食#美国#盒饭"
|
||
- generic [ref=e213]:
|
||
- generic [ref=e214]: "@子文又饿了"
|
||
- generic [ref=e215]: · 2月24日
|
||
- generic [ref=e218] [cursor=pointer]:
|
||
- generic [ref=e220]:
|
||
- 'img "谁是系列巅峰?深度解析《爱情公寓》五季风格差异 #爱情公寓 #曾小贤 #陈赫 #影视 #电视剧" [ref=e222]'
|
||
- generic [ref=e225]:
|
||
- generic [ref=e226]: 23:29
|
||
- generic [ref=e228]: 9.1万
|
||
- generic [ref=e230]:
|
||
- generic [ref=e231]: "谁是系列巅峰?深度解析《爱情公寓》五季风格差异 #爱情公寓 #曾小贤 #陈赫 #影视 #电视剧"
|
||
- generic [ref=e233]:
|
||
- generic [ref=e234]: "@毛知竹"
|
||
- generic [ref=e235]: · 3月14日
|
||
- generic [ref=e238] [cursor=pointer]:
|
||
- generic [ref=e240]:
|
||
- 'img "最该被4399下架的童年阴影恐怖游戏,小女孩放学回家后发现家中竟然发生了可怕的惨案!#恐怖游戏 #游戏解说 #恐怖游戏解说#4399童年小游戏" [ref=e242]'
|
||
- generic [ref=e245]:
|
||
- generic [ref=e246]: 08:32
|
||
- generic [ref=e248]: "6854"
|
||
- generic [ref=e250]:
|
||
- generic [ref=e251]: "最该被4399下架的童年阴影恐怖游戏,小女孩放学回家后发现家中竟然发生了可怕的惨案!#恐怖游戏 #游戏解说 #恐怖游戏解说#4399童年小游戏"
|
||
- generic [ref=e253]:
|
||
- generic [ref=e254]: "@里由"
|
||
- generic [ref=e255]: · 6天前
|
||
- generic [ref=e258] [cursor=pointer]:
|
||
- generic [ref=e260]:
|
||
- 'img "全世界最神秘的国家朝鲜!他们一日三餐都吃什么? 我居然能实现了海鲜自由?!沉浸式体验朝鲜的一天#交换世界计划 #环球旅行 #青年创作者成长计划 #朝鲜 #春节旅行好去处" [ref=e262]'
|
||
- generic [ref=e265]:
|
||
- generic [ref=e266]: 08:10
|
||
- generic [ref=e268]: 5.5万
|
||
- generic [ref=e270]:
|
||
- generic [ref=e271]: "全世界最神秘的国家朝鲜!他们一日三餐都吃什么? 我居然能实现了海鲜自由?!沉浸式体验朝鲜的一天#交换世界计划 #环球旅行 #青年创作者成长计划 #朝鲜 #春节旅行好去处"
|
||
- generic [ref=e273]:
|
||
- generic [ref=e274]: "@鱼十七Justin"
|
||
- generic [ref=e275]: · 2月18日
|
||
- generic [ref=e278] [cursor=pointer]:
|
||
- generic [ref=e280]:
|
||
- 'img "连跑五把绝密航天都会经历什么65 不容易,65期,大免保终于出3x3了!!!#三角洲行动 #三角洲曼德尔砖搬砖攻略 #三角洲s9回声新赛季 #三角洲行动猛攻剧场" [ref=e282]'
|
||
- generic [ref=e285]:
|
||
- generic [ref=e286]: 08:55
|
||
- generic [ref=e288]: 12.5万
|
||
- generic [ref=e290]:
|
||
- generic [ref=e291]: "连跑五把绝密航天都会经历什么65 不容易,65期,大免保终于出3x3了!!!#三角洲行动 #三角洲曼德尔砖搬砖攻略 #三角洲s9回声新赛季 #三角洲行动猛攻剧场"
|
||
- generic [ref=e293]:
|
||
- generic [ref=e294]: "@阿尔萨鱼"
|
||
- generic [ref=e295]: · 4月18日
|
||
- generic [ref=e298] [cursor=pointer]:
|
||
- generic [ref=e300]:
|
||
- 'img "《狂飙》深度解读35期:高启强将计就计『补发』 #狂飙 #影视经典补完计划 #了不起的精讲团 #绘影绘声 #高启强" [ref=e302]'
|
||
- generic [ref=e305]:
|
||
- generic [ref=e306]: 08:34
|
||
- generic [ref=e308]: 3.6万
|
||
- generic [ref=e310]:
|
||
- generic [ref=e311]: "《狂飙》深度解读35期:高启强将计就计『补发』 #狂飙 #影视经典补完计划 #了不起的精讲团 #绘影绘声 #高启强"
|
||
- generic [ref=e313]:
|
||
- generic [ref=e314]: "@绘影绘声"
|
||
- generic [ref=e315]: · 2月23日
|
||
- generic [ref=e318] [cursor=pointer]:
|
||
- generic [ref=e320]:
|
||
- 'img "六套在大坝只能算个萝莉 #三角洲行动 #三角洲s8蝶变时刻新赛季 #假期结束接着洲 #三角洲行动攻略#无名教学" [ref=e322]'
|
||
- generic [ref=e325]:
|
||
- generic [ref=e326]: 02:15
|
||
- generic [ref=e328]: 61.9万
|
||
- generic [ref=e330]:
|
||
- generic [ref=e331]: "六套在大坝只能算个萝莉 #三角洲行动 #三角洲s8蝶变时刻新赛季 #假期结束接着洲 #三角洲行动攻略#无名教学"
|
||
- generic [ref=e333]:
|
||
- generic [ref=e334]: "@安澜(三角洲行动)"
|
||
- generic [ref=e335]: · 3月9日
|
||
- generic [ref=e338] [cursor=pointer]:
|
||
- generic [ref=e340]:
|
||
- 'img "一口气看完放开那个女巫,理工男穿越中世纪干工业革命! #放开那个女巫 #动漫推荐 #国漫" [ref=e342]'
|
||
- generic [ref=e345]:
|
||
- generic [ref=e346]: 18:30
|
||
- generic [ref=e348]: 2.4万
|
||
- generic [ref=e350]:
|
||
- generic [ref=e351]: "一口气看完放开那个女巫,理工男穿越中世纪干工业革命! #放开那个女巫 #动漫推荐 #国漫"
|
||
- generic [ref=e353]:
|
||
- generic [ref=e354]: "@澄子动漫"
|
||
- generic [ref=e355]: · 4天前
|
||
- generic [ref=e358] [cursor=pointer]:
|
||
- generic [ref=e360]:
|
||
- 'img "体验越南帝王洗头,四手服务,爽到飞起! #青年创作者成长计划 #交换世界计划 #环球旅行 #勇闯东南亚 #越南" [ref=e362]'
|
||
- generic [ref=e365]:
|
||
- generic [ref=e366]: 11:29
|
||
- generic [ref=e368]: 9.5万
|
||
- generic [ref=e370]:
|
||
- generic [ref=e371]: "体验越南帝王洗头,四手服务,爽到飞起! #青年创作者成长计划 #交换世界计划 #环球旅行 #勇闯东南亚 #越南"
|
||
- generic [ref=e373]:
|
||
- generic [ref=e374]: "@海风"
|
||
- generic [ref=e375]: · 4月8日
|
||
- generic [ref=e378] [cursor=pointer]:
|
||
- generic [ref=e380]:
|
||
- 'img "绝航2.0单3,8分钟清全图。绝对欧美之人 @重楼(三角洲行动) #三角洲行动 #三角洲s8蝶变时刻新赛季 #新春来三角洲接红 #三角洲新春接红攻略 #威龙" [ref=e382]'
|
||
- generic [ref=e385]:
|
||
- generic [ref=e386]: 08:36
|
||
- generic [ref=e388]: 7.1万
|
||
- generic [ref=e390]:
|
||
- generic [ref=e391]: "绝航2.0单3,8分钟清全图。绝对欧美之人 @重楼(三角洲行动) #三角洲行动 #三角洲s8蝶变时刻新赛季 #新春来三角洲接红 #三角洲新春接红攻略 #威龙"
|
||
- generic [ref=e393]:
|
||
- generic [ref=e394]: "@玖七(三角洲行动)"
|
||
- generic [ref=e395]: · 2月6日 |