fix mykey path, add inject-prompt button, harden reload_mykeys
This commit is contained in:
@@ -66,6 +66,9 @@ memory/L4_raw_sessions/*
|
||||
# Subagent SOP
|
||||
!memory/subagent_sop.md
|
||||
|
||||
# Incubator SOP
|
||||
!memory/incubator_sop.md
|
||||
|
||||
# Supervisor SOP
|
||||
!memory/supervisor_sop.md
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ class AgentManager:
|
||||
|
||||
@property
|
||||
def mykey_path(self) -> str:
|
||||
return str(Path(self.ga_root) / "mykey.txt")
|
||||
return str(Path(self.ga_root) / "mykey.py")
|
||||
|
||||
def ensure_ga_import_path(self) -> Path:
|
||||
root = Path(self.ga_root).resolve()
|
||||
|
||||
+6
-1
@@ -94,6 +94,9 @@ def render_sidebar():
|
||||
st.toast("Desktop pet started")
|
||||
|
||||
if LANG == 'zh':
|
||||
if st.button('🎯 给我找点事做'):
|
||||
st.session_state['_inject_prompt'] = '按照自主行动的规划部分,充分分析我的情况,给我生成一批TODO,务必让我感兴趣'
|
||||
st.rerun(scope="app")
|
||||
st.divider()
|
||||
if st.button("开始空闲自主行动"):
|
||||
st.session_state.last_reply_time = int(time.time()) - 1800
|
||||
@@ -257,7 +260,9 @@ _js_ime_fix = ("" if os.name == 'nt' else
|
||||
"f();new MutationObserver(f).observe(d.body,{childList:1,subtree:1})}()")
|
||||
_embed_html(f'<script>{_js_scroll_fix};{_js_ime_fix}</script>', height=0)
|
||||
|
||||
if prompt := st.chat_input("any task?"):
|
||||
_injected = st.session_state.pop('_inject_prompt', None)
|
||||
prompt = st.chat_input("any task?") or _injected
|
||||
if prompt:
|
||||
ts = time.strftime("%Y-%m-%d %H:%M:%S")
|
||||
cmd = (prompt or "").strip()
|
||||
def _reset_and_rerun():
|
||||
|
||||
+10
-8
@@ -15,19 +15,21 @@ def _load_mykeys():
|
||||
raise Exception(f'[ERROR] mykey.py found but failed to import: {e}') from e
|
||||
except SyntaxError as e:
|
||||
raise Exception(f'[ERROR] mykey.py has syntax error: {e}') from e
|
||||
_mykey_path = p = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mykey.json')
|
||||
p = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'mykey.json')
|
||||
if not os.path.exists(p): raise Exception('[ERROR] mykey.py not found in sys.path and mykey.json not found. Run "python configure_mykey.py" or copy mykey_template.py to mykey.py and fill in your keys.')
|
||||
with open(p, encoding='utf-8') as f: return json.load(f)
|
||||
with open(_mykey_path := p, encoding='utf-8') as f: return json.load(f)
|
||||
|
||||
_mykey_path = _mykey_mtime = None
|
||||
def reload_mykeys():
|
||||
global _mykey_mtime
|
||||
mt = os.stat(_mykey_path).st_mtime_ns if _mykey_path else -1
|
||||
if mt == _mykey_mtime: return globals().get('mykeys', {}), False
|
||||
mk = _load_mykeys(); _mykey_mtime = os.stat(_mykey_path).st_mtime_ns
|
||||
print(f'[Info] Load mykeys from {_mykey_path}')
|
||||
globals().update(mykeys=mk)
|
||||
return mk, True
|
||||
try:
|
||||
mt = os.stat(_mykey_path).st_mtime_ns if _mykey_path else -1
|
||||
if mt == _mykey_mtime: return globals().get('mykeys', {}), False
|
||||
mk = _load_mykeys(); _mykey_mtime = os.stat(_mykey_path).st_mtime_ns
|
||||
print(f'[Info] Load mykeys from {_mykey_path}')
|
||||
globals().update(mykeys=mk)
|
||||
return mk, True
|
||||
except: return globals().get('mykeys', {}), False
|
||||
|
||||
def __getattr__(name): # once guard in PEP 562
|
||||
if name == 'mykeys': return reload_mykeys()[0]
|
||||
|
||||
Reference in New Issue
Block a user