Streaming Preview:
- Real-time message preview during agent response (like "typing" indicator)
- Supported on Telegram, Discord, and Feishu
- Configurable interval, min delta chars, and max preview length
Rate Limiting:
- Per-session sliding-window rate limiter
- Prevents users from flooding the bot with messages
- Configurable max messages and window size
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove unnecessary fmt.Sprintf wrapper around i18n.T() calls
- Add comprehensive unit tests for core module components
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add proper platform shutdown sequence before engine cleanup and check for canceled context in message processing and session creation to prevent operations during shutdown. Also reordered error collection for logical shutdown sequence.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implement disabled commands functionality for projects, including config parsing, engine integration, and i18n support. Allows disabling specific commands per-project via config.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add banned words configuration and filtering logic to block messages containing prohibited content. Includes:
- Config file support for banned_words list
- Engine methods to set and check banned words
- Case-insensitive matching during message processing
- Localization support for blocked message response
- Documentation updates in config example
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implement session deletion functionality across all agent implementations (claudecode, codex, cursor, gemini)
Add new /delete command with session lookup by ID/prefix
Add i18n support for delete-related messages
Update command help texts to include new delete command
Add SessionDeleter interface for agents supporting deletion
Implement core deletion logic with active session protection
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add i18n support for session creation messages and ensure pending session names are properly set. Includes:
- Added MsgNewSessionCreated and MsgNewSessionCreatedName i18n messages
- Modified cmdNew to use i18n messages and handle empty names
- Set session name from pendingName in processInteractiveEvents if valid
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add config reload capability that updates display settings, providers and commands without restart.
- Added config reload command (/config reload)
- Implemented ConfigReloadResult tracking updates
- Added ClearSource to CommandRegistry
- Updated help messages across languages
- Added SetConfigReloadFunc to Engine
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add new `/upgrade` command to check for updates and self-update the binary:
- Checks releases from both GitHub and Gitee APIs
- Supports semver comparison for version checking
- Downloads and replaces binary automatically (except Windows)
- Includes i18n support for all messages
- Adds Discord slash command integration
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
- Store http.Server instance in APIServer struct for better resource management
- Enhance provider listing with current provider marker and remove bold formatting
- Update i18n strings for provider list titles
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add builtinCommands list and prefix matching functionality for commands/subcommands. Improve session switching by supporting numeric indices. Update help messages and session listing format to reflect these changes. Simplify command parsing by removing redundant slash prefix handling.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Added timeout mechanisms with logging for graceful session closure across multiple agent types (claudecode, codex, cursor, gemini, opencode, qoder). Modified engine cleanup to handle timeouts and improve logging. Sessions now timeout after 8-10 seconds with appropriate warnings/errors.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add context-aware select statements when sending events to prevent blocking on closed channels. Implement secure argument logging using RedactArgs to mask sensitive flags. Add atomic file writes and locks for config safety. Improve session handling with mutex protection and deduplication checks.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add slow operation thresholds and logging for agent/platform operations.
Track and warn on slow agent session start/send/close, first event latency,
and platform send/reply operations. Add turn duration metrics and improve
existing logging with timing information.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
/config:
- Add description for each config item (en/zh)
- Show description in config list and get output
- Improve usage hints with examples
/doctor:
- Localize check names (zh/ja translations)
- Use i18n system for title and summary
- Cleaner output format
Co-Authored-By: Claude <noreply@anthropic.com>
/config command:
- View runtime configuration (thinking_max_len, tool_max_len)
- Update config values with persistence to config.toml
- Short syntax: /config <key> [value]
/doctor command:
- Run system diagnostics and health checks
- Check agent CLI binary and authentication
- Check platform connections
- Check system resources (memory, CPU, disk)
- Check dependencies (git, sqlite3, ffmpeg)
- Check network connectivity to API endpoints
Full i18n support for 5 languages.
Co-Authored-By: Claude <noreply@anthropic.com>
Add support for discovering and invoking agent skills from SKILL.md files:
- Skills are auto-discovered from .claude/skills/<name>/SKILL.md (claudecode)
and .gemini/skills/<name>/SKILL.md (gemini)
- New /skills command to list available skills
- Skills can be invoked via /<skill-name> [args...]
- SKILL.md supports optional YAML frontmatter (description, name)
- Full i18n support for 5 languages
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add support for customizable slash commands that expand prompt templates with arguments. Includes:
- CommandProvider interface for agent-specific command directories
- Command registry with config.toml and agent file support
- Template expansion with placeholders ({{1}}, {{args}}, etc.)
- Dynamic command management via `/commands add/del`
- Multi-language support and documentation
- Example config additions and implementation for Claude/Gemini agents
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Added support for three new languages (Traditional Chinese, Japanese and Spanish) throughout the application including:
- Added new language constants and detection logic
- Updated weekday/month names and cron expression formatting
- Added localized strings for all UI messages
- Implemented language-specific formatting for durations
- Extended language switching command
- Added CJK and Spanish character detection
- Consolidated hardcoded strings into i18n system
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
- Added --stdin support for sending multi-line/special character messages via heredoc
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implemented interactive buttons for permission prompts in Telegram platform:
- Added new `InlineButtonSender` interface for platforms supporting inline buttons
- Created `sendPermissionPrompt` method in Engine that uses buttons when available
- Added Telegram-specific implementation (`SendWithButtons` and callback handling)
- Support both English and Chinese button labels
- Includes fallback to text-only prompts when buttons fail
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implement context compression functionality across agents with `/compress` and `/compact` commands. Adds ContextCompressor interface, command handling in engine, and i18n messages. Supported agents implement CompressCommand() with their specific commands.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add NextRun method to CronScheduler and implement CronExprToHuman for converting cron expressions to localized human-readable strings. Improve cron job listing output with better formatting, localized schedules, next run times, and clearer error reporting.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add model selection capabilities across all agents with:
- ModelSwitcher interface for dynamic model switching
- `/model` command to list/change models
- Default model lists for each agent
- API-based model fetching with fallback
- Session-aware model persistence
- I18n support for model messages
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add new `/status` command that displays system information including:
- Project and agent details
- Connected platforms
- Uptime calculation with i18n formatting
- Current language and session info
- Cron job statistics
Add supporting duration formatting utilities and i18n messages.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add MemoryFileProvider interface and implement in claudecode, codex, and gemini agents
Add /memory command to view/edit memory files with translations
Update help text to include new command
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implement agent system prompts explaining cc-connect capabilities
Add AllowList function for platform user authorization
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add version information display capability including:
- Setting version info (build version, commit, time) at startup
- Adding /version command handler
- Including /version in help messages
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add speech-to-text functionality for voice messages using OpenAI/Groq Whisper API. Includes:
- Configurable speech provider (OpenAI or Groq)
- Audio format conversion via ffmpeg
- Support for voice messages on Feishu, WeChat Work, Telegram, LINE, Discord, Slack
- Internationalization messages for voice transcription flow
- Documentation updates in README and config example
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add multimodal image support to Claude sessions by saving attachments to temp files and sending as base64-encoded content. Implement new CLI `send` command and Unix socket API server for external tools to send messages to active sessions. Image support added across all platforms (Discord, Feishu, Line, Slack, Telegram, WeCom).
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add provider management system allowing dynamic switching between API providers (Anthropic, relay services, AWS Bedrock, etc.) without restarting. Includes:
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add new utility function StripMarkdown to convert Markdown to plain text
for platforms without Markdown support. Integrate into LINE and WeCom
platforms to ensure proper message formatting.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add new Codex agent implementation with permission modes, session management, and history retrieval. Update installation docs, README files, and config templates to reflect Codex support. Enhance session listing and history commands to work with both Claude and Codex agents.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Implement /lang command to view/change interface language (en/zh/auto).
Adds supporting i18n methods and updates help text.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add session listing capability via Agent interface
Implement session persistence in SessionManager
Improve Feishu markdown formatting support
Add verbose logging and error handling
Clean up session switching logic
Support session resume via --resume flag
Add agent session metadata scanning
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
The changes introduce support for managing multiple projects with independent agents and platforms in a single cc-connect process. This includes:
- New [[projects]] array structure in config files
- Updated config validation and parsing logic
- Modified engine to handle per-project routing
- Documentation updates in README files
- Revised config.example.toml structure
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>
Add session switching via /new, /list, /switch commands. Track tool usage events and display summaries. Support both interactive and auto modes for Claude Code agent with tool permissions. Improve README documentation with detailed usage examples and session management features.
generated by llmgit
Co-Authored-By: Claude <noreply@anthropic.com>