agent-Specialization/server
JOJO 66fa90d6cc feat(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图
- 新增 server/headless_app.py:仅挂 gateway/tasks/status/approval/usage 五件蓝图,
  无 web 站点路由面(/login、会话管理、静态页全砍),根路径返回 HTML 告知页;
  供 CLI 探测无服务时 spawn(同 RuntimeService 单例/数据目录/端口 8091,
  与 full 形态互斥不并存)
- server/chat/approval.py 拆出 approval_bp(tool/plan/question 6 条路由 URL 不变),
  解除对 chat_bp 的 import 循环,full/headless 双形态共用
- cli/src/gateway.ts:spawn 切 server.headless_app;python 解释器改 pickPython
  依赖探测(import yaml/flask 逐个试 .venv → homebrew 3.12/3.11 → python3),
  修本机 .venv 缺 pyyaml 导致的自启动即崩
- 修复 socket 移除残留雷:make_terminal_callback 定义随 broadcast.py 被删,
  workflow_runtime_api 模块级 import 即炸;resources.py 补兼容空操作(恒返 None)
- AGENTS.md §2 补 headless 启动命令、§12.5 补兼容空操作与 headless 形态说明

验证:tsc  py_compile  冒烟 6/6  headless 装配 47 路由 
8093 真实冒烟(health/Bearer/404 面/告知页)

Co-authored-by: Astrion powered by Kimi-K3 <astrion-agent@users.noreply.github.com>
2026-09-11 19:00:22 +08:00
..
chat feat(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图 2026-09-11 19:00:22 +08:00
context feat(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图 2026-09-11 19:00:22 +08:00
runtime feat(tools): 工具动态加载——低频工具按需注入,对话文件快照为准 2026-09-10 17:07:15 +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 refactor(server,web): remove Socket.IO entirely, unify on REST polling 2026-09-11 17:28:47 +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(runtime): Gateway 收尾——session 传输暴露、host Bearer 通道、flask 依赖拆解、审批链路收口 2026-09-08 11:37:51 +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(server): headless 启动入口(Gateway 专用路由面)+ approval 拆独立蓝图 2026-09-11 19:00:22 +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(i18n): 后端用户可见消息国际化(zh/en 双语 + ui_locale 偏好持久化) 2026-08-29 07:58:29 +08:00
workflow_runtime_api.py feat(tools): 工具动态加载——低频工具按需注入,对话文件快照为准 2026-09-10 17:07:15 +08:00