mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-09 04:40:45 +08:00
Remove SpecialistAgentRunner, plan_agent_v2 re-export shims, empty runtime husks, and disconnected Admin knobs. Fold ops into build_gateway_executor, align AIA_ENABLE_PLUGIN_TOOLS with catalog, and allow ops on the default MCP specialist list. Co-authored-by: Cursor <cursoragent@cursor.com>
56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
from __future__ import annotations
|
||
|
||
"""Ops specialist helpers.
|
||
|
||
Prefer ``build_gateway_executor(specialist=\"ops\")``. This module keeps the
|
||
legacy ``NetworkOpsAgent`` name as a thin ``Agent`` factory for older imports.
|
||
"""
|
||
|
||
from typing import Any
|
||
|
||
from runtime.agent_context import build_role_system_context
|
||
from runtime.chat.agent import Agent
|
||
from svc.persistence.sqlite_store import SqliteStore
|
||
from runtime.tools import default_registry
|
||
|
||
# Ops 专家走与 specialists 相同的工作区框架:runtime/workspaces/ops/{SOUL,ROLE_SYSTEM}.md
|
||
NETWORK_SYSTEM_PROMPT_ZH = build_role_system_context("ops")
|
||
|
||
|
||
class NetworkOpsAgent(Agent):
|
||
"""Compatibility alias: ops specialist with network_ops(+memory) tool catalog.
|
||
|
||
New code should use ``runtime.agents.factory.build_gateway_executor(specialist=\"ops\")``.
|
||
"""
|
||
|
||
def __init__(
|
||
self,
|
||
*,
|
||
store: SqliteStore,
|
||
model: Any,
|
||
lang: str = "zh",
|
||
llm_profile_mode: str | None = None,
|
||
system_prompt: str | None = None,
|
||
policy_session_id: str | None = None,
|
||
path_policy_tenant_id: str | None = None,
|
||
path_policy_user_id: str | None = None,
|
||
) -> None:
|
||
tools = default_registry(
|
||
expert="network_ops+memory",
|
||
specialist="ops",
|
||
policy_session_id=policy_session_id,
|
||
path_policy_tenant_id=path_policy_tenant_id,
|
||
path_policy_user_id=path_policy_user_id,
|
||
store=store,
|
||
)
|
||
super().__init__(
|
||
store=store,
|
||
tools=tools,
|
||
model=model,
|
||
system_prompt=(system_prompt or NETWORK_SYSTEM_PROMPT_ZH),
|
||
lang=lang,
|
||
llm_profile_mode=llm_profile_mode,
|
||
)
|
||
|
||
|
||
__all__ = ["NetworkOpsAgent", "NETWORK_SYSTEM_PROMPT_ZH"]
|