Commit Graph

8 Commits

Author SHA1 Message Date
8257e4d34d feat(security): 沙箱只读真强制与权限模式边界收敛
- docker:只读/审批档 run_command、后台命令与持久终端改用非特权 uid(10001) 执行角色,内核 DAC 强制只读,取代文本特征识别;Dockerfile 加固(agent 用户 / git safe.directory / 去 setuid)
- macOS:只读与可写沙箱 profile 统一为白名单读模型(deny default + 系统目录/工作区/路径授权),修复 deny 顺序导致的工作区 .env 实际可读漏洞;可写 profile 白名单化后审批不再放大读取,越界读取唯一途径为路径授权
- 权限模式:受限档(readonly/approval/auto_approval)与 direct 执行环境硬互斥——进入受限档压回沙箱并记录,切回 unrestricted 恢复,存量受限+direct 对话加载自愈矫正
- 配置:路径授权来源收敛为 host_sandbox_policy.json + 环境变量两个通道(移除 settings.json 映射)
- 修复:新建对话权限模式被个性化默认值覆盖、/new 切只读后回落无限制的继承 bug
- 原生文件工具读边界与沙箱白名单同源对齐
2026-08-30 22:07:14 +08:00
4c3d8cedc7 feat(ui): 计划批准弹窗支持最小化关闭,状态栏可恢复处理
- PlanApprovalDialog windowbar 新增关闭(X)按钮,点击后弹窗收起不打扰
- InputComposer 底部状态栏新增「有待批准的计划」按钮(对齐等待回答问题交互),点击恢复弹窗
- floatingStatusVisible 可见性判断纳入计划批准最小化状态,修复弹窗收起后浮栏不渲染的问题
- 批准解决后自动复位最小化状态,避免按钮残留
2026-08-30 00:33:34 +08:00
69c5953fe7 fix(i18n): slash 子菜单选项改用 labelKey 渲染,修复显示空白
4aac18f7 将选项结构改为 labelKey/descriptionKey 后,slash 菜单的
工作模式/权限/执行环境/网络四个子菜单仍读取已不存在的 label/description
字段,导致菜单项标签与描述渲染为空。统一改为 t(labelKey)/t(descriptionKey)。
2026-08-29 12:43:14 +08:00
4aac18f7bb fix(i18n): 运行模式/权限/沙箱菜单选项改用 labelKey 动态渲染,切语言即时生效
state.ts 四个选项数组此前在模块顶层用 t() 固化翻译字符串,切换语言后不更新、需刷新页面。改为存 labelKey/descriptionKey,渲染处动态求值(模板 $t / computed t(matched.labelKey)),与 PersonalizationDrawer 既有规范模式对齐。tsc/build/i18n 审计均通过。
2026-08-29 10:09:08 +08:00
7c7201a574 feat(i18n): 前端多语言基建(vue-i18n 文案 token 体系 + 审计栏杆)与第一波迁移
- 基建:static/src/locales/ 11 个命名空间×中英双语,zh 为源语言;
  en-US 聚合器 DeepString 强校验 key 奇偶;installI18n/useLocale 复刻 theme.ts 模式
- 语言切换:个人空间→外观→界面语言(默认 zh-CN,localStorage 持久化)
- 防回退栏杆:scripts/i18n_audit.mjs(字符级注释剥离状态机)+ baseline 豁免清单,
  挂入 npm run lint 链首与独立 lint:text;规范见 doc/frontend/i18n_spec.md(本地)
- 第一波迁移 13 文件约 1400 条:PersonalizationDrawer/toolRenderers/chatDisplay/
  InputComposer/admin 全部 6 应用/tutorial/MonitorDirector/WorkflowEditorView
- common 公共词归并:刷新中/保存中/暂无数据/未运行 单一来源
- AGENTS.md 新增 §5.8 文案规范
2026-08-28 12:07:03 +08:00
4cf9c38137 feat(avatar): 状态头像新增「等待 API 响应」并修复异常中断状态卡住
- 后端每次发起 API 请求前(含每次重试)发 api_request_start 事件
- 前端新增 apiRequestPending 状态,轮询/socket 双链路维护,
  响应开始(thinking_start/text_start/tool_preparing)或任务终结时清除
- InputComposer 头像旁显示固定文案「等待 API 响应…」(work+apiWaiting 标记)
- chat store 新增 clearStreamingResidualState 统一清理流式残留字段,
  接入全部终结路径(handleTaskError/Stopped/Complete、运行状态对账、
  resetAllStates、socket error),修复断网/停止后形象卡「思考中」
- handleTaskError 补 clearPendingTools 与空占位消息清理
- avatarStatus isThinking 增加运行态防御,双保险防状态卡死
2026-08-26 15:11:18 +08:00
c6c8bf2d0c style(theme): 明亮/经典主题视觉层次修正
- light 主题:摘要行降为三级文字色与正文拉开层级(含 running 动画变体)
- light 主题:代码块头部浅灰、代码区与对话底同色;表格白体+浅灰表头+可见边框
- light 主题:输入栏壳体改浅灰浮起,发送按钮柔化为 78% 黑、hover 加深
- classic 主题:git 状态栏及子菜单背景与输入栏壳体对齐为纯白
- 顺带修正:思考模式 slash 菜单描述去掉已下线的 deep
2026-08-23 17:13:16 +08:00
10654c407d release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00