Telegram and terminal now share each model's conversation, so you can continue the same chat from either place.
- One fixed model per bot, with separate 20B/Qwen conversations and a shared inference lock.
- Telegram questions and answers appear in the terminal. Terminal questions and answers are delivered to the matching bot after the model finishes responding.
- Shared
/clear, persistent SQLite request queue, conversation history, event journal, and Telegram outbox. - Recovery for interrupted requests, pending replies, reconnects, and clearing a session immediately before restart.
- macOS input redraw fixes preserve text being typed and prevent the previous submitted line from reappearing at the prompt.
- Installer includes the terminal client and history migration tools. Python 3.9+; standard library only.
Validation: 55 automated tests passed on both Python 3.9 and 3.14 for this code. Live 20B/Qwen checks covered both directions, context continuity, clear, restart, and reconnect. Release sources match the deployed bridge.
Upgrade
Download and extract the ZIP, or update your clone. Follow the README's shared-session and migration instructions. Stop older pollers before upgrading, back up private state, preview migrate_history.py when moving old JSON histories, and reinstall each macOS bot instance. Keep bot tokens and state files separate; use the same session database and inference lock for cooperating fixed-model bots.
Telegram delivery is at least once: a crash after Telegram accepts a message but before the local acknowledgement can repeat its last chunk. Model inference runs locally; Telegram transports messages. Photos, voice, documents, and autonomous agent tools are not supported.
한국어
텔레그램과 터미널에서 같은 모델의 대화를 이어갈 수 있습니다. 봇마다 20B·Qwen을 고정하고 대화 기록을 분리하며, /clear는 해당 모델의 양쪽 대화에 적용됩니다. 터미널에서 입력한 질문과 답변은 모델 응답 완료 후 해당 텔레그램 봇으로 전달됩니다. 재접속·재시작 복구와 macOS 입력 표시 문제도 수정했습니다.
봇 토큰·개인 설정·실제 대화 기록·모델 파일은 배포 ZIP에 포함되지 않습니다.
Source commit: 932b9df92d638dd6c2bea5189c467fc45a7e1491