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.
230 lines
12 KiB
YAML
230 lines
12 KiB
YAML
- generic [active] [ref=e1]:
|
||
- button "开启读屏标签" [ref=e2]
|
||
- generic: 读屏标签已关闭
|
||
- generic [ref=e105]:
|
||
- banner [ref=e108]:
|
||
- generic [ref=e110]:
|
||
- generic [ref=e114]:
|
||
- textbox "搜索你感兴趣的内容" [ref=e116]: 林柒
|
||
- button "搜索" [ref=e118] [cursor=pointer]:
|
||
- img [ref=e119]
|
||
- generic [ref=e121]: 搜索
|
||
- generic [ref=e731]:
|
||
- generic [ref=e736] [cursor=pointer]:
|
||
- img [ref=e738]:
|
||
- img [ref=e739]
|
||
- paragraph [ref=e741]: 充钻石
|
||
- link "客户端" [ref=e746] [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=e747]:
|
||
- generic [ref=e748]:
|
||
- img [ref=e750]:
|
||
- img [ref=e751]
|
||
- paragraph [ref=e754]: 客户端
|
||
- img [ref=e756]
|
||
- generic [ref=e762] [cursor=pointer]:
|
||
- img [ref=e764]:
|
||
- img [ref=e765]
|
||
- generic [ref=e767]: 壁纸
|
||
- list [ref=e768]:
|
||
- listitem [ref=e770]:
|
||
- generic [ref=e773] [cursor=pointer]:
|
||
- img [ref=e775]:
|
||
- img [ref=e776]
|
||
- paragraph [ref=e779]: 通知
|
||
- list [ref=e780]:
|
||
- listitem [ref=e782]:
|
||
- generic [ref=e785] [cursor=pointer]:
|
||
- img [ref=e787]:
|
||
- img [ref=e788]
|
||
- paragraph [ref=e792]: 私信
|
||
- generic [ref=e796] [cursor=pointer]:
|
||
- img [ref=e798]:
|
||
- img [ref=e799]
|
||
- paragraph [ref=e801]: 投稿
|
||
- link [ref=e804] [cursor=pointer]:
|
||
- /url: //www.douyin.com/user/self
|
||
- listitem [ref=e805]
|
||
- img [ref=e2378] [cursor=pointer]
|
||
- generic [ref=e2383]:
|
||
- generic [ref=e2384]:
|
||
- generic [ref=e2387]:
|
||
- generic [ref=e2388] [cursor=pointer]: 综合
|
||
- generic [ref=e2389] [cursor=pointer]: 视频
|
||
- generic [ref=e2390] [cursor=pointer]: 用户
|
||
- generic [ref=e2391] [cursor=pointer]: 直播
|
||
- generic [ref=e2392] [cursor=pointer]:
|
||
- img [ref=e2393]
|
||
- generic [ref=e2399]: 多列
|
||
- generic [ref=e2400] [cursor=pointer]:
|
||
- img [ref=e2401]
|
||
- generic [ref=e2404]: 单列
|
||
- generic [ref=e2406] [cursor=pointer]:
|
||
- text: 筛选
|
||
- img [ref=e2407]
|
||
- generic [ref=e2411]:
|
||
- generic [ref=e2412] [cursor=pointer]: 全部
|
||
- generic [ref=e2413] [cursor=pointer]: 小说
|
||
- generic [ref=e2414] [cursor=pointer]: 王者荣耀
|
||
- generic [ref=e2415] [cursor=pointer]: 柒和平精英
|
||
- generic [ref=e2416] [cursor=pointer]: 航拍
|
||
- generic [ref=e2417] [cursor=pointer]: 是谁
|
||
- generic [ref=e2418] [cursor=pointer]: 猫粮
|
||
- generic [ref=e2419] [cursor=pointer]: 小号
|
||
- generic [ref=e2420] [cursor=pointer]: 暗区突围
|
||
- generic [ref=e2421] [cursor=pointer]: 和平精英
|
||
- generic [ref=e2422] [cursor=pointer]: 全价无谷猫粮
|
||
- generic [ref=e2423]:
|
||
- text: 为你找到以下结果,问问AI智能总结内容
|
||
- generic [ref=e2424] [cursor=pointer]:
|
||
- img [ref=e2425]
|
||
- generic [ref=e2428]: 问问AI
|
||
- generic [ref=e2432]:
|
||
- generic [ref=e2438]:
|
||
- link [ref=e2439] [cursor=pointer]:
|
||
- /url: //www.douyin.com/user/MS4wLjABAAAACsSuD4pjEZVbE65z2yxt7TjyltmtzA2g0IDoDqnPhxE?enter_from=general_search&enter_method=general_search&extra_params=%7B%22search_params%22%3A%7B%22search_result_id%22%3A%2253617704290%22%2C%22relation_tag%22%3A2%2C%22log_pb%22%3A%7B%22impr_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%7D%2C%22search_type%22%3A%22general%22%2C%22impr_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%2C%22search_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%2C%22search_keyword%22%3A%22%E6%9E%97%E6%9F%92%22%2C%22token_type%22%3A%22discover_list%22%7D%7D&from_tab_name=main
|
||
- listitem [ref=e2440]
|
||
- generic [ref=e2441]:
|
||
- link "林柒." [ref=e2443] [cursor=pointer]:
|
||
- /url: //www.douyin.com/user/MS4wLjABAAAACsSuD4pjEZVbE65z2yxt7TjyltmtzA2g0IDoDqnPhxE?enter_from=general_search&enter_method=general_search&extra_params=%7B%22search_params%22%3A%7B%22search_result_id%22%3A%2253617704290%22%2C%22relation_tag%22%3A2%2C%22log_pb%22%3A%7B%22impr_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%7D%2C%22search_type%22%3A%22general%22%2C%22impr_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%2C%22search_id%22%3A%2220260427203054DCE78BA903B94497DA29%22%2C%22search_keyword%22%3A%22%E6%9E%97%E6%9F%92%22%2C%22token_type%22%3A%22discover_list%22%7D%7D&from_tab_name=main
|
||
- paragraph [ref=e2444]:
|
||
- generic [ref=e2449]: 林柒.
|
||
- paragraph [ref=e2450]:
|
||
- generic [ref=e2451]: "抖音号: linqi07."
|
||
- generic [ref=e2452]:
|
||
- generic [ref=e2453]: 36获赞
|
||
- generic [ref=e2455]: 66粉丝
|
||
- button "相互关注" [ref=e2456] [cursor=pointer]
|
||
- generic [ref=e2460] [cursor=pointer]:
|
||
- generic [ref=e2462]:
|
||
- img [ref=e2466]
|
||
- generic [ref=e2468]:
|
||
- generic [ref=e2469]: 02:02:26
|
||
- generic [ref=e2470]:
|
||
- img [ref=e2471]
|
||
- generic [ref=e2473]: 3.8万
|
||
- generic [ref=e2475]:
|
||
- generic [ref=e2476]: "简单说两句斩神第一季剧情内容+细节彩蛋。 #国漫推荐 #国漫补完计划 #动漫编年史 #斩神 #林七夜"
|
||
- generic [ref=e2477]:
|
||
- generic [ref=e2478]: "@动漫逐帧怪"
|
||
- generic [ref=e2479]: · 2025年11月24日
|
||
- generic [ref=e2483] [cursor=pointer]:
|
||
- generic [ref=e2485]:
|
||
- img [ref=e2489]
|
||
- generic [ref=e2491]:
|
||
- generic [ref=e2492]: 04:11
|
||
- generic [ref=e2493]:
|
||
- img [ref=e2494]
|
||
- generic [ref=e2496]: "5307"
|
||
- generic [ref=e2498]:
|
||
- generic [ref=e2499]: "男孩只是看了一眼“月亮”竟觉醒了传说中的“神墟”#斩神 #青年创作者成长计划 #国漫 #动漫解说"
|
||
- generic [ref=e2500]:
|
||
- generic [ref=e2501]: "@龙猫漫剪"
|
||
- generic [ref=e2502]: · 2025年12月9日
|
||
- generic [ref=e2506] [cursor=pointer]:
|
||
- generic [ref=e2508]:
|
||
- img [ref=e2512]
|
||
- generic [ref=e2514]:
|
||
- generic [ref=e2515]: 52:16
|
||
- generic [ref=e2516]:
|
||
- img [ref=e2517]
|
||
- generic [ref=e2519]: 15.1万
|
||
- generic [ref=e2521]:
|
||
- generic [ref=e2522]: "一口气看完热血国漫《斩神》第一季!#斩神 #青年创作者计划 #一口气看完系列 #国漫"
|
||
- generic [ref=e2523]:
|
||
- generic [ref=e2524]: "@龙猫漫剪"
|
||
- generic [ref=e2525]: · 2025年12月24日
|
||
- generic [ref=e2529] [cursor=pointer]:
|
||
- generic [ref=e2531]:
|
||
- img [ref=e2535]
|
||
- generic [ref=e2537]:
|
||
- generic [ref=e2538]: 01:21
|
||
- generic [ref=e2539]:
|
||
- img [ref=e2540]
|
||
- generic [ref=e2542]: 39.2万
|
||
- generic [ref=e2544]:
|
||
- generic [ref=e2545]: "“杀我别用赵空城刀”#斩神动画 #斩神 #斩神林七夜太燃了 #斩神之凡尘神域"
|
||
- generic [ref=e2546]:
|
||
- generic [ref=e2547]: "@维C"
|
||
- generic [ref=e2548]: · 2024年8月7日
|
||
- generic [ref=e2552] [cursor=pointer]:
|
||
- generic [ref=e2554]:
|
||
- img [ref=e2558]
|
||
- generic [ref=e2560]:
|
||
- generic [ref=e2562]:
|
||
- img [ref=e2563]
|
||
- generic [ref=e2566]: 图文
|
||
- generic [ref=e2567]:
|
||
- img [ref=e2568]
|
||
- generic [ref=e2570]: "25"
|
||
- generic [ref=e2572]:
|
||
- generic [ref=e2573]: "2026年4月1日,我重新申请了一个新号,一个无人知晓的账号。屏蔽了所有熟人,关闭了所有推荐,只想在这里随心所欲畅所欲言,发自己想发的东西,不用再顾虑他人的眼光。这是一个只属于我自己的真实角落。#新号 #新号养成计划 #流量"
|
||
- generic [ref=e2574]:
|
||
- generic [ref=e2575]: "@林柒"
|
||
- generic [ref=e2576]: · 4月1日
|
||
- generic [ref=e2580] [cursor=pointer]:
|
||
- generic [ref=e2582]:
|
||
- img [ref=e2586]
|
||
- generic [ref=e2588]:
|
||
- generic [ref=e2589]: 00:18
|
||
- generic [ref=e2590]:
|
||
- img [ref=e2591]
|
||
- generic [ref=e2593]: "1146"
|
||
- generic [ref=e2595]:
|
||
- generic [ref=e2596]: "“救命!救命!这首歌也太好听了吧!太喜欢这首歌的调调了~”#音乐推荐 #凌林柒 #歌曲怪我普通的脸"
|
||
- generic [ref=e2597]:
|
||
- generic [ref=e2598]: "@Seven.7"
|
||
- generic [ref=e2599]: · 2025年12月4日
|
||
- generic [ref=e2602]:
|
||
- paragraph [ref=e2603]: 相关搜索
|
||
- generic [ref=e2604]:
|
||
- generic [ref=e2605] [cursor=pointer]:
|
||
- img [ref=e2606]
|
||
- paragraph [ref=e2609]: 林柒抖音
|
||
- generic [ref=e2610] [cursor=pointer]:
|
||
- img [ref=e2611]
|
||
- paragraph [ref=e2614]: 林柒直播回放
|
||
- generic [ref=e2615] [cursor=pointer]:
|
||
- img [ref=e2616]
|
||
- paragraph [ref=e2619]: 林柒鲜铺烧烤
|
||
- generic [ref=e2620] [cursor=pointer]:
|
||
- img [ref=e2621]
|
||
- paragraph [ref=e2624]: 林柒王者荣耀
|
||
- generic [ref=e2625] [cursor=pointer]:
|
||
- img [ref=e2626]
|
||
- paragraph [ref=e2629]: 林柒个人资料
|
||
- generic [ref=e2630] [cursor=pointer]:
|
||
- img [ref=e2631]
|
||
- paragraph [ref=e2634]: 林柒最新作品
|
||
- generic [ref=e2635] [cursor=pointer]:
|
||
- img [ref=e2636]
|
||
- paragraph [ref=e2639]: 林柒公子无双
|
||
- generic [ref=e2640] [cursor=pointer]:
|
||
- img [ref=e2641]
|
||
- paragraph [ref=e2644]: 林柒三角洲行动
|
||
- generic [ref=e2648] [cursor=pointer]:
|
||
- generic [ref=e2650]:
|
||
- img [ref=e2654]
|
||
- generic [ref=e2656]:
|
||
- generic [ref=e2657]: 00:12
|
||
- generic [ref=e2658]:
|
||
- img [ref=e2659]
|
||
- generic [ref=e2661]: 11.1万
|
||
- generic [ref=e2663]:
|
||
- generic [ref=e2664]: "#斩神动画 准备好接受来自双神的压迫感了吗?#林七夜 #王面"
|
||
- generic [ref=e2665]:
|
||
- generic [ref=e2666]: "@我在精神病院学斩神"
|
||
- generic [ref=e2667]: · 2024年9月11日
|
||
- generic [ref=e2671] [cursor=pointer]:
|
||
- generic [ref=e2673]:
|
||
- img [ref=e2677]
|
||
- generic [ref=e2679]:
|
||
- generic [ref=e2680]: 01:44
|
||
- generic [ref=e2681]:
|
||
- img [ref=e2682]
|
||
- generic [ref=e2684]: "160"
|
||
- generic [ref=e2686]:
|
||
- generic [ref=e2687]: "一家吃起来没压力的火锅店~林一柒#爱就是一起吃好多好多顿饭 #称重火锅#火锅约起来 #火锅 #安庆"
|
||
- generic [ref=e2688]:
|
||
- generic [ref=e2689]: "@马小丁"
|
||
- generic [ref=e2690]: · 2025年1月12日 |