Initial sync-bot.py skeleton by Grok
This commit is contained in:
@@ -0,0 +1,36 @@
|
|||||||
|
# Grok-Leonard Sync Bot - MVP
|
||||||
|
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
import time
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
# Config
|
||||||
|
INBOX_DIR = 'agent-comms/grok-inbox'
|
||||||
|
OUTBOX_DIR = 'agent-comms/leonard-outbox'
|
||||||
|
ARCHIVE_DIR = 'agent-comms/archive'
|
||||||
|
|
||||||
|
os.makedirs(ARCHIVE_DIR, exist_ok=True)
|
||||||
|
|
||||||
|
print('Grok-Leonard Sync Bot started...')
|
||||||
|
|
||||||
|
while True:
|
||||||
|
# Simple poll for new messages
|
||||||
|
for filename in os.listdir(INBOX_DIR):
|
||||||
|
if filename.startswith('grok-to-leonard') or filename.endswith('.md'):
|
||||||
|
filepath = os.path.join(INBOX_DIR, filename)
|
||||||
|
try:
|
||||||
|
with open(filepath, 'r') as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
print(f'[{datetime.now()}] Processed message: {filename}')
|
||||||
|
# TODO: Parse JSON frontmatter, generate response, write to leonard-outbox
|
||||||
|
|
||||||
|
# Archive
|
||||||
|
archive_path = os.path.join(ARCHIVE_DIR, filename)
|
||||||
|
os.rename(filepath, archive_path)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f'Error processing {filename}: {e}')
|
||||||
|
|
||||||
|
time.sleep(10) # Poll every 10 seconds
|
||||||
Reference in New Issue
Block a user