Commit Graph
54 Commits
Author SHA1 Message Date
zxAgent fffc5847ea feat(cursor): implement AvailableModels function to fetch models from agent CLI and add fallback options 2026-03-13 01:19:26 +08:00
q107580018andmac 949cf1a8f1 feat: add usage command for codex oauth (#80)
Co-authored-by: mac <mac@Mac-mini.local>
2026-03-12 19:39:50 +08:00
q107580018andmac cebe23f93c fix: support codex image attachments (#81)
Co-authored-by: mac <mac@Mac-mini.local>
2026-03-12 19:39:28 +08:00
Shawn 17ca997d8e fix(iflow): increase scanner buffer from 1MB to 10MB (closes #71) (#82) 2026-03-12 19:39:16 +08:00
bydsky 6b5657a1ff feat(gemini): fix io hang (#78)
* feat(gemini): fix io hang

* feat(gemini): fix io hang
2026-03-12 14:41:20 +08:00
chenhg5andClaude dcbfdd672c feat(iflow): add configurable tool timeout and reset timer on partial completion
Add toolTimeoutSec field to Agent and Session structs to allow configurable timeout duration.
Reset pending tool timeout timer when partially completing tools.
Increase default timeout from 45s to 180s.
Add tests for timeout behavior and customization.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 07:04:08 +08:00
chenhg5andClaude 8818d3bed1 refactor(agent): optimize scanner buffer sizes
Updated buffer sizes for stdout scanners across all agent sessions:
- Initial buffer size reduced from 1MB to 64KB
- Max buffer size increased from 1MB to 10MB

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 06:34:02 +08:00
chenhg5andClaude 90f0e22f73 fix(core): handle nil cards and improve error handling
Add nil checks for card operations in core engine.
Improve token redaction utility and error handling.
Initialize delete mode state properly.
Fix error message in cc-connect update.
Add missing platform allowFrom checks.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-12 06:28:35 +08:00
q107580018andmac 986faefb4a feat(codex): support reasoning effort switching (#70)
* feat(codex): support reasoning effort switching

* fix(codex): remove unsupported minimal effort

---------

Co-authored-by: mac <mac@Mac-mini.local>
2026-03-11 19:38:00 +08:00
bydsky ab322933c2 feat(gemini): add timeout flag (#62)
* feat(gemini): add timeout flag

* feat(gemini): default to no timeout

* feat(gemini): add config example and log
2026-03-11 15:40:50 +08:00
q107580018andmac 7a34ca4e00 feat(codex): fallback /model list to local models cache (#65)
Co-authored-by: mac <mac@Mac-mini.local>
2026-03-11 11:41:53 +08:00
zhuguanqiandClaude Opus 4.6 931ec32257 fix(claudecode): handle underscores in findProjectDir path matching
Claude Code replaces underscores with hyphens when encoding project
paths as directory names (e.g. sandwichlab_core → sandwichlab-core).
findProjectDir only replaced path separators and colons, causing /list
to return empty for projects with underscores in their path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 11:43:45 +08:00
chenhg5andClaude 1653e9caa3 feat(gemini): buffer assistant messages for classification
Add pendingMsgs buffer to geminiSession to accumulate assistant messages before classifying them as either EventThinking or EventText. This improves message handling by deferring classification until we have context from tool use or result events.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-10 11:14:22 +08:00
chenhg5andClaude 58f7b7068e feat(cursor): add interaction query handling and thinking buffer
Add support for handling interaction queries (webFetch/shell requests) and accumulate thinking deltas in a buffer before emitting completed events. Also adds WebFetch tool call type and debug logging.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-10 10:57:17 +08:00
chenhg5andClaude c77b94d139 feat(codex): add pending message buffering and improved event handling
Add pending message buffer to accumulate agent messages before classification.
Improve event handling with better logging and support for additional event types.
Add helper functions for text extraction and tool input processing.
Handle turn failures and flush messages appropriately for thinking/text events.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-10 10:40:29 +08:00
chenhg5andClaude 1061d82be6 feat(bind): add setup command and system prompt support
Add `/bind setup` command to write relay instructions to memory file.
Implement SystemPromptSupporter interface to detect native prompt support.
Add related i18n messages for setup flow and hint messages.
Update bind command to show setup hint when needed.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-09 21:22:54 +08:00
chenhg5andClaude c70d3eed7e feat(iflow): update CLI flags and preserve quiet state
Updated iFlow CLI integration flags from `-p` to `-i` for interactive mode.
Modified quiet mode handling to preserve state across session stops.
Added shell command support in i18n messages.
Fixed empty tool ID handling in iFlow session.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-08 09:30:28 +08:00
xinyuan0801 64df463e3b iflow: stabilize interactive tool-call turns 2026-03-07 14:16:33 +08:00
xinyuan0801 74b88bc352 feat: add iFlow CLI agent support 2026-03-07 10:26:44 +08:00
chenhg5andClaude fe3306f385 feat(codex): patch session source to make CLI visible
Add patchSessionSource function to rewrite session_meta lines in Codex JSONL transcripts, changing source from "exec" to "cli" and originator to "codex_cli_rs" for CLI visibility. Includes tests for patching behavior and idempotency.

generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-07 08:46:25 +08:00
chenhg5andClaude Opus 4.6 16b028b098 feat(ui): improve status display and fix Feishu message formatting
- Add quiet mode status to /status command with i18n support
- Fix Feishu help command line breaks (use buildPostJSON instead of md tag)
- Improve tool message formatting (code block for long content)
- Strip XML tags from session summary display

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 20:31:37 +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
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
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
TerrencyandClaude Sonnet 4.6 d91f7d3a29 feat(claudecode): add Claude Code Router integration support
Add support for routing Claude Code requests through Claude Code Router,
enabling multi-provider support (OpenRouter, DeepSeek, Gemini, etc.) and
dynamic model switching.

Changes:
- Add router_url and router_api_key configuration options
- Automatically set ANTHROPIC_BASE_URL when router is configured
- Set NO_PROXY, DISABLE_TELEMETRY, DISABLE_COST_WARNINGS for clean integration
- Update documentation with setup guide and usage examples
- Add configuration examples in config.example.toml

The integration is backward compatible - when router_url is not configured,
the agent behaves exactly as before. When configured, all requests are
transparently routed through Claude Code Router.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 16:50:30 +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
cg33 848f22543b Merge remote-tracking branch 'gitee/main' into main 2026-03-04 10:45:29 +08:00
cg33 33dcbbabf3 Merge pull request #8 from kevinWangSheng/feat/opencode-agent
feat(agent): add OpenCode support
2026-03-04 10:08:11 +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 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
shenghui kevin 5d54487237 feat(agent): add OpenCode support
OpenCode (`opencode run --format json`) streams NDJSON events,
similar to the Gemini agent. This wires it up so users can drive
OpenCode from Telegram / Discord / Slack / etc.

- agent/opencode/opencode.go — agent struct, factory, model/mode/provider switching
- agent/opencode/session.go  — subprocess lifecycle, NDJSON event → core.Event mapping
- cmd/cc-connect/main.go     — register the "opencode" agent
2026-03-03 15:55:57 -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 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 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
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 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 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 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 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
chenhg5 be12ca8d36 fix: add filterEnv for CLAUDECODE removal, update INSTALL.md startup guide 2026-03-01 22:32:41 +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 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
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 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 737f4f8c75 feat(claudecode): enhance permission modes with runtime switching
generated by llmgit

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-28 23:44:59 +08:00