懒初始化:第一次请求时才创建 session(避免启动超时)
(self)
| 100 | self.stats = {"requests": 0, "allowed": 0, "blocked": 0} |
| 101 | |
| 102 | def _ensure_session(self): |
| 103 | """懒初始化:第一次请求时才创建 session(避免启动超时)""" |
| 104 | if self.session is not None: |
| 105 | return |
| 106 | config = find_config() |
| 107 | agent = Agent.create(config) |
| 108 | import tempfile |
| 109 | workspace = tempfile.mkdtemp(prefix="ahp_srv_") |
| 110 | |
| 111 | # 挂载 ahp_skills 目录,让 AHP Server 智能体使用 skill 分析工具调用 |
| 112 | skill_dir = str(Path(__file__).parent / "ahp_skills") |
| 113 | opts = SessionOptions() |
| 114 | opts.builtin_skills = False |
| 115 | opts.skill_dirs = [skill_dir] |
| 116 | opts.permission_policy = PermissionPolicy(default_decision="allow") |
| 117 | self.session = agent.session(workspace, opts) |
| 118 | log(f"AHP Server Agent 已就绪 (config={config}, skills={skill_dir})") |
| 119 | |
| 120 | def _llm_decide(self, prompt: str) -> Dict[str, Any]: |
| 121 | """查询 LLM 并解析 JSON 响应""" |
no test coverage detected