完善 MCP/会话上下文治理并补齐搜索与诊断能力。

补充历史压缩与会话诊断链路,强化 tool pairing 与空响应兜底观测;完善 Admin MCP 导入/绑定与相关前端展示;新增 web_search_fast/web_fetch_clean 及多项测试与文档更新,并同步技能安装与角色绑定策略改进。

Made-with: Cursor
This commit is contained in:
oliver 2026-05-01 17:46:50 +08:00
parent df91434936
commit ae44cbcad5
43 changed files with 3549 additions and 57 deletions

View file

@ -0,0 +1,45 @@
from __future__ import annotations
from contextlib import contextmanager
from contextvars import ContextVar
from typing import Iterator
_tool_lane_owner: ContextVar[str | None] = ContextVar("tool_lane_owner", default=None)
_tool_lane_session: ContextVar[str | None] = ContextVar("tool_lane_session", default=None)
_tool_workspace_lane_role: ContextVar[str | None] = ContextVar("tool_workspace_lane_role", default=None)
@contextmanager
def tool_workspace_lane_scope(
*,
workspace_owner_session_id: str | None,
session_id: str | None,
workspace_lane_role: str | None = None,
) -> Iterator[None]:
o = str(workspace_owner_session_id or "").strip() or None
s = str(session_id or "").strip() or None
r = str(workspace_lane_role or "").strip().lower() or None
t_o = _tool_lane_owner.set(o)
t_s = _tool_lane_session.set(s)
t_r = _tool_workspace_lane_role.set(r)
try:
yield
finally:
_tool_lane_owner.reset(t_o)
_tool_lane_session.reset(t_s)
_tool_workspace_lane_role.reset(t_r)
def current_tool_lane_sessions() -> tuple[str | None, str | None]:
return _tool_lane_owner.get(), _tool_lane_session.get()
def current_tool_workspace_lane_role() -> str | None:
return _tool_workspace_lane_role.get()
__all__ = [
"current_tool_lane_sessions",
"current_tool_workspace_lane_role",
"tool_workspace_lane_scope",
]