Agent banner
Schreezer Schreezer

Agent

Communication community

Description

A direct Telegram interface to Claude Code CLI with intelligent output filtering and seamless chat integration.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Claude Code Telegram Bot

A direct Telegram interface to Claude Code CLI with intelligent output filtering and seamless chat integration.

Features

  • Direct Claude Code Access: All messages route directly to Claude Code CLI (no OpenRouter routing)
  • Intelligent Output Cleaning: LLM-powered filtering removes noise and formats output for mobile chat
  • PTY Session Management: Full terminal emulation supporting Claude Code's interactive features
  • File Upload Integration: Upload files via Telegram and access them in Claude Code sessions
  • Session Persistence: Conversations persist across Claude Code restarts with context preservation
  • Modular Architecture: Clean, maintainable codebase with separated utility components

Current Architecture & Flow

User Message → MessageHandler → ClaudeCodeManager (PTY) → Claude Code CLI
                                        ↓
User ← OutputCleanerService (LLM) ← SessionManager ← Claude Code Output

Directory Structure

openrouter-claude-bot/
├── src/
│   ├── managers/
│   │   ├── ClaudeCodeManager.js    # Claude CLI orchestration via PTY
│   │   └── SessionManager.js       # Session & conversation tracking
│   ├── handlers/
│   │   ├── MessageHandler.js       # Telegram message routing
│   │   └── CallbackHandler.js      # Inline keyboard handling
│   ├── services/
│   │   └── OutputCleanerService.js # LLM-based output filtering
│   ├── utils/
│   │   ├── ClaudeAuthenticator.js  # Claude Code authentication
│   │   ├── PTYSessionHandler.js    # PTY process management
│   │   ├── OutputDetector.js       # Processing state detection
│   │   ├── fileManager.js          # File upload handling
│   │   └── logger.js               # Winston logging
│   └── OpenRouterClaudeBot.js      # Main bot orchestrator
├── config/
│   └── config.js                   # Configuration management
├── telegram-uploads/               # User uploaded files (auto-created)
├── index.js                        # Ent