refactor: use vars(mykey) to preserve key order, fix .items() iteration
This commit is contained in:
@@ -17,6 +17,7 @@ class Session:
|
|||||||
@property
|
@property
|
||||||
def url(self): return self.info.get('url', '')
|
def url(self): return self.info.get('url', '')
|
||||||
def is_active(self):
|
def is_active(self):
|
||||||
|
if self.type == 'http' and time.time() - self.connect_at > 60: self.mark_disconnected()
|
||||||
return self.disconnect_at is None
|
return self.disconnect_at is None
|
||||||
def reconnect(self, client, info):
|
def reconnect(self, client, info):
|
||||||
self.info = info
|
self.info = info
|
||||||
@@ -63,7 +64,7 @@ class TMWebDriver:
|
|||||||
session.disconnect_at = None
|
session.disconnect_at = None
|
||||||
if session.type == 'http': msgQ = session.http_queue
|
if session.type == 'http': msgQ = session.http_queue
|
||||||
else: return json.dumps({"id": "", "ret": "use ws"})
|
else: return json.dumps({"id": "", "ret": "use ws"})
|
||||||
start_time = time.time()
|
session.connect_at = start_time = time.time()
|
||||||
while time.time() - start_time < 5:
|
while time.time() - start_time < 5:
|
||||||
try:
|
try:
|
||||||
msg = msgQ.get(timeout=0.2)
|
msg = msgQ.get(timeout=0.2)
|
||||||
|
|||||||
14
agentmain.py
14
agentmain.py
@@ -28,15 +28,15 @@ def get_system_prompt():
|
|||||||
class GeneraticAgent:
|
class GeneraticAgent:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
if not os.path.exists('temp'): os.makedirs('temp')
|
if not os.path.exists('temp'): os.makedirs('temp')
|
||||||
from sidercall import sider_cookie, oai_configs, claude_configs, xai_api_key, proxy
|
from sidercall import mykeys
|
||||||
llm_sessions = []
|
llm_sessions = []
|
||||||
for cfg in claude_configs.values():
|
for k, cfg in mykeys.items():
|
||||||
llm_sessions += [ClaudeSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'])]
|
if not any(x in k for x in ['api', 'config', 'cookie']): continue
|
||||||
if sider_cookie: llm_sessions += [SiderLLMSession(default_model=x) for x in \
|
if 'claude' in k: llm_sessions += [ClaudeSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'])]
|
||||||
|
if 'oai' in k: llm_sessions += [LLMSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'], proxy=cfg.get('proxy'))]
|
||||||
|
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"]]
|
||||||
if xai_api_key: llm_sessions += [XaiSession(xai_api_key, proxy)]
|
|
||||||
for cfg in oai_configs.values():
|
|
||||||
llm_sessions += [LLMSession(api_key=cfg['apikey'], api_base=cfg['apibase'], model=cfg['model'], proxy=cfg.get('proxy'))]
|
|
||||||
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()
|
||||||
|
|||||||
31
sche_tasks/done/2026-02-19_0800_检查未读邮件.md
Normal file
31
sche_tasks/done/2026-02-19_0800_检查未读邮件.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
schedule: daily 0800
|
||||||
|
prompt: 按ezgmail_sop读取所有未读邮件,判断是否有重要信息(紧急/截止日期/需回复的),将摘要写入执行报告。全部设为已读。
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
# 邮件检查执行报告
|
||||||
|
执行时间: 2026-02-19 08:01:14
|
||||||
|
|
||||||
|
## 统计
|
||||||
|
- 总未读邮件: 21
|
||||||
|
- 重要邮件: 3
|
||||||
|
|
||||||
|
## 重要邮件详情
|
||||||
|
|
||||||
|
### 1. EXTENDED DEADLINE: Call for Papers: TAAS Special Issue on Autonomic Approaches and Applications for the Edge-HPC/Cloud Computing Continuum
|
||||||
|
- 发件人: "Rami Bahsoon, ACM TAAS Editor-in-Chief (do not reply)" <call-for-papers@hq.acm.org>
|
||||||
|
- 日期: Wed, 18 Feb 2026 10:00:00 -0500 (EST)
|
||||||
|
- 摘要: ACM Digital Library journal banner CALL FOR PAPERS - EXTENDED DEADLINE ACM Transactions on Autonomous and Adaptive Systems Special Issue on Autonomic Approaches and Applications for the Edge-HPC/Cloud
|
||||||
|
|
||||||
|
### 2. Re: [ARR January/ACL 2026] pending review for submission 5119 please reply!
|
||||||
|
- 发件人: acl2026 <acl2026pcs@gmail.com>
|
||||||
|
- 日期: Wed, 18 Feb 2026 12:57:39 +0000
|
||||||
|
- 摘要: Hi Jiaqing I can add you as a reviewer on the system for this paper. Can you please confirm you will do the review today? Best Maria On Wed, Feb 18, 2026 at 6:47 AM Nanyun Peng <violetpeng@cs.ucla.
|
||||||
|
|
||||||
|
### 3. International Conference on Artificial Intelligence in Society 2026 - CALL FOR PAPERS - Deadline for submissions (1st CFP Extension): 9 March 2026
|
||||||
|
- 发件人: "isabel.andrade@isrlab.org" <isabel.andrade@isrlab.org>
|
||||||
|
- 日期: Wed, 18 Feb 2026 12:10:38 +0000
|
||||||
|
- 摘要: Header Image International Conference on Artificial Intelligence in Society 2026 (AIS 2026) Part of the 20th Multi Conference on Computer Science and Information Systems (MCCSIS 2026) Valencia, Spain,
|
||||||
|
|
||||||
|
## 操作
|
||||||
|
- 已将所有未读邮件标记为已读
|
||||||
@@ -5,12 +5,6 @@ try: import mykey
|
|||||||
except: raise Exception('[ERROR] mykey.py not found, please copy mykey_template.py to mykey.py and fill your LLM backend.')
|
except: raise Exception('[ERROR] mykey.py not found, please copy mykey_template.py to mykey.py and fill your LLM backend.')
|
||||||
|
|
||||||
mykeys = vars(mykey)
|
mykeys = vars(mykey)
|
||||||
sider_cookie = mykeys.get("sider_cookie")
|
|
||||||
oai_configs = {k: v for k, v in vars(mykey).items() if k.startswith("oai_config") and v}
|
|
||||||
claude_configs = {k: v for k, v in vars(mykey).items() if k.startswith("claude_config") and v}
|
|
||||||
google_api_key = mykeys.get("google_api_key")
|
|
||||||
xai_api_key = mykeys.get("xai_api_key")
|
|
||||||
|
|
||||||
proxy = mykeys.get("proxy", 'http://127.0.0.1:2082')
|
proxy = mykeys.get("proxy", 'http://127.0.0.1:2082')
|
||||||
proxies = {"http": proxy, "https": proxy} if proxy else None
|
proxies = {"http": proxy, "https": proxy} if proxy else None
|
||||||
|
|
||||||
@@ -28,7 +22,7 @@ def compress_history_tags(messages, keep_recent=4, max_len=200):
|
|||||||
return messages
|
return messages
|
||||||
|
|
||||||
class SiderLLMSession:
|
class SiderLLMSession:
|
||||||
def __init__(self, default_model="gemini-3.0-flash"):
|
def __init__(self, sider_cookie, default_model="gemini-3.0-flash"):
|
||||||
from sider_ai_api import Session
|
from sider_ai_api import Session
|
||||||
self._core = Session(cookie=sider_cookie, proxies=proxies)
|
self._core = Session(cookie=sider_cookie, proxies=proxies)
|
||||||
self.default_model = default_model
|
self.default_model = default_model
|
||||||
|
|||||||
Reference in New Issue
Block a user