Commit Graph
100 Commits
Author SHA1 Message Date
chenhg5 53d5576b4b build: release v1.2.0-beta.5 — streaming preview, typing indicators, markdown rendering, rate limiting
Made-with: Cursor
2026-03-06 11:21:46 +08:00
chenhg5 c953bab72b build: release v1.2.0-beta.4 — streaming preview, typing indicators, markdown rendering, rate limiting
Made-with: Cursor
2026-03-06 11:04:54 +08:00
chenhg5 135f18f23e build: bump npm version to 1.2.0-beta.4 (npm registry conflict on beta.3)
Made-with: Cursor
2026-03-06 11:00:54 +08:00
chenhg5 f1c8a4a214 build: release v1.2.0-beta.3 — streaming preview, typing indicators, markdown rendering, rate limiting
Made-with: Cursor
2026-03-06 10:54:55 +08:00
chenhg5andClaude e40d033c3f feat(engine): enhance session switching and markdown conversion
- Improved `/switch` command to support session names and better matching logic
- Refactored markdown-to-HTML conversion with proper tag nesting and quote escaping
- Added detailed logging for streaming preview operations
- Fixed HTML tag validation in markdown tests
- Updated Telegram platform to handle HTML parsing errors gracefully

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-06 10:30:29 +08:00
chenhg5andClaude 914198e597 refactor(feishu): ignore reaction removal events
Add handler to ignore reaction deletion events similar to existing reaction creation handling.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-06 09:46:03 +08:00
chenhg5andClaude Opus 4.6 b8e8316968 feat: add typing indicator and fix HTML escaping
Typing Indicator:
- Add TypingIndicator interface for "processing" feedback
- Discord: send typing status every 8 seconds
- Telegram: send chat typing action every 5 seconds
- Feishu: add emoji reaction, remove when done

Markdown HTML Escaping:
- Fix HTML special chars (<, >, &) escaping in all contexts
- Use placeholder strategy: extract code/links, escape all, restore

Streaming Preview:
- Remove trailing cursor character from preview messages

Feishu Card:
- Add wide_screen_mode config

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:42:14 +08:00
chenhg5andClaude Opus 4.6 4b26663fd5 feat: improve markdown rendering and streaming preview
Streaming Preview:
- Add freeze() method to pause preview on permission prompts
- Improve finish() logic for better edge case handling

Markdown Rendering:
- Telegram: switch from Markdown to HTML mode with MarkdownToTelegramHTML
- Discord: use code-fence-aware message splitting
- Feishu: dual rendering strategy (card for code/tables, post for text)
- Feishu: support links, italic, strikethrough in inline parsing
- Feishu: use Patch API for card message updates

i18n:
- Use code blocks for permission prompt content
- Simplify button labels (remove emoji)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:14:50 +08:00
chenhg5andClaude Opus 4.6 e5d328d9d6 feat: add streaming preview and rate limiting support
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>
2026-03-06 07:02:37 +08:00
chenhg5andClaude Opus 4.6 00477f25a8 refactor(core): remove redundant fmt.Sprintf and add unit tests
- 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>
2026-03-05 20:56:38 +08:00
chenhg5andClaude f31b3dd9be fix(engine): improve graceful shutdown and context handling
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>
2026-03-05 17:54:39 +08:00
chenhg5andClaude a2a2b2b77b feat(discord): enhance session management commands
Add 'name' command and improve descriptions for session management.
Move 'delete' command to group with other session commands.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 17:42:50 +08:00
chenhg5andClaude c922908e08 docs: update Discord server badge IDs
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 15:04:06 +08:00
chenhg5andClaude b07b18e181 feat(engine): add project-level command disabling support
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>
2026-03-05 14:43:51 +08:00
chenhg5andClaude d6a3a2253e feat: add banned words filter functionality
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>
2026-03-05 13:59:25 +08:00
chenhg5andClaude 0667e970bf feat(agent): add session deletion capability
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>
2026-03-05 13:53:43 +08:00
chenhg5andClaude 958066feaa feat(sessions): improve session creation and naming
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>
2026-03-05 13:12:38 +08:00
chenhg5andClaude 8ba7190256 docs(readme): add community links and badges
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 13:05:44 +08:00
chenhg5andClaude 506061597e feat: add group_replay_all config
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 12:50:51 +08:00
chenhg5andClaude e5b9b35278 feat(alias): add command alias support with config and runtime management
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 10:17:43 +08:00
chenhg5 2ffeb240bd build: release v1.2.0-beta.2 — upgrade/restart/reload commands, session naming, group chat filtering, security hardening 2026-03-05 09:18:21 +08:00
chenhg5 8917f4a2ef feat(session): add /name command, history provider for claude code, and improve list summary\n\n- Add /name command to set custom display names for sessions\n- Implement GetSessionHistory for claude code agent (fixes empty /history after /switch)\n- Change scanSessionMeta to use last user message as summary instead of first\n- Show custom session names in /list, /switch, and /status\n- Persist session names in SessionManager with full i18n support 2026-03-05 09:15:44 +08:00
chenhg5 fcdd11a79b feat(config): add default quiet mode setting at global and project level\n\nAllow users to configure quiet = true globally or per-project to\nsuppress thinking/tool progress messages by default. Project-level\nsetting overrides global. Users can still toggle with /quiet command. 2026-03-05 08:06:11 +08:00
chenhg5andClaude 1bba9e4a97 feat(config): add hot reload functionality for config
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>
2026-03-05 01:26:45 +08:00
chenhg5andClaude c6fd0d6b31 feat(restart): add graceful restart capability with notifications
Add restart functionality triggered by /restart command:
- Persists restart requests across process termination
- Sends success notifications post-restart
- Includes internationalized messages
- Supports Discord slash command
- Uses syscall.Exec for clean restart

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 01:19:19 +08:00
chenhg5andClaude 4797b78823 feat(updater): add self-update command with GitHub/Gitee support
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>
2026-03-05 01:04:15 +08:00
chenhg5andClaude 7e24ec307d feat: add bot mention handling for group messages
Add bot mention requirements for group messages across Discord, Feishu, and Telegram platforms:
- Discord: Only respond when bot is @mentioned in guild channels
- Feishu: Add bot openID detection and mention filtering for group chats
- Telegram: Add group message filtering and mention handling

Includes helper functions for mention stripping and detection.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 00:46:53 +08:00
chenhg5andClaude e6fb09474c refactor(api): store http.Server instance and improve provider listing
- 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>
2026-03-05 00:28:16 +08:00
chenhg5andClaude 216d2ef319 feat(command): add command prefix matching and improve help/session switching
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>
2026-03-05 00:19:38 +08:00
chenhg5andClaude 2c6f9e1831 refactor(cmdList): normalize and truncate summary display
Clean up command list summary display by:
- Replacing newlines with spaces
- Collapsing multiple spaces
- Adding truncation at 40 characters
- Keeping existing empty summary handling

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-05 00:04:18 +08:00
chenhg5andClaude 5e0a192b01 feat(claudecode): add provider proxy support for third-party endpoints
Add local reverse proxy support for third-party Claude providers with:
- Thinking parameter override rewriting
- Bearer token auth compatibility
- Provider clearing functionality
- Configurable thinking modes
- Improved provider management UX
- Enhanced markdown rendering for Feishu

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 23:57:13 +08:00
chenhg5andClaude f2920739d8 feat: add timeout handling for agent session closure
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>
2026-03-04 22:02:54 +08:00
chenhg5andClaude 1e39199720 fix(dingtalk): handle stream start error more accurately
Check for non-nil error before formatting error message to avoid wrapping nil errors.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 12:41:05 +08:00
chenhg5andClaude e8e39413e8 refactor(session): add context-aware event sending and secure arg logging
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>
2026-03-04 12:38:37 +08:00
chenhg5 cfd8004fe6 build: release v1.2.0-beta.1 — custom commands, skills, Discord slash menu, /config, /doctor, slow logs 2026-03-04 10:41:19 +08:00
chenhg5andClaude 57d8ae6fcc feat(engine): add slow operation monitoring and metrics
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>
2026-03-04 10:36:21 +08:00
chenhg5andClaude 698ac48ba7 feat(discord): add slash command support with guild-specific registration
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 10:29:20 +08:00
chenhg5andClaude 905287adb1 refactor: remove hardcoded 200-char truncation in tool input
Remove fixed 200-rune truncation from all agents since truncation
is now handled dynamically via /config (thinking_max_len, tool_max_len).

Affected agents: claudecode, codex, cursor, gemini, qoder

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 10:07:18 +08:00
chenhg5andClaude ab37c5708c feat(i18n): improve /config and /doctor localization
/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>
2026-03-04 10:01:50 +08:00
chenhg5andClaude 1520c20ffc feat: add /config and /doctor commands
/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>
2026-03-04 09:40:47 +08:00
chenhg5andClaude 7764465bc0 feat(cursor): improve session listing with message count and summary
- Add message count display for each session
- Use first user message as summary fallback instead of session ID
- Fix meta value reading (direct TEXT read, not hex() wrapped)
- Add RootBlobID tracking for message blob traversal
- Parse blob protobuf structure to count user/assistant messages

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-04 09:30:20 +08:00
chenhg5andClaude Opus 4.6 ca728fbe70 feat: add SkillProvider support for codex, cursor, qoder agents
Extend skill discovery to remaining agents:
- codex: .codex/skills + .claude/skills + CODEX_HOME/skills
- cursor: .claude/skills (project + home)
- qoder: .claude/skills (project + home)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:02:39 +08:00
chenhg5andClaude Opus 4.6 68b2c7b320 feat: add agent skills discovery and execution
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>
2026-03-04 08:51:54 +08:00
chenhg5andClaude 522f9ff4c9 feat(commands): add custom slash command system with config and file-based commands
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>
2026-03-04 07:34:00 +08:00
chenhg5andClaude Opus 4.6 9a291eb0c3 feat: add daemon mode for running as background service
Add support for running cc-connect as a daemon managed by OS init system:
- Linux: systemd user service
- macOS: launchd LaunchAgent

New CLI commands:
- cc-connect daemon install/uninstall
- cc-connect daemon start/stop/restart/status
- cc-connect daemon logs [-f] [-n N] [--log-file PATH]

Features:
- Auto log rotation with configurable max size
- Cross-platform support (systemd/launchd)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 00:18:55 +08:00
chenhg5andClaude cca838504a feat(qoder): add Qoder CLI agent support
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 22:43:20 +08:00
chenhg5andClaude 55d0d1db42 docs: remove beta labels and references from documentation
The documentation has been updated to remove all beta labels and references, indicating that previously beta features are now considered stable. This includes removing beta installation instructions, updating feature status indicators, and removing beta section headers.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 19:25:02 +08:00
chenhg5andClaude df9f38894d feat(wecom): add proxy authentication support
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 19:14:37 +08:00
chenhg5andClaude e7d67fc87d feat(i18n): add Traditional Chinese, Japanese and Spanish language support
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>
2026-03-03 19:09:45 +08:00
chenhg5andClaude b229ea5801 feat(cc-connect): add --stdin support and improve message sending
- Added --stdin support for sending multi-line/special character messages via heredoc

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-03 18:03:59 +08:00
chenhg5 ac6915e682 build: release v1.1.0 — first stable release with /compress, Telegram inline buttons, /model, /memory, /status 2026-03-03 14:38:30 +08:00
chenhg5andClaude 24ea984569 feat(telegram): add inline buttons for permission prompts
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>
2026-03-03 12:46:44 +08:00
chenhg5andClaude 88e55674a5 feat(core): add context compression support
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>
2026-03-03 09:59:00 +08:00
chenhg5andClaude 8f18225de8 docs: update wechat group image format in README.zh-CN
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 21:55:44 +08:00
chenhg5andClaude 701975d414 docs: improve README with detailed features and architecture
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 21:26:47 +08:00
chenhg5andClaude 5354a1655f feat(cron): enhance job listing with human-readable schedules and improved formatting
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>
2026-03-02 20:50:56 +08:00
chenhg5 1bf2f6f0c0 build: release v1.1.0-beta.7 2026-03-02 19:40:11 +08:00
chenhg5andClaude 9265d2bdff feat(agent): add model switching support with /model command
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>
2026-03-02 19:36:27 +08:00
chenhg5andClaude 63db71a288 feat(engine): add status command with uptime and system info
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>
2026-03-02 19:08:15 +08:00
chenhg5andClaude cf7c7703a4 docs: add Cursor and Gemini CLI permission modes documentation
Add documentation for permission modes of Cursor Agent and Gemini CLI, including config values and behaviors. Also update introduction text to reflect all agents support mode switching.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 18:15:25 +08:00
chenhg5andClaude c05f87759a feat(memory): add /memory command with project/global file support
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>
2026-03-02 18:09:32 +08:00
chenhg5andClaude ae5cc0bfcf docs: add natural language scheduling documentation
Add detailed instructions for enabling natural language scheduling capabilities with cc-connect cron jobs across different agents (Claude Code, Codex, Cursor, Gemini CLI). Includes CLI commands, slash commands, and agent-specific setup guides.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 17:55:10 +08:00
chenhg5andClaude 9515cfa921 ci: add GitHub issue templates for bug reports, feature requests, and integrations
Add structured issue templates to standardize bug reports, feature requests, and integration support requests. Includes templates for:
- Bug reports with version, OS, reproduction steps
- Feature requests with problem/solution descriptions
- Platform/agent integration requests with API details

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 17:44:54 +08:00
chenhg5andClaude 3bcc969209 feat(claudecode): add system prompt support and user allowlist
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>
2026-03-02 17:34:43 +08:00
chenhg5 61b914dd2a chore: ignore RELEASE.md in gitignore 2026-03-02 16:14:55 +08:00
chenhg5 e7cb89698a build: release v1.1.0-beta.6 — QQ platform, cron scheduling, display config 2026-03-02 15:51:50 +08:00
chenhg5andClaude c6a453ef70 feat(display): add configurable message truncation settings
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 15:44:37 +08:00
chenhg5andClaude b4fd9bf940 feat(feishu): add configurable emoji reactions
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 15:19:35 +08:00
chenhg5 70c12c61fe fix: Windows /list shows no sessions due to path colon in project key
On Windows, absolute paths contain ":" (e.g., C:\Users\...) which is
invalid in directory names. Claude Code encodes the project key differently
on Windows. Added findProjectDir() that tries multiple key formats and
falls back to scanning ~/.claude/projects/ with case-insensitive matching.
2026-03-02 14:53:52 +08:00
chenhg5andClaude c33f90cb34 feat(cron): add cron scheduling system with CLI and API support
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 14:35:05 +08:00
chenhg5andClaude cc093f87db feat: add version command and info display
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>
2026-03-02 12:15:11 +08:00
chenhg5andClaude c88d46a973 feat(qq): add QQ platform support via OneBot v11/NapCat
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 11:50:53 +08:00
chenhg5andClaude 7cb23971bf docs: fix markdown image syntax in Chinese README
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-02 10:03:30 +08:00
chenhg5 4657e8ff7e docs(INSTALL): clarify global config path ~/.cc-connect/config.toml 2026-03-01 22:36:36 +08:00
chenhg5 be12ca8d36 fix: add filterEnv for CLAUDECODE removal, update INSTALL.md startup guide 2026-03-01 22:32:41 +08:00
chenhg5 38761a26ed build: release v1.1.0-beta.5 — Gemini CLI + Cursor Agent support 2026-03-01 21:47:54 +08:00
chenhg5andClaude b6f2a25505 feat(gemini): add Gemini CLI agent support
Add support for Google Gemini CLI as a new agent type. Includes:
- New gemini agent implementation with session management

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 21:39:28 +08:00
chenhg5andClaude ed8778b99e feat(agent): add Cursor Agent integration with CLI support
Add full integration for Cursor Agent with support for CLI interactions via `agent --print --output-format stream-json`. Includes:
- New cursor package with Agent and Session implementations

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 19:28:41 +08:00
chenhg5andClaude 670e2a6665 docs(INSTALL): add beta version installation instructions
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 14:08:32 +08:00
chenhg5andClaude 8f0137f127 docs: add beta version installation instructions
Add instructions for installing beta version in both English and Chinese READMEs. Fix Chinese README image syntax.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 13:58:00 +08:00
chenhg5andClaude fb6c65941f feat(run): add auto-reinstall logic for outdated binaries
Add version check and automatic reinstallation when binary is missing or outdated. Improve error handling and user feedback.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 13:41:56 +08:00
chenhg5 7687ff3116 fix(npm): check binary version on install, replace outdated binary instead of skipping 2026-03-01 13:24:06 +08:00
chenhg5 edb5675807 docs: mark beta features in README and INSTALL.md 2026-03-01 13:10:35 +08:00
chenhg5 35e2d7ec91 build: release v1.1.0-beta.3 — voice messages, image support, CLI send 2026-03-01 12:59:10 +08:00
chenhg5andClaude 8098e85c1d refactor(wecom): wrap media handling in goroutines
Move media download and handler calls into goroutine closures to prevent blocking.
This ensures the HTTP request completes while processing continues async.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 12:55:43 +08:00
chenhg5andClaude f75da06fee feat(speech): add voice message support with Whisper API and ffmpeg integration
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>
2026-03-01 12:29:40 +08:00
chenhg5andClaude 4871157250 feat(claude): add image support and CLI API server for sending messages
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>
2026-03-01 12:08:00 +08:00
chenhg5 84701f2366 docs: update CHANGELOG for v1.1.0-beta.2 2026-03-01 11:19:12 +08:00
chenhg5 bdcc07e896 build: bump version to v1.1.0-beta.2 2026-03-01 11:13:18 +08:00
chenhg5andClaude dd0aa0c06b fix(gitignore): stop ignoring cmd/cc-connect/ directory
The pattern 'cc-connect' in .gitignore was matching directories at any
depth, which inadvertently excluded cmd/cc-connect/. Changed to
'/cc-connect' to only match the binary at the repo root.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 11:10:13 +08:00
chenhg5andClaude ba70b78127 docs(readme): update supported agents and platforms list
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 10:53:16 +08:00
chenhg5 de11b4653b build: bump version to v1.1.0-beta.1 2026-03-01 10:43:14 +08:00
chenhg5 5f1de33f54 docs: add CHANGELOG and upgrade instructions to READMEs 2026-03-01 10:43:04 +08:00
chenhg5andClaude 6ba2704ce5 feat(provider): add runtime API provider switching support with CLI and chat commands
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>
2026-03-01 10:31:43 +08:00
chenhg5andClaude 048563b352 feat(markdown): add StripMarkdown utility for LINE and WeCom
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>
2026-03-01 09:36:37 +08:00
chenhg5andClaude 794616d64e docs(INSTALL): add upgrade instructions
Add detailed upgrade instructions covering npm, binary, and source installations, including version check and process restart notes.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 09:25:55 +08:00
chenhg5andClaude e22a6028f4 feat(codex): add OpenAI Codex agent support with docs and config updates
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>
2026-03-01 09:20:38 +08:00
chenhg5andClaude b4329636e5 feat(core): add language switching command
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>
2026-03-01 03:06:38 +08:00
chenhg5andClaude 31715b424d docs: simplify README screenshots section
Removed multiple screenshots and kept only the Discord example for cleaner presentation.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 03:00:20 +08:00
chenhg5andClaude 7defa51809 docs: update screenshot width values in READMEs
Changed image width attributes from fixed px values to percentage-based values (32%) in both English and Chinese README files for better responsive display.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-01 02:57:27 +08:00