mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 05:50:44 +08:00
完善 MCP/会话上下文治理并补齐搜索与诊断能力。
补充历史压缩与会话诊断链路,强化 tool pairing 与空响应兜底观测;完善 Admin MCP 导入/绑定与相关前端展示;新增 web_search_fast/web_fetch_clean 及多项测试与文档更新,并同步技能安装与角色绑定策略改进。 Made-with: Cursor
This commit is contained in:
parent
df91434936
commit
ae44cbcad5
43 changed files with 3549 additions and 57 deletions
45
runtime/chat/tool_invocation_context.py
Normal file
45
runtime/chat/tool_invocation_context.py
Normal 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",
|
||||
]
|
||||
Loading…
Add table
Add a link
Reference in a new issue