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.
363 lines
17 KiB
YAML
363 lines
17 KiB
YAML
- generic [active] [ref=e1]:
|
||
- button "开启读屏标签" [ref=e2]
|
||
- generic: 读屏标签已关闭
|
||
- generic [ref=e104]:
|
||
- banner [ref=e107]:
|
||
- generic [ref=e109]:
|
||
- generic [ref=e113]:
|
||
- textbox "搜索你感兴趣的内容" [ref=e115]: 美食教程
|
||
- button "搜索" [ref=e117] [cursor=pointer]:
|
||
- img [ref=e118]
|
||
- generic [ref=e120]: 搜索
|
||
- generic [ref=e124]:
|
||
- generic [ref=e129] [cursor=pointer]:
|
||
- img [ref=e131]:
|
||
- img [ref=e132]
|
||
- paragraph [ref=e134]: 充钻石
|
||
- generic [ref=e136]:
|
||
- link "客户端" [ref=e139] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/download/pc/obj/douyin-pc-web/douyin-pc-client/7044145585217083655/releases/344418764/7.7.0/darwin-universal/douyin-v7.7.0-darwin-universal.dmg
|
||
- generic [ref=e140]:
|
||
- generic [ref=e141]:
|
||
- img [ref=e143]:
|
||
- img [ref=e144]
|
||
- paragraph [ref=e147]: 客户端
|
||
- img [ref=e149]
|
||
- generic [ref=e155]:
|
||
- img [ref=e156]:
|
||
- img [ref=e157]
|
||
- generic [ref=e160]:
|
||
- img [ref=e161] [cursor=pointer]
|
||
- img [ref=e165]
|
||
- link "下载电脑客户端" [ref=e167] [cursor=pointer]:
|
||
- /url: https://www.douyin.com/download/pc/obj/douyin-pc-web/douyin-pc-client/7044145585217083655/releases/344418764/7.7.0/darwin-universal/douyin-v7.7.0-darwin-universal.dmg
|
||
- img [ref=e168]
|
||
- text: 下载电脑客户端
|
||
- generic [ref=e173] [cursor=pointer]:
|
||
- img [ref=e175]:
|
||
- img [ref=e176]
|
||
- generic [ref=e178]: 壁纸
|
||
- list [ref=e179]:
|
||
- listitem [ref=e181]:
|
||
- generic [ref=e184] [cursor=pointer]:
|
||
- img [ref=e186]:
|
||
- img [ref=e187]
|
||
- paragraph [ref=e190]: 通知
|
||
- list [ref=e191]:
|
||
- listitem [ref=e193]:
|
||
- generic [ref=e196] [cursor=pointer]:
|
||
- img [ref=e198]:
|
||
- img [ref=e199]
|
||
- paragraph [ref=e203]: 私信
|
||
- generic [ref=e207] [cursor=pointer]:
|
||
- img [ref=e209]:
|
||
- img [ref=e210]
|
||
- paragraph [ref=e212]: 投稿
|
||
- link [ref=e215] [cursor=pointer]:
|
||
- /url: //www.douyin.com/user/self
|
||
- listitem [ref=e216]
|
||
- img [ref=e2199] [cursor=pointer]
|
||
- generic [ref=e2204]:
|
||
- generic [ref=e2205]:
|
||
- generic [ref=e2208]:
|
||
- generic [ref=e2209] [cursor=pointer]: 综合
|
||
- generic [ref=e2210] [cursor=pointer]: 视频
|
||
- generic [ref=e2211] [cursor=pointer]: 用户
|
||
- generic [ref=e2212] [cursor=pointer]: 直播
|
||
- generic [ref=e2213] [cursor=pointer]:
|
||
- img [ref=e2214]
|
||
- generic [ref=e2220]: 多列
|
||
- generic [ref=e2221] [cursor=pointer]:
|
||
- img [ref=e2222]
|
||
- generic [ref=e2225]: 单列
|
||
- generic [ref=e2227] [cursor=pointer]:
|
||
- text: 筛选
|
||
- img [ref=e2228]
|
||
- generic [ref=e2230]:
|
||
- text: 为你找到以下结果,问问AI智能总结内容
|
||
- generic [ref=e2231] [cursor=pointer]:
|
||
- img [ref=e2232]
|
||
- generic [ref=e2235]: 问问AI
|
||
- generic [ref=e2239]:
|
||
- generic [ref=e2243] [cursor=pointer]:
|
||
- generic [ref=e2245]:
|
||
- img [ref=e2249]
|
||
- generic [ref=e2251]:
|
||
- generic [ref=e2252]: 01:04
|
||
- generic [ref=e2253]:
|
||
- img [ref=e2254]
|
||
- generic [ref=e2256]: 82.4万
|
||
- generic [ref=e2258]:
|
||
- generic [ref=e2259]: "现在买菜,回家10分钟就能吃上。懒人一锅端「肥牛虾滑粉丝煲」#美食 #宵夜 #懒人快手菜"
|
||
- generic [ref=e2260]:
|
||
- generic [ref=e2261]: "@日食记"
|
||
- generic [ref=e2262]: · 1月20日
|
||
- generic [ref=e2266] [cursor=pointer]:
|
||
- generic [ref=e2268]:
|
||
- img [ref=e2272]
|
||
- generic [ref=e2274]:
|
||
- generic [ref=e2275]: 00:20
|
||
- generic [ref=e2276]:
|
||
- img [ref=e2277]
|
||
- generic [ref=e2279]: 179.8万
|
||
- generic [ref=e2281]:
|
||
- generic [ref=e2282]: "滑滑嫩嫩巨下饭 #家常菜 #美食 #下饭菜 #滑蛋鸡腿饭 #滑蛋饭"
|
||
- generic [ref=e2283]:
|
||
- generic [ref=e2284]: "@小陈同学~"
|
||
- generic [ref=e2285]: · 2025年12月15日
|
||
- generic [ref=e2289] [cursor=pointer]:
|
||
- generic [ref=e2291]:
|
||
- img [ref=e2295]
|
||
- generic [ref=e2297]:
|
||
- generic [ref=e2298]: 00:32
|
||
- generic [ref=e2299]:
|
||
- img [ref=e2300]
|
||
- generic [ref=e2302]: 9.6万
|
||
- generic [ref=e2304]:
|
||
- generic [ref=e2305]: "一口爆浆❗️芝士培根虾滑卷🔥外焦里嫩香晕了 #美食自己做 烤得焦香焦香的培根卷着Q弹鲜美的虾滑,一口下去还有浓郁的芝士爆浆,吃一口就被惊艳的味道😋口感太绝了,好吃到停不下来~ #虾滑 #芝士培根虾滑卷 #芝士就是力量 #空气炸锅美食"
|
||
- generic [ref=e2306]:
|
||
- generic [ref=e2307]: "@美滋美味chill"
|
||
- generic [ref=e2308]: · 2025年8月4日
|
||
- generic [ref=e2312] [cursor=pointer]:
|
||
- generic [ref=e2314]:
|
||
- img [ref=e2318]
|
||
- generic [ref=e2320]:
|
||
- generic [ref=e2321]: 00:37
|
||
- generic [ref=e2322]:
|
||
- img [ref=e2323]
|
||
- generic [ref=e2325]: 177.4万
|
||
- generic [ref=e2327]:
|
||
- generic [ref=e2328]: "神仙吃法🔥土豆虾滑卷‼️焦香的土豆裹着Q弹的虾滑~香香辣辣!好吃哭!! #美食教程 #虾滑的做法 #烤箱美食 #土豆虾滑卷"
|
||
- generic [ref=e2329]:
|
||
- generic [ref=e2330]: "@土豆超爱吃"
|
||
- generic [ref=e2331]: · 2025年3月24日
|
||
- generic [ref=e2335] [cursor=pointer]:
|
||
- generic [ref=e2337]:
|
||
- img [ref=e2341]
|
||
- generic [ref=e2343]:
|
||
- generic [ref=e2344]: 00:50
|
||
- generic [ref=e2345]:
|
||
- img [ref=e2346]
|
||
- generic [ref=e2348]: 5.6万
|
||
- generic [ref=e2350]:
|
||
- generic [ref=e2351]: "下饭一绝的台式三杯鸡!#美食教程 #三杯鸡 #下饭菜"
|
||
- generic [ref=e2352]:
|
||
- generic [ref=e2353]: "@干辣椒段儿"
|
||
- generic [ref=e2354]: · 4月4日
|
||
- generic [ref=e2358] [cursor=pointer]:
|
||
- generic [ref=e2360]:
|
||
- img [ref=e2364]
|
||
- generic [ref=e2366]:
|
||
- generic [ref=e2367]: 00:38
|
||
- generic [ref=e2368]:
|
||
- img [ref=e2369]
|
||
- generic [ref=e2371]: 44.2万
|
||
- generic [ref=e2373]:
|
||
- generic [ref=e2374]: "蜂蜜柠檬脆皮虾!香甜酥脆巨好吃!#晒出你们觉得很香的美食 #美食教程 #炸虾 #蜂蜜柠檬脆皮虾"
|
||
- generic [ref=e2375]:
|
||
- generic [ref=e2376]: "@吃货组大圆"
|
||
- generic [ref=e2377]: · 3月4日
|
||
- generic [ref=e2381] [cursor=pointer]:
|
||
- generic [ref=e2383]:
|
||
- img [ref=e2387]
|
||
- generic [ref=e2389]:
|
||
- generic [ref=e2390]: 00:44
|
||
- generic [ref=e2391]:
|
||
- img [ref=e2392]
|
||
- generic [ref=e2394]: 22.0万
|
||
- generic [ref=e2396]:
|
||
- generic [ref=e2397]: "一周吃八次都不腻的嫩鸡肉滑蛋盖饭 #盖饭#滑蛋饭 #滑蛋鸡肉饭"
|
||
- generic [ref=e2398]:
|
||
- generic [ref=e2399]: "@桃子的早餐"
|
||
- generic [ref=e2400]: · 2025年11月5日
|
||
- generic [ref=e2403]:
|
||
- paragraph [ref=e2404]: 相关搜索
|
||
- generic [ref=e2405]:
|
||
- generic [ref=e2406] [cursor=pointer]:
|
||
- img [ref=e2407]
|
||
- paragraph [ref=e2410]: 美食教程博主
|
||
- generic [ref=e2411] [cursor=pointer]:
|
||
- img [ref=e2412]
|
||
- paragraph [ref=e2415]: 美食教程家常菜
|
||
- generic [ref=e2416] [cursor=pointer]:
|
||
- img [ref=e2417]
|
||
- paragraph [ref=e2420]: 美食
|
||
- generic [ref=e2421] [cursor=pointer]:
|
||
- img [ref=e2422]
|
||
- paragraph [ref=e2425]: 做饭教程
|
||
- generic [ref=e2426] [cursor=pointer]:
|
||
- img [ref=e2427]
|
||
- paragraph [ref=e2430]: 可乐鸡翅
|
||
- generic [ref=e2431] [cursor=pointer]:
|
||
- img [ref=e2432]
|
||
- paragraph [ref=e2435]: 美食教程简单易学
|
||
- generic [ref=e2436] [cursor=pointer]:
|
||
- img [ref=e2437]
|
||
- paragraph [ref=e2440]: 家常菜
|
||
- generic [ref=e2444] [cursor=pointer]:
|
||
- generic [ref=e2446]:
|
||
- img [ref=e2450]
|
||
- generic [ref=e2452]:
|
||
- generic [ref=e2453]: 00:43
|
||
- generic [ref=e2454]:
|
||
- img [ref=e2455]
|
||
- generic [ref=e2457]: 33.0万
|
||
- generic [ref=e2459]:
|
||
- generic [ref=e2460]: "老吃家狂喜!「爆汁响铃卷」 #一人食 #爆汁响铃卷 #厨房新手的一人食 #省饭课代表 #好好吃饭大赛"
|
||
- generic [ref=e2461]:
|
||
- generic [ref=e2462]: "@°两粒盐。"
|
||
- generic [ref=e2463]: · 2025年11月27日
|
||
- generic [ref=e2467] [cursor=pointer]:
|
||
- generic [ref=e2469]:
|
||
- img [ref=e2473]
|
||
- generic [ref=e2475]:
|
||
- generic [ref=e2476]: 01:00
|
||
- generic [ref=e2477]:
|
||
- img [ref=e2478]
|
||
- generic [ref=e2480]: 406.4万
|
||
- generic [ref=e2482]:
|
||
- generic [ref=e2483]: "剪刀剪一剪,青椒变酿虾。#你的秋日美食正在派送中#好好吃饭大赛 #家常菜 #懒人快手菜"
|
||
- generic [ref=e2484]:
|
||
- generic [ref=e2485]: "@日食记"
|
||
- generic [ref=e2486]: · 2025年10月27日
|
||
- generic [ref=e2492] [cursor=pointer]:
|
||
- generic [ref=e2494]:
|
||
- img [ref=e2498]
|
||
- generic [ref=e2500]:
|
||
- generic [ref=e2501]: 00:17
|
||
- generic [ref=e2502]:
|
||
- img [ref=e2503]
|
||
- generic [ref=e2505]: 3.0万
|
||
- generic [ref=e2507]:
|
||
- generic [ref=e2508]: "香香辣辣的,真的巨下饭! #美食 #香辣肉丝 #家常菜 #下饭菜 #抖音美食推荐官"
|
||
- generic [ref=e2509]:
|
||
- generic [ref=e2510]: "@小陈同学~"
|
||
- generic [ref=e2511]: · 2025年12月30日
|
||
- generic [ref=e2515] [cursor=pointer]:
|
||
- generic [ref=e2517]:
|
||
- img [ref=e2521]
|
||
- generic [ref=e2523]:
|
||
- generic [ref=e2524]: 00:56
|
||
- generic [ref=e2525]:
|
||
- img [ref=e2526]
|
||
- generic [ref=e2528]: 53.8万
|
||
- generic [ref=e2530]:
|
||
- generic [ref=e2531]: "看惯了网上高贵的生活 来看看普通人的晚餐 天冷了 做一锅热腾腾的肉末豆腐煲有多幸福!#肉末豆腐煲 #青年创作者成长计划 #满级吃商指南 #男人会做饭竞争对手少一半 #好好吃饭"
|
||
- generic [ref=e2532]:
|
||
- generic [ref=e2533]: "@99的晚餐Vlog"
|
||
- generic [ref=e2534]: · 1月25日
|
||
- generic [ref=e2538] [cursor=pointer]:
|
||
- generic [ref=e2540]:
|
||
- img [ref=e2544]
|
||
- generic [ref=e2546]:
|
||
- generic [ref=e2547]: 00:21
|
||
- generic [ref=e2548]:
|
||
- img [ref=e2549]
|
||
- generic [ref=e2551]: "2064"
|
||
- generic [ref=e2553]:
|
||
- generic [ref=e2554]: "女人会做饭生活更浪漫,一道简单的家常菜,能不能勾起你的食欲呢#家常菜#美食 #下饭菜 #干锅花菜 #抖音生活观察计划"
|
||
- generic [ref=e2555]:
|
||
- generic [ref=e2556]: "@鱼妈爱做菜"
|
||
- generic [ref=e2557]: · 2025年12月27日
|
||
- generic [ref=e2561] [cursor=pointer]:
|
||
- generic [ref=e2563]:
|
||
- img [ref=e2567]
|
||
- generic [ref=e2569]:
|
||
- generic [ref=e2570]: 01:37
|
||
- generic [ref=e2571]:
|
||
- img [ref=e2572]
|
||
- generic [ref=e2574]: 8.4万
|
||
- generic [ref=e2576]:
|
||
- generic [ref=e2577]: "终于复刻了超火🔥的脆烤土豆🥔沙拉‼️味道真的太绝了‼️ #脆烤土豆沙拉 #土豆沙拉 #土豆沙拉做法 #节后甩肉大作战 #早午餐"
|
||
- generic [ref=e2578]:
|
||
- generic [ref=e2579]: "@JC的料理日记"
|
||
- generic [ref=e2580]: · 3月12日
|
||
- generic [ref=e2584] [cursor=pointer]:
|
||
- generic [ref=e2586]:
|
||
- img [ref=e2590]
|
||
- generic [ref=e2592]:
|
||
- generic [ref=e2593]: 02:12
|
||
- generic [ref=e2594]:
|
||
- img [ref=e2595]
|
||
- generic [ref=e2597]: 16.8万
|
||
- generic [ref=e2599]:
|
||
- generic [ref=e2600]: 这是我家孩子最爱吃的一道家常菜,每个星期都要做好几回,鲜香嫩滑,酸甜开胃,拌上米饭每次都能吃好几碗#番茄滑肉
|
||
- generic [ref=e2601]:
|
||
- generic [ref=e2602]: "@小陈爱美食"
|
||
- generic [ref=e2603]: · 2024年10月9日
|
||
- generic [ref=e2607] [cursor=pointer]:
|
||
- generic [ref=e2609]:
|
||
- img [ref=e2613]
|
||
- generic [ref=e2615]:
|
||
- generic [ref=e2616]: 00:41
|
||
- generic [ref=e2617]:
|
||
- img [ref=e2618]
|
||
- generic [ref=e2620]: 8.9万
|
||
- generic [ref=e2622]:
|
||
- generic [ref=e2623]: "0失败‼️可乐鸡翅年糕🔥浓郁脱骨👉巨开胃下饭 #创作者中心 #创作灵感 1分钟学会这道👉鲜香浓郁的鸡翅,简单又美味!老人小孩都爱吃~ 无法拒绝的焦香甜糯~ #可乐鸡翅 #做菜我是认真的 #我的美食日记"
|
||
- generic [ref=e2624]:
|
||
- generic [ref=e2625]: "@美滋美味chill"
|
||
- generic [ref=e2626]: · 2025年9月22日
|
||
- generic [ref=e2630] [cursor=pointer]:
|
||
- generic [ref=e2632]:
|
||
- img [ref=e2636]
|
||
- generic [ref=e2638]:
|
||
- generic [ref=e2639]: 01:24
|
||
- generic [ref=e2640]:
|
||
- img [ref=e2641]
|
||
- generic [ref=e2643]: 40.1万
|
||
- generic [ref=e2645]:
|
||
- generic [ref=e2646]: "为什么它叫公瑾爆蛋?但吃起来绝对好吃!绝对是鸡蛋下饭的天花板 #公瑾爆蛋#糖醋荷包蛋#复刻“公瑾爆蛋”#留学生#家常菜"
|
||
- generic [ref=e2647]:
|
||
- generic [ref=e2648]: "@夏叔厨房"
|
||
- generic [ref=e2649]: · 3月17日
|
||
- generic [ref=e2653] [cursor=pointer]:
|
||
- generic [ref=e2655]:
|
||
- img [ref=e2659]
|
||
- generic [ref=e2661]:
|
||
- generic [ref=e2662]: 00:34
|
||
- generic [ref=e2663]:
|
||
- img [ref=e2664]
|
||
- generic [ref=e2666]: 5.7万
|
||
- generic [ref=e2668]:
|
||
- generic [ref=e2669]: "软嫩多汁,比肉还香#抖音美食推荐官 #抖音美食创作者 #美食教程 #家常菜 #香煎豆腐"
|
||
- generic [ref=e2670]:
|
||
- generic [ref=e2671]: "@小西吃饭啦"
|
||
- generic [ref=e2672]: · 3月7日
|
||
- generic [ref=e2676] [cursor=pointer]:
|
||
- generic [ref=e2678]:
|
||
- img [ref=e2682]
|
||
- generic [ref=e2684]:
|
||
- generic [ref=e2685]: 00:16
|
||
- generic [ref=e2686]:
|
||
- img [ref=e2687]
|
||
- generic [ref=e2689]: 37.2万
|
||
- generic [ref=e2691]:
|
||
- generic [ref=e2692]: "五分钟就能搞定的下饭菜,简直太香了! #葱烧肥牛 #下饭菜 #家常菜 #抖音美食推荐官 #抖音美食创作人"
|
||
- generic [ref=e2693]:
|
||
- generic [ref=e2694]: "@小陈同学~"
|
||
- generic [ref=e2695]: · 3月25日
|
||
- generic [ref=e2698]:
|
||
- paragraph [ref=e2699]: 相关搜索
|
||
- generic [ref=e2700]:
|
||
- generic [ref=e2701] [cursor=pointer]:
|
||
- img [ref=e2702]
|
||
- paragraph [ref=e2705]: 美食教程博主
|
||
- generic [ref=e2706] [cursor=pointer]:
|
||
- img [ref=e2707]
|
||
- paragraph [ref=e2710]: 美食教程家常菜
|
||
- generic [ref=e2711] [cursor=pointer]:
|
||
- img [ref=e2712]
|
||
- paragraph [ref=e2715]: 美食
|
||
- generic [ref=e2716] [cursor=pointer]:
|
||
- img [ref=e2717]
|
||
- paragraph [ref=e2720]: 做饭教程
|
||
- generic [ref=e2721] [cursor=pointer]:
|
||
- img [ref=e2722]
|
||
- paragraph [ref=e2725]: 可乐鸡翅
|
||
- generic [ref=e2726] [cursor=pointer]:
|
||
- img [ref=e2727]
|
||
- paragraph [ref=e2730]: 美食教程简单易学
|
||
- generic [ref=e2731] [cursor=pointer]:
|
||
- img [ref=e2732]
|
||
- paragraph [ref=e2735]: 家常菜 |