fix: add try/except for LLM init, improve working memory prompt, fix autonomous report format
This commit is contained in:
14
agentmain.py
14
agentmain.py
@@ -32,11 +32,13 @@ class GeneraticAgent:
|
|||||||
llm_sessions = []
|
llm_sessions = []
|
||||||
for k, cfg in mykeys.items():
|
for k, cfg in mykeys.items():
|
||||||
if not any(x in k for x in ['api', 'config', 'cookie']): continue
|
if not any(x in k for x in ['api', 'config', 'cookie']): continue
|
||||||
if 'claude' in k: llm_sessions += [ClaudeSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'])]
|
try:
|
||||||
if 'oai' in k: llm_sessions += [LLMSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'], proxy=cfg.get('proxy'))]
|
if 'claude' in k: llm_sessions += [ClaudeSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'])]
|
||||||
if 'xai' in k: llm_sessions += [XaiSession(cfg, mykeys.get('proxy', ''))]
|
if 'oai' in k: llm_sessions += [LLMSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'], proxy=cfg.get('proxy'))]
|
||||||
if 'sider' in k: llm_sessions += [SiderLLMSession(cfg, default_model=x) for x in \
|
if 'xai' in k: llm_sessions += [XaiSession(cfg, mykeys.get('proxy', ''))]
|
||||||
|
if 'sider' in k: llm_sessions += [SiderLLMSession(cfg, default_model=x) for x in \
|
||||||
["gemini-3.0-flash", "claude-haiku-4.5", "kimi-k2"]]
|
["gemini-3.0-flash", "claude-haiku-4.5", "kimi-k2"]]
|
||||||
|
except: pass
|
||||||
if len(llm_sessions) > 0: self.llmclient = ToolClient(llm_sessions, auto_save_tokens=True)
|
if len(llm_sessions) > 0: self.llmclient = ToolClient(llm_sessions, auto_save_tokens=True)
|
||||||
else: self.llmclient = None
|
else: self.llmclient = None
|
||||||
self.lock = threading.Lock()
|
self.lock = threading.Lock()
|
||||||
@@ -80,8 +82,8 @@ class GeneraticAgent:
|
|||||||
handler = GenericAgentHandler(None, self.history, './temp')
|
handler = GenericAgentHandler(None, self.history, './temp')
|
||||||
if self.handler and self.handler.key_info:
|
if self.handler and self.handler.key_info:
|
||||||
handler.key_info = self.handler.key_info
|
handler.key_info = self.handler.key_info
|
||||||
if '如需可更新工作记忆去除无用部分' not in handler.key_info:
|
if '清除工作记忆' not in handler.key_info:
|
||||||
handler.key_info += '\n如需可更新工作记忆去除无用部分\n'
|
handler.key_info += '\n[SYSTEM] 如果是新任务,请先更新或清除工作记忆\n'
|
||||||
self.handler = handler
|
self.handler = handler
|
||||||
self.llmclient.backend = self.llmclient.backends[self.llm_no]
|
self.llmclient.backend = self.llmclient.backends[self.llm_no]
|
||||||
gen = agent_runner_loop(self.llmclient, sys_prompt, raw_query,
|
gen = agent_runner_loop(self.llmclient, sys_prompt, raw_query,
|
||||||
|
|||||||
@@ -12,9 +12,9 @@
|
|||||||
|
|
||||||
## 报告目录与规则
|
## 报告目录与规则
|
||||||
|
|
||||||
⚠️ 报告目录唯一位置:`./autonomous_reports/`,history.txt 在此目录内,禁止写到其他任何路径。
|
⚠️ 历史记录唯一位置:`./autonomous_reports/history.txt`, 在此目录内,禁止写到其他任何路径。
|
||||||
报告存于 `./autonomous_reports/`,文件名 `RXX_简短描述.md`(XX从 history.txt 推断自增)。
|
报告存于 `./autonomous_reports/`,文件名 `RXX_简短描述.md`(XX从 history.txt 推断自增)。
|
||||||
完成后在 history.txt 首行 prepend 一条:`#XX | 日期 | 类型 | 主题 | 结论`(严格单行)。已处理报告归档至 `archived/`。
|
完成后在 history.txt 首行 prepend 一条:`RXX | 日期 | 类型 | 主题 | 结论`(严格单行)。已处理报告归档至 `archived/`。
|
||||||
|
|
||||||
权限边界:
|
权限边界:
|
||||||
- 无需批准:只读探测、cwd 内写操作/脚本实验
|
- 无需批准:只读探测、cwd 内写操作/脚本实验
|
||||||
|
|||||||
Reference in New Issue
Block a user