agent-Specialization/server
JOJO 5459d82637 feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化
CLI(bun 跑源码即生效):
- boot:loadBootData 一次性加载模型清单(含 context_window)/个性化默认
  (含压缩设置)/path 授权/会话列表;新会话 unshift 标 current
- /session:Enter 真实加载(timeline.reset + getSessionHistory 渲染历史文本)
- /new:对齐 web /new 页面语义——空对话草稿不立即建会话,首条消息
  createTask 不带 cid 由服务端惰性创建,响应回 id 后插入列表标 current
- /context + 状态栏:token_update 事件(运行期事件流)+ 打开面板时查询
  新端点 GET /api/runtime/sessions/<cid>/token-stats;百分比算法对齐 web
  InputComposer(自动压缩阈值优先于模型窗口)
- /model:Enter = 本地生效 + createTask 带 model_key/run_mode/thinking_mode
  覆盖(会话级即时)+ savePersonalization patch 存默认(effort default 存 null)
- /path:增删后 savePathAuths 全量提交两组(服务端 deny 校验保留)
- /agents /tasks /workflow /rewind:打开时拉真实列表(sub_agents/
  background_commands/workflows/versioning-checkpoints)
- 发送链路统一 sendWithSettings 携带 /model 生效值(含排队队列)

后端:
- 8 端点装饰器 api_login_required → api_login_or_host_token_required
  (personalization×2 / path-authorization×2 / sub_agents / background_commands
  / workflows / versioning-checkpoints),web session 行为不变
- headless_app 用 add_url_rule 共享上述视图函数(URL 与 full 一致);
  sub_agents/background_commands 支持 query 显式传 conversation_id
  (Bearer 装配的 terminal 无当前对话概念)
- RuntimeService 新增 get_session_token_stats;gateway_api 挂 token-stats 路由
- headless 404 兜底:非 /api/ 的 GET 路径回落告知页(对齐 SPA fallback)

验证:tsc  py_compile  冒烟 6/6  headless 装配 54 路由 
localconfig 无头实测读到真实配置 ;真实服务端到端待用户重启 8091 实机验收

Co-authored-by: Astrion powered by Kimi-K3 <astrion-agent@users.noreply.github.com>
2026-09-11 21:20:58 +08:00
..
chat feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
context feat(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图 2026-09-11 19:00:22 +08:00
runtime feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
status refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
tasks refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
__init__.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
admin.py fix(containers): 配额只统计 docker 句柄,修复 host 模式工作区列表 503 2026-09-02 23:39:42 +08:00
api_auth.py feat(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化) 2026-08-29 07:58:29 +08:00
api_v1.py feat(runtime): Gateway 收尾——session 传输暴露、host Bearer 通道、flask 依赖拆解、审批链路收口 2026-09-08 11:37:51 +08:00
app_legacy.py feat(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图 2026-09-11 19:00:22 +08:00
app.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
auth_helpers.py fix(i18n): 未登录 401 返回双语文案「登录状态已过期,请重新登录」 2026-08-30 00:33:43 +08:00
auth.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
chat_flow_helpers.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
chat_flow_runner_helpers.py release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00
chat_flow_runner.py release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00
chat_flow_runtime.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
chat_flow_stream_loop.py feat(stream): 流式断流「清除重来」自动重试机制 2026-08-31 19:58:43 +08:00
chat_flow_task_main.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
chat_flow_task_runner.py release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00
chat_flow_task_support.py feat(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化) 2026-08-29 07:58:29 +08:00
chat_flow_tool_loop.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
chat_flow.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
conversation_bootstrap.py refactor(runtime): 审核 F1-F4 收口——发现入口、范围校验、入口统一转调、验收加固 2026-09-08 01:29:43 +08:00
conversation_stats.py fix(containers): 配额只统计 docker 句柄,修复 host 模式工作区列表 503 2026-09-02 23:39:42 +08:00
conversation.py feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
deep_compression.py feat(tools): 工具动态加载——低频工具按需注入,对话文件快照为准 2026-09-10 17:07:15 +08:00
extensions.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
files.py fix(security): Docker 多用户模式全面安全加固(安全审计修复) 2026-09-02 18:31:00 +08:00
gateway_api.py feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
gateway_auth.py feat(cli): rewrite CLI on opentui with Gateway host Bearer channel 2026-09-11 17:27:53 +08:00
goal_flow.py feat(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化) 2026-08-29 07:58:29 +08:00
headless_app.py feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
main_task_gate.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
monitor.py fix(security): Docker 多用户模式全面安全加固(安全审计修复) 2026-09-02 18:31:00 +08:00
multi_agent.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
security.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
state.py refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +08:00
usage.py feat(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化) 2026-08-29 07:58:29 +08:00
utils_common.py release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00
work_timer.py release: sync from main @0f9fd1b2 (2026-08-22) 2026-08-22 12:27:19 +08:00
workflow_flow.py refactor(runtime): 拆除 session_data 兼容桥,任务上下文三层结构化直传 2026-09-08 02:08:33 +08:00
workflow_page.py feat(cli): 面板与状态栏接真实数据,/new 对齐草稿语义;host 设置面双通道化 2026-09-11 21:20:58 +08:00
workflow_runtime_api.py feat(tools): 工具动态加载——低频工具按需注入,对话文件快照为准 2026-09-10 17:07:15 +08:00