{"skill":{"slug":"sdf-com-bridge","displayName":"SDF COM Bridge","summary":"Bridge between SDF COM chatroom and Feishu-Lark messaging platform. Supports bi-directional message translation between English and Chinese, command executio...","description":"---\nname: sdf-com-bridge\ndescription: Bridge between SDF COM chatroom and Feishu-Lark messaging platform. Supports bi-directional message translation between English and Chinese, command execution, and real-time chat synchronization. Use when connecting to SDF Public Access UNIX System COM chat and relaying messages to Feishu or Lark.\n---\n\n# SDF COM Bridge\n\nSDF COM chatroom to Feishu bridge with real-time message sync and translation.\n\n## Architecture\n\n- SSH Socket connects to SDF\n- COM runs on remote\n- Terminal Parser extracts messages\n- Translator handles EN-ZH bidirectional translation\n- Feishu Integration sends formatted messages\n\n## Components\n\n### 1. SSH Connection (scripts/ssh_connection.py)\nReuses ControlMaster socket for connection.\n\n```python\nfrom ssh_connection import SSHConnection\n\nconn = SSHConnection(user=\"yupeng\", host=\"sdf.org\")\nconn.connect(\"com -c\")  # Start COM\nconn.send(\"g anonradio\\n\")  # Enter room\n```\n\n### 2. COM Interaction (scripts/com_interaction.py)\nCOM command wrapper.\n\n| Command | Function | Description |\n|---------|----------|-------------|\n| w | get_users() | List users |\n| l | list_rooms() | List rooms |\n| g | join_room(\"name\") | Join room |\n| r/R | get_history(n) | View history |\n| s | send_private(user, host, msg) | Private message |\n| e | emote(action) | Emote action |\n| q | quit() | Exit COM |\n\n### 3. Terminal Parser (scripts/terminal_parser.py)\nExtracts chat messages from terminal output.\n\n```python\nfrom terminal_parser import SimpleTextParser\n\nparser = SimpleTextParser()\nmessages = parser.feed(raw_text)\n```\n\n### 4. Translator (scripts/translator.py)\nEnglish to Chinese translation.\n\n```python\nfrom translator import LLMTranslator\n\ntranslator = LLMTranslator()\nzh = translator.quick_translate_en_to_zh(\"hello\")\n```\n\n### 5. Feishu Bridge (scripts/feishu_bridge.py)\nParse Feishu commands.\n\n| Command | Format | Function |\n|---------|--------|----------|\n| Send | com: message | Send to COM |\n| Status | com:pwd | Check connection |\n| Privmsg | s: user@host message | Private message |\n\n### 6. Main Bridge (scripts/main.py)\nComplete runtime example.\n\n```python\nfrom main import SDFComBridge\n\nbridge = SDFComBridge(\n    user=\"yupeng\",\n    host=\"sdf.org\",\n    target_room=\"anonradio\"\n)\n\nbridge.start()\nbridge.handle_feishu_message(\"com: hello\")\nbridge.stop()\n```\n\n## Usage\n\nInstall dependencies:\n```bash\npip install -r requirements.txt\n```\n\nRun directly:\n```bash\npython scripts/main.py\n```\n\nTest connection:\n```bash\npython -c \"from scripts.ssh_connection import SSHConnection; c = SSHConnection(); print(c._check_socket())\"\n```\n\n## Configuration\n\nEdit main.py:\n\n```python\nbridge = SDFComBridge(\n    user=\"yupeng\",\n    host=\"sdf.org\",\n    target_room=\"anonradio\"\n)\n```\n\n## Default Room\n\nAuto-joins anonradio chatroom.\n\n## Message Flow\n\n**COM to Feishu:**\n- English messages auto-translated to Chinese\n\n**Feishu to COM:**  \n- Messages prefixed with \"com:\" sent to COM\n\n## Notes\n\n- Requires existing SSH ControlMaster socket\n- Socket path: ~/.ssh/sockets/yupeng@sdf.org\n- com command must be available on remote\n- pyte requires correct terminal size (80x24 default)\n","topics":["Feishu","Message"],"tags":{"latest":"2.0.0"},"stats":{"comments":0,"downloads":610,"installsAllTime":23,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1772348902345,"updatedAt":1778491678078},"latestVersion":{"version":"2.0.0","createdAt":1772348902345,"changelog":"SDF COM chatroom to Feishu bridge with real-time message sync, translation, and command relay. Features: SSH socket reuse, COM protocol support, bidirectional EN-ZH translation, Feishu command integration. 2.0.0-patched: added dependency checker, error recovery, and translation handler.","license":null},"metadata":null,"owner":{"handle":"ykaixu","userId":"s177ak3vcr2b3yhj085exdz8kd8857tb","displayName":"YuKaiXu","image":"https://avatars.githubusercontent.com/u/30675834?v=4"},"moderation":null}