oclaw/runtime/agents/network_ops_agent.py
oliver dbbe3add6a 重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。

Made-with: Cursor
2026-04-26 08:34:33 +08:00

50 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from __future__ import annotations
from typing import Any
from oclaw.runtime.chat.agent import Agent
from oclaw.runtime.agent_context import build_role_system_context
from oclaw.platform.persistence.sqlite_store import SqliteStore
from oclaw.prompts.loader import render_prompt
from oclaw.runtime.tools import default_registry
NETWORK_SYSTEM_PROMPT_ZH = render_prompt(
"agents/network_ops_system.zh.md",
variables={"ROLE_SYSTEM_CONTEXT": build_role_system_context("ops")},
strict=True,
)
class NetworkOpsAgent(Agent):
"""网络运维专家 Agent:固定专家提示词与专家工具目录。"""
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",
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"]