|
|
89bcca744d
|
feat(sub_agent): skill 与提示词允许按任务边界修改核心代码
原「严格禁止子智能体修改代码」改为视情况而定:大规模、重复性高、边界与任务明确的修改可由子智能体承担,需明确工作范围防冲突,最终由主智能体验证。同步更新运行态 skill 副本。
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 23:12:15 +08:00 |
|
|
|
af01030424
|
feat(quickdock): 子智能体时间线支持压缩提示与状态图标右置
上下文压缩发生时在时间线对应位置显示提示条(layers 图标 + 轮次);工具栏去掉右侧完成/进行中文字,状态图标(转圈/对勾/叉)移至行尾。
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 23:12:05 +08:00 |
|
|
|
10a2763f00
|
feat(sub_agent): 交付目录改为可选,未指定时自动创建
deliverables_dir 移出必填:留空时自动在 .astrion/sub_agent_results/ 下创建(撞名自动加后缀),最终路径作为工具结果返回;显式传入已存在目录仍报错。
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 23:11:54 +08:00 |
|
|
|
04770e0af9
|
fix(sub_agent): finish_task 补终态进度事件,修复活动窗口永久转圈
finish_task 在模型流式阶段会 emit「calling」进度事件,但执行分支直接收尾不补终态,导致前端活动窗口该条目永远停留在调用中。现在补 emit status=completed。
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 23:11:45 +08:00 |
|
|
|
f5bfab4056
|
feat(settings): 个人空间重构为紧凑窄版布局,完善移动端适配
- 卡片窄化至 648px、圆角 14px、侧栏 184px,控件行高紧凑化
- 4429 行主文件拆分为 13 个 tab 子组件 + 共享样式表
- 移动端(≤760px)改为 iOS 设置式「列表→子页」导航
- 修复内容区缺 flex:1 导致设置行无法占满
- 修复交流语气行 label 被 grid auto 列挤压成竖排
- 修复移动端弹窗顶栏被主界面顶栏(z-index 1500)遮挡
- 窄屏禁用选项 hover/active 视觉态与 tab 切换过渡动画
- 修复上下文图标 28 viewBox/1.7 描边导致的视觉偏小偏细
|
2026-08-29 21:58:53 +08:00 |
|
|
|
1ca5e15f8e
|
fix(ui): 末条消息复制/分支按钮加桥接热区,修复鼠标滑向按钮时 hover 断链收回
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 15:28:07 +08:00 |
|
|
|
bc8337ab09
|
feat(ui): 编辑摘要弹窗位置钉死、外部滚动与窗口缩放即关、hover 延迟 600ms 且打开后瞬间切换
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 15:26:39 +08:00 |
|
|
|
2a870c5a35
|
fix(multi-agent): 多智能体对话创建继承 work_mode,/new 切换后新建对话不再回落默认
Co-authored-by: Astrion powered by DeepSeek-V4-Flash <astrion-agent@users.noreply.github.com>
|
2026-08-29 15:26:39 +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 |
|
|
|
0b3d98d91b
|
feat(stats): token 统计新增缓存命中追踪与命中率展示
- utils/token_usage.py:usage 归一化补全缓存命中字段提取,覆盖
prompt_tokens_details/input_tokens_details.cached_tokens(OpenAI 系)、
顶层 prompt_cache_hit_tokens(DeepSeek)、顶层 cached_tokens(Kimi/Step)、
cache_read_input_tokens(Anthropic 系)、cachedContentTokenCount(Gemini);
Anthropic 语义下把缓存读/写加回总输入以统一口径,normalize 保持幂等
- 对话级统计新增 total_cached_input_tokens 与 cache_exempt_input_tokens
(首轮/深度压缩后首轮未命中缓存的输入视为冷启动成本,豁免出命中率分母;
压缩通过 cache_cold_start_pending 标记在下一次真实调用时判定)
- token_update 广播与 token-statistics 接口同步携带新字段
- TokenDrawer 面板新增「累积缓存输入」「缓存命中率」(前端按 缓存/(总输入-豁免) 换算)
- 深色模式下「当前上下文」数字由灰色 --accent 改为 --text-primary(白)
- 附 cache_research/ 各厂商缓存字段调研文档(代码注释引用)
|
2026-08-29 12:43:14 +08:00 |
|
|
|
e4fdc82319
|
fix(i18n): 子智能体统计与工具结果摘要补齐 tr() 双语,根治漏网硬编码中文
sub_agent/stats.py 的统计摘要(调用/读写/搜索/网页/指令次数、运行时长、交付目录)与 tool_result_formatter/agent_context.py 的子智能体相关格式化函数此前仍是硬编码中文,英文界面显示中文。新增 sub_agent_stats.* 9 个 key、扩展 fmt_agent2.* 30 个 key;补齐后引用完整性 0 缺失、0 占位符漂移,冒烟 6/6,中英双语自检通过。
|
2026-08-29 10:09:19 +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 |
|
|
|
a2cf547400
|
feat(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化)
- 新增 modules/i18n.py:tr() + 进程级语言缓存 + modules/i18n_messages/ 域文案包自动聚合
- 新增 29 个域文案包,共 1153 条双语 key;90+ 源文件 1146 处用户可见消息 tr 化
- ui_locale 存入 personalization.json(用户级共享),前后端双向同步
- 前端匹配点双语兼容(history/shared/ChatArea/taskPolling/upload 等正则)
- 修复语言判等陷阱:审批等待加稳定 code 字段;conversation.py 不存在判等改双语 helper
- 边界:日志/prompt 注入/子智能体工具回填/容器内嵌脚本不迁移
|
2026-08-29 07:58:29 +08:00 |
|
|
|
a92ecfc246
|
feat(i18n): 前端多语言第二波迁移(128 存量文件清零)与体系加固
- 第二波迁移:app/methods、stores、chat、overlay、workflow、shell、
sidebar、auth、composables、utils 等 128 个 baseline 文件全部迁入文案包
- 新增 13 个命名空间:appMessages/appTasks/appUi/appCore/chat/chatActions/
quickdock/stores/overlay/shell/sidebar/auth/utils(zh/en 双侧,DeepString 强校验)
- fix: 个性化「模型与思考」模型下拉误用 $t(option.labelKey) 导致 SyntaxError: 17
(动态 API 数据无 labelKey 字段,改回 option.label 直接渲染)
- 功能性中文(后端消息匹配正则/默认标题判等)统一 \u 转义 + 注释约定,
保持运行时行为不变并通过审计
- common 归并相对时间族(chat/adminApi 重复定义合并,插值参数统一 {n})
- 审计栏杆:LOG_LINE_RE 豁免 socketLog 日志函数
- baseline 清零:此后任何文件新增裸中文直接被 lint 链首拦截
|
2026-08-28 23:47:32 +08:00 |
|
|
|
e04b56d967
|
fix(sub-agent): 深度压缩重建 system 消息包装为 dict,根治压缩后首次模型调用必崩
- _deep_compress_messages 此前把 _rebuild_system_prompt 返回的裸字符串直接
作为 messages[0],压缩后首次模型调用在 _merge_system_messages 的
msg.get("role") 处崩溃('str' object has no attribute 'get'),
任何触发 150k tokens 压缩阈值的子智能体 100% 必崩
- _merge_system_messages 入口增加非 dict 归一防御(包装为 system 消息),
同时避免下游 sanitizer 静默丢弃导致 system prompt 内容丢失
|
2026-08-28 20:12:44 +08:00 |
|
|
|
f9f9032ce5
|
fix(tasks): 用户取消的主任务统一以 stopped 收尾,根治死任务事件重放导致的显示回退
- 收尾不再按 has_bg 分流保持 cancel_requested 等待已废弃的「第二下点击」,
cancel_requested 退化为 cancel_task 到收尾之间的秒级瞬态
- 此前有后台任务时按下停止,任务永久卡在活跃集合,被 bootstrap/running-status
当作最新活跃主任务,前端对账每 2.5s 从事件 0 全量重放死任务事件流,
表现为回复完成瞬间显示回退到旧回复、刷新空白卡死且无效
- cleanup_old_tasks 清理集修正:"canceled" 是从未被赋值的拼写(实际终态为
stopped),改为 {succeeded,failed,stopped,canceled,cancel_requested} 兜底
|
2026-08-28 20:12:20 +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 |
|
|
|
c79c64aad0
|
fix(sidebar): 创建新对话后侧边栏类型过滤器不联动致多智能体对话错位显示
- send.ts:占位对话按新建类型插入对应过滤器缓存并同步切换 sidebarConversationType
- mode.ts:输入栏类型选择器切换时联动 setSidebarConversationType(纯本地零请求)
|
2026-08-27 09:43:51 +08:00 |
|
|
|
1b775545cc
|
chore(prompts): 移除主系统提示词中的开发者模式后门
移除 testcode=0618 激活的隐藏开发者模式段落,避免主智能体
提示词中存在可被任意输入触发的越权通道。
|
2026-08-27 09:21:40 +08:00 |
|
|
|
16aaea6b1e
|
refactor(multi-agent): 子智能体统一显示名寻址并增强可靠性
- 全局 agent_id 转为内部实现细节:由 next_free_agent_id 自动分配对话级
最小空闲正整数,不再接受模型指定、不出现在工具参数/结果文案中
- 角色内编号改为 peek + commit 两步:创建成功才消耗编号,失败不跳号
- 所有寻址类工具改用显示名:send_message/stop/terminate 传 display_name,
get_sub_agent_status 传 display_names,sleep 的 wait_sub_agent_output,
子侧 ask_other_agent 传 target_display_name,answer_other_agent 去掉
source_agent_id
- _run_loop 对 _call_model 增加重试:最多 5 次、间隔 10s、仅零接收时重试,
输出中断直接失败;多智能体模式下 5 次全失败转 idle 并向 Team Leader 报错
- 新增工具「正在调用」进度事件(calling),与 running/completed 共用
tool_call id,前端支持同 id 原地更新
|
2026-08-27 09:21:30 +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 |
|
|
|
6fb5d10542
|
feat(context): CLAUDE.md 注入开关(默认关)+ .agents/skills 行业目录扫描(含同名冲突报错)
- personalization 新增 claude_md_auto_inject(默认关)与 agents_skills_scan_enabled(默认开),配置存 personalization.json 按工作区隔离
- prompt.py 指令文件加载器泛化,messages.py 新增 CLAUDE.md 冻结注入段(模板 claude_md_inject.txt),子目录只列路径通知
- skills_manager catalog 新增工作区 .agents/skills/ 根(原地读取不同步复制),build_skills_list 按真实路径前缀展示并附来源/冲突说明
- read_skill 支持 .agents/skills 路径解析;与 .astrion/skills 同名重复时报错并引导 read_file 按具体路径读取
- 多智能体 sub_agent_context 同步 CLAUDE.md 开关;顺带修复其 skills 段参数名写错被 except 吞掉恒为空、以及 f-string 打印列表 repr 的存量 bug
- 前端个人空间新增两个开关
|
2026-08-26 12:14:49 +08:00 |
|
|
|
d5a7c94c8e
|
fix(server): /new 页面切换模型被工作区 terminal 残留 has_images 误拦
重启后工作区级 terminal 自动加载最近对话恢复焦点时,会从其 metadata
无条件恢复 has_images/has_videos(attach_history=False 不挂历史但标志仍残留)。
/new 页面切换模型不带 conversation_id,前端守卫已放行,但后端 set_model
守卫读到残留标志误抛「当前对话包含图片」。
/api/model 端点识别 /new 语义(无 conversation_id 且 terminal 未绑定对话)时,
切换前清除残留标志——与 create_new_conversation「新对话视为干净会话」语义一致;
显式打开对话时 load_conversation_by_id 会从 metadata 重新恢复,清除安全。
|
2026-08-26 10:23:01 +08:00 |
|
|
|
2d9b4eb5a6
|
fix(conversation): 修复版本回溯被旧内存merge覆盖,统一presend用户输入口径
- 回溯后同步对话级 terminal 内存为磁盘快照,避免 merge-on-save 把被裁消息当"内存独有"救回(此前只能回溯后立刻重启进程)
- 工作区级服务实例不再挂载对话历史(focus-only 仅恢复焦点+模式),settings/通知判定/工作流游标等保存路径改读磁盘回传,消除旧内存写回污染源
- 左侧输入导航与深度压缩的用户输入口径补 presend(提前输入排队转正),guidance 维持不计入;统一字段缺失老消息视为 user
|
2026-08-25 22:43:58 +08:00 |
|
|
|
c6c8bf2d0c
|
style(theme): 明亮/经典主题视觉层次修正
- light 主题:摘要行降为三级文字色与正文拉开层级(含 running 动画变体)
- light 主题:代码块头部浅灰、代码区与对话底同色;表格白体+浅灰表头+可见边框
- light 主题:输入栏壳体改浅灰浮起,发送按钮柔化为 78% 黑、hover 加深
- classic 主题:git 状态栏及子菜单背景与输入栏壳体对齐为纯白
- 顺带修正:思考模式 slash 菜单描述去掉已下线的 deep
|
2026-08-23 17:13:16 +08:00 |
|
|
|
9d3784bd90
|
refactor(compression): 压缩注入引导语与存档不再重复附带用户最近一次输入
最近一次输入本身会作为正常消息出现在上下文中,注入消息里再附一份属于重复
|
2026-08-23 17:13:02 +08:00 |
|
|
|
80284f1732
|
fix(chat): show_image 本地图片路径统一走 /api/file/content,修复裸相对路径静默不显示
- normalizeShowImageSrc 重写:http(s) 与 /user_upload/ 原样保留,其余本地路径
统一映射为 /api/file/content?path=...(与 show_file/view_image 同一通道)
- docker/web 模式:支持工作区内任意相对路径(含 ./、/ 前缀归一化);
host 模式:另支持任意绝对路径,file:// 前缀剥离后按本地路径处理
- invalid-src 不再静默吞掉:渲染可见错误占位(不支持的图片路径 xxx)
- 提示词同步澄清:本地图片写工作区相对路径,host 模式可用绝对路径
|
2026-08-23 17:12:46 +08:00 |
|
|
|
d3622ce438
|
fix(quickdock): 行高由 1 改为 1.4 避免下伸字母被裁剪
line-height 压成 1 时瘦高字体的下伸部(g/p/y 等)会超出行盒被 overflow 裁掉
|
2026-08-22 19:12:08 +08:00 |
|
|
|
0563588c74
|
fix(chat): skill 链接正则适配后端相对路径格式
后端自 cedef87d 起 /api/skills 返回相对工作区路径(.astrion/skills/...),
SKILL_MARKDOWN_LINK_RE 与 USER_SKILL_LINK_RE 的路径前缀改为可选,兼容历史绝对路径消息
|
2026-08-22 19:12:08 +08:00 |
|
|
|
da176ba4c7
|
chore: 记忆审计修正 —— AGENTS.md APIClient 引用 + 删除保存调试 trace 代码
- AGENTS.md §11.2: DeepSeekClient → APIClient(2026-07-28 改名的遗留引用)
- crud_mixin.py: 删除已过观察期的 _debug_conversation_save_trace(含 shrink/wipe_suspect 判定、调用栈捕获、conversation_save_debug.log 落盘)及配套 _CONV_SAVE_LOG_DIR / threading 导入
- 保留 ConvSaveGuard 断言与 ConvSaveMerge 矫正打印(机制级长期日志)
- 验证:模块加载成功 + test_server_refactor_smoke 6/6 通过
|
2026-08-22 19:12:08 +08:00 |
|
|
|
bcee17f5de
|
docs(release): 添加 MIT 许可证与主界面截图
|
2026-08-22 15:53:36 +08:00 |
|
|
|
c908e84844
|
chore: docs/ 与 workflow_research/ 移出版本控制(转为本地文件)
|
2026-08-22 15:35:20 +08:00 |
|
|
|
10654c407d
|
release: sync from main @0f9fd1b2 (2026-08-22)
|
2026-08-22 12:27:19 +08:00 |
|
|
|
2176278b03
|
chore: initialize public release branch
|
2026-08-22 12:18:39 +08:00 |
|