Beta release with embedded web admin, Discord proxy support, multimodal fixes, and major platform improvements.
- Embedded Web Admin: Web frontend is now compiled into the binary via
go:embed— no separatenpm installneeded. Use/web setupto configure, or build withno_webtag to exclude. Binary size increases ~1MB (#356) - Web Admin Dashboard: Full-featured management UI with project CRUD, session management, cron job editor, global settings, chat interface with bridge WebSocket, slash commands, and i18n (en/zh/zh-TW/ja/es) (#316)
- Discord Proxy Support: Discord platform now supports
proxy,proxy_username,proxy_passwordoptions for HTTP API and WebSocket Gateway connections - Feishu Progress Styles: Configurable progress display styles (compact/card) to reduce message spam
- Claude Code Auto-Permission Mode: New
autopermission mode for Claude Code agent (#329) - WeCom File Receiving: WeCom HTTP callback now supports receiving files and forwarding them to the agent (#330)
- Outgoing Rate Limiting: Per-platform outgoing message rate limiting
- Telegram Forum Topics: Migrated to
go-telegram/botlibrary with forum topic support (#321) - Global Settings UI: Expose global configurations (language, quiet, display, stream preview, rate limit, log) in the web admin
- Gemini Image Handling: Save attachments to workspace directory instead of
/tmpso Gemini CLI tools can access them; use prompt-based file references instead of unsupported--imageflag - Security: Mask bridge token in
/api/v1/statusendpoint; add path traversal protection for static file serving - Codex: Fix multiline prompt preservation on resume (#341); force kill session process group on stop (#340)
- Session Recycling: Wait for old session to close before creating new one (#352)
- Discord: Harden session routing and remove implicit continue bridge (#322); execute slash commands when defer fails (#300)
- Slack: Pass file uploads to agent (#296)
- Telegram: UTF-8-safe command menu descriptions (#301)
- WeCom: Strip @bot mentions from inbound text (#303)
- Daemon: macOS launchd do not respawn on clean exit (#304)
- Core: Route workspace model changes through session context (#339); outgoing rate limit refinements and i18n tightening
- Config:
formatTOMLno longer strips user-set zero values (e.g.quiet = false)
- CI: Add Node.js setup for web frontend build in CI pipeline; use
no_webtag for e2e/smoke tests - Tests: Expanded coverage across agents, config, and core packages
- Selective Compilation: Added
no_webbuild tag to exclude web assets from binary
Special thanks to all contributors who made this release possible:
- cg33 — Embedded web admin, Discord proxy, Gemini fix, security hardening
- xxb — Discord session routing fix, codex process kill, workspace reconnect (#322, #340, #315)
- dev-null-sec — Codex multiline prompt fix (#341)
- xukp20 — Workspace model routing (#339)
- zhengbuqian — Telegram go-telegram/bot migration and forum topics (#321)
- huangdijia — Claude Code auto permission mode (#329)
- buddhism5080 — Discord file sending (#307)
Beta release with Weixin (ilink) personal chat support, session/continue improvements, and platform fixes.
- Weixin Personal (ilink): New platform with long-poll
getUpdates/sendMessage, QRweixin setup, CDN decrypt for inbound media andImageSender/FileSenderoutbound (#257) - Telegram: Voice/audio reply support (#225) and async startup recovery
- Discord:
@everyone/@herebroadcast support (#132) - Cron: Optional new session per run and per-job timeout (#236)
- Claude Code:
disallowed_toolsconfiguration option (#232) - Auto-Compress: Compress context when estimated tokens exceed threshold (#231)
- Continue / Sessions: Fork session on
--continueto avoid context contamination (#244); replace persistedContinueSessionsentinel with real agent session id; reserve CLI--continuebridge for real user traffic - Core:
/dirdirectory history;/modelswitching aligned with provider flow (#246) - Providers: MiniMax M2.7 high-speed model added to example configs (#217)
- Weixin: Harden send path (empty body skip, response body cap, dedup keys, multi-voice segments); treat
sendMessageJSONret != 0as failure so quota/API errors surface correctly - Feishu: Always reply to the original message; dispatch message handling asynchronously (#57)
- Codex: Mode switch and
--jsonflag position fixes (#240, #239) - Multi-Workspace: Workspace command prefix missing leading slash (#135)
- Non-Claude Agents: Ignore
ContinueSessionsentinel where inappropriate (#244 follow-up) - npm / Update: Version sync after update; pre-release version comparison normalization
- Tests: Expanded coverage across
config,core, agents, and platforms - Logging / Errors: Additional error logging in several code paths
Special thanks to all contributors who made this release possible:
- cg33 — Weixin ilink platform, setup CLI, and CDN media (#257)
- Shawn — Feishu async dispatch and reply-to-original fixes (#57)
- quabug — Discord broadcast and non-Claude ContinueSession handling (#132, #244)
- huluma1314 — Auto-compress when token threshold exceeded (#231)
- Leigh Stillard — Fork session on
--continue(#244) - Deeka Wong — Telegram audio replies and core
/modelprovider flow (#225, #246) - q107580018 — Telegram async startup recovery
- just4zeroq — Codex mode and JSON flag fixes (#240)
- 术士木星 — Cron session-per-run and job timeout (#236)
- hushicai — Claude
disallowed_tools(#232) - Octopus — MiniMax M2.7 high-speed in examples (#217)
- alinnb —
/dirdirectory history - Claude — Continue-session bridge fixes, auto-compress/cron edge cases, Weixin send hardening and API error handling, and broad test improvements
Beta release with major multi-user mode, improved workspace stability, and platform enhancements.
- Multi-User Mode: Per-user rate limits, role-based ACL (allow_from/admin_from), and audit logging
- ImageSender: Unified image sending support for 6 platforms (Feishu, Telegram, Discord, Slack, DingTalk, QQ)
- MiniMax M2.7: Upgraded default model from M2.5 to M2.7 for improved reasoning
- /whoami Command: Display user ID for allow_from/admin_from configuration
- /btw Command: Inject messages into busy sessions without interrupting
- /dir Command: Dynamic runtime work directory switching
- Cron Muting: Mute/unmute cron jobs with platform wrapper and UI integration
- Interrupt Support: Send interrupt signal to agent sessions (Ctrl+C equivalent)
- CORS Support: Cross-origin requests enabled for Bridge API
- Message Queuing: Queue messages when agent is busy instead of discarding
- QQ Bot Markdown: Full Markdown message support for QQ Bot
- Workspace Session Persistence: Sessions now persist to disk in multi-workspace mode
- Race Conditions: Multiple data race fixes (adminFrom, degraded field, userRolesMu)
- Memory Leaks: Fixed pendingAcks leak on WeCom WebSocket disconnect, goroutine leaks
- i18n: Complete translation coverage for error messages
- Relay Timeout: Return partial text after timeout instead of error
- QQ Bot Reconnect: Handle nil wsConn on failed reconnect
- Message Queue: Extracted message queue handling into dedicated method
- Cron UX: Improved human-readable cron expressions
- Slack: Typing indicator, file download error handling, auth diagnostics
- Provider Config:
modelslist for per-provider model selection via alias - Build: Test infrastructure with P0/P1分层测试targets
Special thanks to all contributors who made this release possible:
- sean2077 - Multi-user mode, ACL, and audit logging
- 0xsegfaulted - Multi-workspace fixes and interrupt support
- octo-patch - MiniMax M2.7 upgrade
- windli2018 - Bridge CORS support
- jenvan - CORS fixes
Beta release with significant improvements to agent stability, platform onboarding, and user experience.
- Feishu/Lark CLI Onboarding: New
cc-connect feishu setupcommand with QR code terminal display for quick bot configuration, supporting both new bot creation and existing bot binding - Pi Agent: Added support for Pi coding agent with full session management and tool handling
- Session TUI Browser: New
cc-connect sessionssubcommand with terminal UI for browsing session history - Multi-Workspace Mode: Channel-based workspace resolution with auto-binding by convention and interactive init flow
- Design Documentation: Added comprehensive design plans for multi-workspace and session resilience features
- Slack Enhancements: Typing indicator via emoji reactions, mrkdwn formatting guidance in system prompt
- Session Resilience: Automatic
--continueon first connection, resume-failure fallback, and context usage indicators - Management API: HTTP REST API endpoints for external management tools with WebSocket bridge support
- Cron Setup Command:
/cron setupfor easy cron job configuration with memory file integration
- RateLimiter Goroutine Leak: Fixed cleanup goroutine not stopped on replacement and engine shutdown
- DrainEvents Infinite Loop: Fixed infinite loop when channel is closed in
drainEvents - InteractiveKey Consistency: Fixed
executeCardActionusing wrong key forinteractiveStateslookup in multi-workspace mode - Workspace Command Prefix: Fixed missing leading slash in workspace command prefix check
- Agent Session Close: Always close events channel on session timeout to prevent goroutine leaks
- Pi Agent Mutex: Move thinking field read inside mutex in
StartSessionto prevent race condition - Session AgentID Protection: Protect
Session.AgentSessionIDwrites with mutex to prevent data races - Session Routing Race: Prevent session routing race when
/newruns during active turn - Discord Duplicate Messages: Deduplicate gateway
MessageCreateevents causing duplicate responses - Codex JSON Lines: Handle large stdout JSON lines without scanner buffer overflow
- UTF-8 Safety: Use rune-based splitting in
splitMessageto prevent invalid UTF-8 sequences
- Gemini Display: Enhanced tool display with diff syntax highlighting and improved Telegram markdown rendering
- Thread Safety: Added comprehensive thread-safe accessors for Session fields
- Test Engine: Thread safety improvements to test engine and fixed test assertions
- Input Validation: Consolidated interactive state cleanup and added input validation
- i18n: Updated rate limit messages to mention
/btwcommand for adding context during processing
Special thanks to all contributors who made this release possible:
- kevinWangSheng - Multiple critical bug fixes (RateLimiter, drainEvents, UTF-8 safety, session routing)
- q107580018 - Feishu CLI onboarding with QR code integration
- sean2077 - Session TUI browser and sessions management
- quabug - Pi agent implementation and Discord fixes
- AtticusZeller - Gemini tool display and Telegram markdown enhancements
- leighstillard - Multi-workspace design, session resilience, and Slack improvements
- Shawn - Thread safety fixes and test improvements
- zhuguanqi - Session management and data race fixes
- Steve-Rye - JSON lines handling improvements
- Xihui He - iFlow and agent enhancements
- Mr.QiuW - Various platform improvements
Beta release with major new features and security improvements.
/usageCommand: Add a built-in quota usage command with a generic agent usage-reporting interface; Codex now supports ChatGPT OAuth usage lookup via~/.codex/auth.json- Feishu Interactive Cards: Beautiful card-based UI for slash commands (/help, /list, /status, etc.) with tabbed navigation and in-place updates
- Lark Platform Support: Added support for Lark (飞书国际版) with proper domain handling
- Codex Reasoning Effort: New
/reasoningcommand to switch reasoning effort levels (low/medium/high) - Codex Model Cache Fallback:
/modelcommand now falls back to local~/.codex/models_cache.jsonwhen API is unavailable - Gemini Timeout Config: New
timeout_minsoption to configure per-turn timeout for Gemini agent - Batch Session Deletion:
/deletenow supports comma lists, ranges, and mixed forms for batch deletion - TTS Support: Text-to-speech with Qwen and OpenAI providers
- Admin Privilege System: Admin-only commands for privileged operations
- iFlow Tool Timeout: Configurable tool timeout and reset timer on partial completion
- Card-based Permission Prompts: Permission requests now use interactive cards with callback support
- Shared Session Support: Share sessions across all platforms with
share_session_in_channeloption
- Security Hardening: Socket permissions tightened (0600), token redaction in logs, warning for open
allow_from - Slack @mention Support: Fixed AppMentionEvent handling for channel @mentions
- Update Fallback: Self-update now falls back to .tar.gz/.zip archive when bare binary returns 404
- Skill Symlink: Fixed skill directory scanning to follow symbolic links
- QQBot Error Handling: Added error logging for json.Unmarshal and WriteJSON calls
- Claude Code Path: Fixed underscore handling in findProjectDir path matching
- Daemon Config Flag: Support daemon install with config file path
- Message Tracing: Added message tracing and threaded replies
- Scanner Buffer: Optimized scanner buffer sizes for large outputs
Patch release with bug fixes and minor enhancements.
- Engine: Idle Timer During Permission Wait - Stop idle timer while waiting for user permission response to prevent session termination
- Feishu: Nil Pointer Checks - Add nil checks for
SenderId.OpenIdandmsg.Contentto prevent panics - Feishu: URL Validation - Validate URLs before creating hyperlinks to prevent rejection of non-HTTP(S) URLs
- Cron: Error Logging - Log
json.Unmarshalerrors instead of silently ignoring when cron file is corrupted - Engine: Stale Event Prevention - Add
drainEventsutility to clear buffered events between turns
- Bind Setup Command -
/bind setupwrites relay instructions to memory file for better bot-to-bot relay configuration
This is the first stable release of cc-connect 1.2.0, consolidating all beta changes and adding new features.
- Official QQ Bot Platform: Native integration with Tencent's official QQ Bot Platform via WebSocket, supporting text, image, and document messages
- iFlow CLI Agent: Full support for iFlow CLI agent with interactive tool-call handling and mode switching
- Shell Command Execution: Custom commands can execute shell commands directly with
execfield in config - Telegram Bot Menu: Auto-register bot command menu on startup for better discoverability
- DingTalk Reply Preprocessing: Improved markdown content preprocessing for reply messages
- Multi-Bot Relay Persistence: Relay bindings now persist across restarts with improved binding messages
- Quiet Mode:
/quietnow supports both per-session and global scope modes - Compression Command: Improved
/compresscommand handling and code refactoring - i18n: Added new message keys and improved command formatting
- Bot-to-Bot Relay: Forward messages between different messaging platforms
- Streaming Preview: Real-time message preview on Telegram, Discord, and Feishu
- Typing Indicators: Visual processing feedback on supported platforms
- Session Search: Search sessions by name, ID prefix, or summary
- Custom Slash Commands: Define reusable prompt templates
- Agent Skills Discovery: Auto-discover and invoke user-defined skills
- Daemon Mode: Run as background service with systemd/launchd support
- Rate Limiting: Per-session sliding-window rate limiter
- Command Aliases: Define shortcut aliases for commands
- Self-Update: In-place binary updates with auto-restart
- And many more improvements and bug fixes...
- Multi-Bot Relay Binding:
/bindnow supports binding multiple bots in a group chat; use/bind <project>to add,/bind -<project>to remove specific project - System-level Systemd: Daemon mode now supports system-level systemd (
/etc/systemd/system/) when running as root, useful for servers and containers - Config Example Command:
cc-connect config-exampleprints embedded config template for quick reference - Interactive Command Buttons:
/lang,/model,/modecommands now show interactive button menus for easy selection - Exec Commands: Custom commands can execute shell commands directly with
execfield in config - Configurable Idle Timeout: Agent idle timeout can be configured via
idle_timeout_minsin config
- Daemon Error Messages: Improved systemd detection and error messages for WSL2, containers, and SSH environments
- Codex CLI Visibility: Patched codex session source to make CLI output visible
- Streaming Preview: Fixed stale preview messages when streaming degrades
- Bot-to-Bot Relay: Forward messages between different messaging platforms via CLI (
cc-connect relay) and internal API; enables cross-platform bot communication - Session Search: Search sessions by name, ID prefix, or summary with
/search <keyword>command - List Pagination:
/listnow supports pagination with--pageand--page-sizeflags for large session counts - Per-Platform Streaming Preview Control: Configure streaming preview per platform via
streaming_previewsetting (Telegram, Discord, Feishu) - Silent Cron Mode: Suppress cron job notification messages with
silent = truein cron job config - Voice Qwen Mode: Voice function now supports Qwen audio model for speech-to-text
- Feishu Three-Tier Rendering: Intelligent markdown rendering strategy — simple text uses plain messages, rich markdown uses Post, code blocks/tables use Card
- Status Display: Improved
/statuscommand output with better formatting and Feishu message rendering fixes - Self-Update: Auto-restart after update; added Gitee mirror support for Chinese users
- Windows Self-Update: Full Windows support for in-place binary updates
- Message Splitting: Improved boundary checks for cleaner message chunking
- Platform Startup: Better error handling and logging during platform initialization
- Session Switch i18n: Added translation for session switch success message
- Idle Session Timeout: Added timeout for unresponsive agent sessions to prevent hangs
- Streaming Preview: Removed
maxCharscheck that caused premature preview termination - Message Deduplication: Deduplicate messages by process start time to prevent duplicate processing
- Streaming Preview: Real-time message preview that updates in-place as the agent streams output; supported on Telegram, Discord, and Feishu with configurable interval, min delta, and max length
- Rate Limiting: Per-session sliding-window rate limiter to prevent message flooding; configurable
max_messagesandwindow_secs - Typing Indicators: Visual processing feedback — Telegram/Discord show native typing action, Feishu adds emoji reaction (auto-removed on completion)
- Command Aliases: Define shortcut aliases for commands (
[[aliases]]in config.toml or/alias add); e.g. map "帮助" → "/help" - Banned Words Filter: Block messages containing configured sensitive words (
banned_wordsin config.toml) - Project-level Command Disabling: Disable specific commands per project via
disabled_commandsconfig - Session Deletion: Delete sessions with
/delcommand /switchFuzzy Matching: Switch sessions by name, ID prefix, or summary substring in addition to numeric index
- Streaming Preview + Tool Messages UX: In non-quiet mode, when thinking/tool messages are sent, the streaming preview freezes and the final response is delivered as a new message at the bottom of the chat (instead of silently updating an older message above the tool messages)
- Telegram Markdown→HTML: Full Markdown-to-HTML conversion with proper escaping, placeholder-based tag nesting, and automatic fallback to plain text on parse errors
- Discord Code-Fence-Aware Splitting: Message chunking now respects code block boundaries, closing and re-opening fences across splits
- Feishu Dual Rendering: Simple markdown uses Post messages (normal font), code blocks/tables use Card messages (native rendering); matches Claude-to-IM's approach
- Feishu Permission Interaction: Confirmed WebSocket mode incompatibility with card button callbacks; uses text-based
/permcommands (consistent with Claude-to-IM) - Session Creation & Naming: Improved session naming with last user message as summary
- Graceful Shutdown: Improved context handling and lock release during shutdown
- Unit Tests: Added ~50 new test cases covering markdown conversion, message splitting, session management, and engine logic
- Telegram HTML Crossed Tags: Fixed
<b><i>...</b></i>nesting issues by using placeholder-based formatting pipeline - Telegram HTML Attribute Escaping: Fixed
"in URLs breaking<a href>attributes (escape to") - Telegram Duplicate Messages: Fixed duplicate sends caused by streaming preview optimization skipping final HTML update
- Streaming Preview Cursor: Removed trailing
▍cursor from final messages - Feishu Message Recall: Unified preview and final message types to Card, eliminating unnecessary delete-and-resend
- Feishu Reaction Cleanup: Register empty handler for
im.message.reaction.deleted_v1to suppress error logs fmt.SprintfWarnings: Remove non-constant format strings flagged bygo vet
/upgradeCommand: Check for available updates (including beta) and self-update the binary in-place; queries both GitHub and Gitee releases/restartCommand: Restart cc-connect service from chat with post-restart success notification/config reloadCommand: Hot-reload configuration (display, providers, commands) without restarting/nameCommand: Set custom display names for sessions (e.g./name my-feature,/name 3 bugfix); names persist across restarts and show in/list,/switch,/status- Default Quiet Mode: Configure
quiet = trueglobally or per-project in config.toml to suppress thinking/tool progress by default; users can still toggle with/quiet - Command Prefix Matching: Type shortened commands like
/pro lfor/provider list,/sw 2for/switch 2; works for all commands and subcommands - Numeric Session Switching:
/listshows numbered sessions;/switch 3switches by number instead of copying long IDs - Group Chat Mention Filtering: Feishu, Discord, and Telegram bots now only respond to @mentions in group chats instead of all messages
- Claude Code Router Support: Integration with Claude Code Router for enhanced routing capabilities
- Third-party Provider Proxy: Local reverse proxy rewrites incompatible
thinkingparameters for third-party LLM providers (e.g. SiliconFlow)
- Session History for Claude Code:
/historynow works after/switchby reading from agent JSONL files - List Summary:
/listnow shows the most recent user message as summary instead of the first - Session Names in UI: Custom session names display with 📌 prefix in
/list,/switch,/status - API Server Shutdown: Clean shutdown without "use of closed network connection" error
- Agent Session Timeouts: 8-second graceful shutdown timeout for all agent sessions with kill fallback
- Feishu Rich Text: Use Post (rich text) messages instead of Interactive Cards for normal font size
- DingTalk Startup: Fix false startup failure when stream client returns nil error
- Deadlock on /new and /switch: Release lock before async agent session close to prevent hangs
- Provider Command: Correctly list providers when no active provider is set
- Unknown Command Handling: Show i18n-friendly warning and fall through to agent for native commands
- Race Condition Fixes:
sync.Oncefor channel close, mutex protection for concurrent fields, non-blocking event sends - Atomic File Writes: Config, session, and cron files use temp+rename pattern
- Message Deduplication: Platform-level dedup for Feishu and DingTalk webhooks
- HTTP Client Timeouts: Shared 30s-timeout HTTP client for all outbound requests
- Path Traversal Protection: Validate command file paths
- Sensitive Data Redaction: Redact API keys and tokens in logs
- Custom Slash Commands: Define reusable prompt templates as global slash commands (
[[commands]]in config.toml or/commands add); supports positional parameters ({{1}}), rest parameters ({{2*}}), default values ({{1:default}}), and runtime add/del/list - Agent Skills Discovery: Auto-discover and invoke user-defined skills from agent directories (e.g.
.claude/skills/<name>/SKILL.md); list with/skills, invoke with/<skill-name> [args]; supports all agents (Claude Code, Cursor, Gemini, Codex, Qoder) /configCommand: View and modify runtime configuration (e.g.thinking_max_len,tool_max_len) from chat, with persistent save toconfig.toml/doctorCommand: Run system diagnostics covering agent authentication, platform connectivity, system resources, dependencies, and network latency; fully i18n-supported- Discord Slash Commands: Register native Discord Application Commands so typing
/shows an autocomplete menu; supports per-guild instant registration viaguild_idconfig - Daemon Mode: Run cc-connect as a background service (
cc-connect daemon install/start/stop/status/logs); supports systemd (Linux) and launchd (macOS) - Qoder CLI Agent: Full support for the Qoder coding agent with streaming JSON, mode switching, and model selection
- Telegram Proxy: Support HTTP/SOCKS5 proxy for Telegram bot API connections
- WeChat Work Proxy Auth: Add
proxy_username/proxy_passwordfor authenticated forward proxies - i18n Expansion: Add Traditional Chinese (zh-TW), Japanese (ja), and Spanish (es) language support
--stdinSupport: Read prompt from stdin for CLI usage (echo "hello" | cc-connect send --stdin)
- Slow Operation Monitoring: Warn-level logs for slow platform send (>2s), agent start (>5s), agent close (>3s), agent send (>2s), and agent first event (>15s); turn completion logs now include
turn_duration tool_max_len=0Fix: Remove hardcoded 200-char truncation in all agent sessions (Claude Code, Cursor, Codex, Gemini, Qoder), making the user-configurabletool_max_lensetting authoritative- Cursor
/listImprovements: Parse binary blob structure to show accurate message counts and first user message summary
- Telegram proxy: Only override
http.Transportwhen proxy is actually configured - Discord interaction fallback: Gracefully fallback to channel messages when interaction token expires
/compressCommand: Compress/compact conversation context by forwarding native commands to agents (Claude Code/compact, Codex/compact, Gemini/compress); keeps long sessions manageable- Auto-Compress: Added optional automatic context compression when estimated token usage exceeds a configurable threshold (
[projects.auto_compress]). - Telegram Inline Buttons: Permission prompts on Telegram now use clickable inline keyboard buttons (Allow / Deny / Allow All) instead of requiring text replies
/modelCommand: View and switch AI models at runtime; supports numbered quick-select and custom model names. Fetches available models from provider API in real-time (Anthropic, OpenAI, Google), with built-in fallback list/memoryCommand: View and edit agent memory files (CLAUDE.md, AGENTS.md, GEMINI.md) directly from chat; supports both project-level and global-level (/memory global)/statusCommand: Display system status including project, agent, platforms, uptime, language, permission mode, session info, and cron job count
- Cron list display: Multi-line card-style formatting with human-readable schedule translations and next execution time
- Model switch resets session: Switching model via
/modelnow starts a fresh agent session instead of resuming the old one, preventing stale context from affecting the new model - Permission modes docs: README now documents permission modes for all four agents (Claude Code, Codex, Cursor Agent, Gemini CLI)
- Natural language scheduling docs: INSTALL.md now explains how to enable cron job creation via natural language for non-Claude agents
- README revamp: Redesigned project header with architecture diagram, feature highlights, and multi-agent positioning
- Gemini
/listsummary: Fixed session list showing raw JSON ({"dummy": true}) instead of actual user message summary - GitHub Issue Templates: Added structured templates for bug reports, feature requests, and platform/agent support requests
(see v1.1.0 above — beta.7 changes are included in the stable release)
- QQ Platform (Beta): Support QQ messaging via OneBot v11 / NapCat WebSocket
- Cron Scheduling: Schedule recurring tasks via
/croncommand or CLI (cc-connect cron add), with JSON persistence and agent-aware session injection - Feishu Emoji Reaction: Auto-add emoji reaction (default: "OnIt") on incoming messages to confirm receipt; configurable via
reaction_emoji - Display Truncation Config: New
[display]config section to control thinking/tool message truncation (thinking_max_len,tool_max_len); set to 0 to disable truncation /versionCommand: Check current cc-connect version from within chat
- Windows
/listfix: Claude Code sessions now discoverable on Windows despite drive letter colon in project key paths - CLAUDECODE env filter: Prevent nested Claude Code session crash by filtering CLAUDECODE env var from subprocesses
- Clarified global config path
~/.cc-connect/config.tomlin INSTALL.md - Fixed markdown image syntax in Chinese README
- Gemini CLI Agent: Full support for
geminiCLI with streaming JSON, mode switching, and provider management - Cursor Agent: Integration with Cursor Agent CLI (
agent) with mode and provider support
- Fixed npm install: check binary version on install, replace outdated binary instead of skipping
- Added auto-reinstall logic for outdated binaries in
run.js
- Voice Messages (STT): Transcribe voice messages to text via OpenAI Whisper, Groq Whisper, or SiliconFlow SenseVoice; requires
ffmpeg - Image Support: Handle image messages across platforms with multimodal content forwarding to agents
- CLI Send:
cc-connect sendcommand and internal Unix socket API for programmatic message sending - Message Dedup: Prevent duplicate processing of WeChat Work messages
- Provider Management:
/providercommand for runtime API provider switching; CLIcc-connect provider add/list - Configurable Data Dir: Session data stored in
~/.cc-connect/by default (configurable viadata_dir) - Markdown Stripping: Plain text fallback for platforms that don't support markdown (e.g. WeChat)
- Codex Agent: OpenAI Codex CLI integration
- Self-Update:
cc-connect updateandcc-connect check-updatecommands - I18n: Auto-detect language,
/langcommand to switch between English and Chinese - Session Persistence: Sessions saved to disk as JSON, restored on restart
- Bug fixes and stability improvements
- Initial release
- Claude Code agent support
- Platforms: Feishu, DingTalk, Telegram, Slack, Discord, LINE, WeChat Work
- Commands:
/new,/list,/switch,/history,/quiet,/mode,/allow,/stop,/help