Commit Graph

460 Commits

Author SHA1 Message Date
xintaofei
576944ac1f # Release version 0.6.7
- feat: add export conversation to image, markdown, and HTML formats.
- feat: add copy button on hover for user messages in conversation.
- feat: add favicon for web/server mode browser tabs.
- chore: upgrade sacp to 11.0.0 stable and agent-client-protocol-schema to 0.11.
- chore: bump ACP agent SDK versions in registry.
-----------------------------
# 发布版本 0.6.7

- 新增:支持将会话导出为图片、Markdown 和 HTML 格式;
- 新增:用户消息悬停时显示复制按钮;
- 新增:Web/服务器模式浏览器标签页显示 favicon;
- 升级:sacp 升级至 11.0.0 稳定版,agent-client-protocol-schema 升级至 0.11;
- 升级:更新注册表中 ACP agent SDK 版本。
2026-04-03 23:47:51 +08:00
xintaofei
32a1c5adc0 fix: improve error message when exporting long conversations as image
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 23:38:25 +08:00
xintaofei
40d0a4b995 fix: disable "auto" config option for Claude Code to prevent errors
Claude Code errors when setting config options to "auto". Strip "auto"
values from config options returned to frontend and skip set requests
with "auto" value for Claude Code agent.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:54:48 +08:00
xintaofei
ac0d849a7b chore: upgrade sacp to 11.0.0 stable and agent-client-protocol-schema to 0.11
- Upgrade sacp/sacp-tokio from 11.0.0-alpha.1 to 11.0.0 stable
- Upgrade agent-client-protocol-schema from 0.10 to 0.11
- Rebase vendor/sacp-tokio patches (kill_tree, CREATE_NO_WINDOW, stderr
  truncation) onto official 11.0.0 baseline
- Adapt renamed types: FileSystemCapability → FileSystemCapabilities,
  KillTerminalCommandRequest/Response → KillTerminalRequest/Response

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 22:10:15 +08:00
xintaofei
56d6db7866 chore: bump ACP agent SDK versions in registry
Update Claude Code 0.25.0, Codex 0.11.1, Gemini 0.36.0, OpenClaw 2026.4.2, Cline 2.13.0, OpenCode 1.3.13

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 21:01:48 +08:00
xintaofei
c06e854975 feat: add favicon for web/server mode browser tabs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 19:03:55 +08:00
xintaofei
4c36369dd2 feat: add export conversation to image, markdown, and HTML formats
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 18:56:37 +08:00
xintaofei
1282dcee19 feat: add copy button on hover for user messages in conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 15:22:34 +08:00
xintaofei
c1158bf669 # Release version 0.6.6
New @ file mention support in chat and fixes for terminal and Docker stability.

- feat: add @ file mention support in chat input and unify directory attachment.
- fix: update run button state when terminal tab is closed directly.
- fix: fix terminal not opening in Docker and slim down Docker image.
-----------------------------
# 发布版本 0.6.6

新增聊天输入框 @ 文件提及功能,并修复终端与 Docker 稳定性问题。

- 新增:聊天输入框支持 @ 文件提及,并统一目录附件处理逻辑;
- 修复:终端标签页直接关闭时正确更新运行按钮状态;
- 修复:修复 Docker 环境下终端无法打开的问题,并精简 Docker 镜像。
2026-04-03 14:40:14 +08:00
xintaofei
743b2a97ac docs: update AGENTS.md and CLAUDE.md with enriched project documentation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:33:46 +08:00
xintaofei
858ea9d10a fix: fix terminal not opening in Docker and slim down Docker image
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 13:59:30 +08:00
xintaofei
ae93cc062b fix: optimize communication flow diagram icons and layout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:46:12 +08:00
xintaofei
ea3b20b2d9 fix: update run button state when terminal tab is closed directly
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 10:42:50 +08:00
xintaofei
9396127cd9 feat: add @ file mention support in chat input and unify directory attachment
Support typing "@" in the chat input to trigger a file list popup with
filtering, keyboard navigation, and file/directory attachment. Directories
from the sidebar file tree now attach as resource links instead of injecting
text into the input.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 22:43:27 +08:00
xintaofei
e87f930ec1 # Release version 0.6.5
Bug fixes for terminal stability — fixed run button state synchronization and UUID generation in non-secure contexts.

- fix: sync run button state with terminal process via centralized exit tracking.
- fix: use randomUUID fallback for non-secure contexts in terminal-context.
-----------------------------
# 发布版本 0.6.5

终端稳定性修复 — 修复了运行按钮状态同步问题及非安全上下文中的 UUID 生成问题。

- 修复:通过集中式退出追踪机制同步运行按钮与终端进程状态;
- 修复:在非安全上下文中为 terminal-context 添加 randomUUID 回退方案。
2026-04-02 19:35:35 +08:00
xintaofei
4f394ea521 fix: use randomUUID fallback for non-secure contexts in terminal-context
Replace crypto.randomUUID() with the existing randomUUID() utility
that falls back to crypto.getRandomValues() over plain HTTP.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:21:56 +08:00
xintaofei
e7bd12e16f fix: sync run button state with terminal process via centralized exit tracking
Centralize terminal process lifecycle in terminal-context as single
source of truth. TerminalView reports exit/failure via callback,
context maintains exitedTerminals set, command-dropdown reacts to it.

Removes redundant polling and per-component exit event subscriptions
that raced with deferred spawn introduced in b2d10fa.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 19:02:01 +08:00
xintaofei
ef94687c87 # Release version 0.6.4
WeChat channel support — connect your WeChat account via QR code scan, then interact with agents directly from WeChat. All session commands (/folder, /agent, /task, etc.) work seamlessly in WeChat conversations.

- feature: supports WeChat channel.
- feature: add click-to-preview for image attachments in chat.
- feature: add commit and push option to git commit window.
- fix: skip rendering img element when src is empty in image preview dialog.
- fix: disable macOS overscroll bounce, Thanks to @isYangs https://github.com/xintaofei/codeg/pull/54.
- optimize: terminal spawn lifecycle to eliminate output race condition.
- optimize: WeChat QR code auth flow and channel reliability.
- optimize: WeChat channel message handling and error resilience.

-----------------------------

# 发布版本 0.6.4

支持微信消息通道 — 通过扫描二维码连接微信账号,即可直接在微信中与代理交互。所有会话指令(/folder、/agent、/task 等)均可在微信对话中无缝使用。

- 功能:支持微信消息通道;
- 功能:聊天中的图片附件支持点击预览;
- 功能:Git 提交窗口新增提交并推送选项;
- 修复:图片预览对话框中 src 为空时跳过渲染 img 元素;
- 修复:禁用 macOS 过度滚动回弹效果,感谢 @isYangs https://github.com/xintaofei/codeg/pull/54;
- 优化:终端进程生命周期管理,消除输出竞态条件;
- 优化:微信二维码认证流程及通道可靠性;
- 优化:微信通道消息处理及错误恢复能力。
2026-04-02 16:50:27 +08:00
xintaofei
236f0ed5e3 Merge branch 'main-fix' 2026-04-02 16:25:00 +08:00
xintaofei
efd8e1104f features: add commit and push option to git commit window
- Add split button with dropdown in commit dialog supporting both
  "Commit" and "Commit and Push" actions
- Pass folderId through gitCommit/gitPush API calls so backend emits
  events that the folder window can receive for toast notifications
- Update Tauri git_commit and git_push commands to accept folder_id
  parameter with window label fallback for cross-window compatibility
- Wrap commit page with GitCredentialProvider for push authentication
- Keep commit window open when push fails so user can see the error
- Add i18n translations for all 10 locales

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:22:41 +08:00
xintaofei
9b50d75266 fix: skip rendering img element when src is empty in image preview dialog
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:26:17 +08:00
xintaofei
f23ed12650 feat: add click-to-preview for image attachments in chat
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 15:23:48 +08:00
XinTaoFei
2a3b4b1908 Merge pull request #54 from isYangs/main
fix: disable macOS overscroll bounce
2026-04-02 14:55:04 +08:00
xintaofei
d3d53c8b8d docs: add animated communication flow diagram to README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 14:51:23 +08:00
xintaofei
1287dab37c docs: add iLink (Weixin) to supported chat channels in README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 14:11:12 +08:00
xintaofei
b2d10fa008 optimize: terminal spawn lifecycle to eliminate output race condition
Move PTY spawn from context layer to view layer so event subscription
happens before spawn, preventing loss of initial terminal output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 13:55:38 +08:00
xintaofei
d0e0aad525 optimize: WeChat QR code auth flow and channel reliability
- Generate QR code server-side when iLink API returns SPA page URL
  (added qrcode + image crates for PNG generation)
- Strip bot_token from frontend response (new WeixinQrcodeStatusPublic type)
- Add request timeouts and shared HTTP client for QR code endpoints
- Fix TOCTOU race on reply_context double-lock (single lock scope)
- Extract do_send() helper to deduplicate sendmessage logic; resend now
  checks ret field for context expiry instead of HTTP status only
- Cap pending_messages buffer at 50 to prevent unbounded memory growth
- Generate stable X-WECHAT-UIN per backend instance instead of per request
- Extract ILINK_CHANNEL_VERSION constant (was hardcoded in 4 places)
- Add 5-minute client-side QR expiry timeout in frontend dialog
- Track consecutive polling errors and show warning after 3 failures
- Stabilise onAuthSuccess/onClose callback refs to prevent polling restarts
- Replace dead i18n key weixinOpenQrcode with weixinPollError

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 11:22:51 +08:00
isYangs
03a6f8b5eb Merge remote-tracking branch 'origin/main' 2026-04-02 10:40:50 +08:00
isYangs
92dd5b1bbe fix: disable macOS overscroll bounce 2026-04-02 09:54:23 +08:00
xintaofei
0ef36ee918 optimize: WeChat channel message handling and error resilience
- Filter messages by message_type=1 to skip bot echo and prevent loops
- Add voice message support (type=3) with voice-to-text extraction
- Check resend results and re-buffer failed messages to prevent loss
- Handle session expiry (ret=-14) with 30s pause in polling loop
- Use exponential backoff (5s–30s) for network errors instead of fixed 5s

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 00:29:01 +08:00
xintaofei
8050e30a55 features: supports WeChat channel 2026-04-02 00:17:23 +08:00
xintaofei
a34d14bf59 Release versioin 0.6.3
Supports conversational Interaction — run full agent sessions from your chat app: /folder to pick a project, /agent to choose an agent, /task <description> to start a task, then send follow-up messages as plain text. /resume to continue a previous session, /cancel to abort, /sessions to list active sessions

- feature: messaging channels now support session-related commands.
- fix: enable inline math formula rendering with single dollar signs.

-----------------------------

发布版本 0.6.3

支持会话交互 — 在聊天应用中运行完整代理会话:/folder 选择项目、/agent 选择代理、/task <描述> 启动任务,然后直接发送纯文本作为后续消息。/resume 恢复历史会话、/cancel 取消任务、/sessions 查看活跃会话

- 功能:消息通道现已支持会话相关指令;
- 修复:启用单美元符号行内数学公式渲染。
2026-04-01 19:04:39 +08:00
xintaofei
b4aaebeb54 docs: update chat channels section with session interaction and new commands
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:55:44 +08:00
xintaofei
46c8874f43 Merge branch 'main-fix' 2026-04-01 18:29:16 +08:00
xintaofei
098c9adb80 optimize: channel tool call details, permission context and stop reason i18n
- Display specific file paths, commands, and patterns in tool call messages
  instead of generic titles (e.g. ">> Read: src/main.rs")
- Show tool call details only on completion to ensure raw_input availability
- Enrich permission request messages with tool details from rawInput
- Localize stop_reason in turn_complete messages for all 10 languages
- Fix UTF-8 byte-slice panic in format_completion for multi-byte content

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 18:28:34 +08:00
xintaofei
b23f6a5aaa fix: enable inline math formula rendering with single dollar signs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:48:46 +08:00
xintaofei
ce95148232 fix: truncate_title panic on multi-byte UTF-8 strings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:29:01 +08:00
xintaofei
d76dc716e4 optimize: Enhanced session command processing logic 2026-04-01 17:22:56 +08:00
xintaofei
adb5829613 optimize: channel Message Commands — Multilingual Support and Prefixes 2026-04-01 16:22:54 +08:00
xintaofei
05214d09de Merge remote-tracking branch 'origin/botwork' 2026-04-01 15:03:41 +08:00
xintaofei
925d068bd9 Release version 0.6.2
fix: "Add to VCS" dialog displayed files already tracked by Git.
optimize: Refined the code submission logic to prevent scenarios where code submission fails.
feature: Supports remote branch deletion.
fix: resolve real-time update issue in tiled view with multiple active sessions.
optimize: session list loading.
-------------------------------------------------------
发布版本 0.6.2

修复:“添加到VCS”的弹框显示了已经被git跟踪的文件;
优化:提交代码的处理逻辑,避免一些情况无法提交代码;
特性:支持删除远程分支;
修复:解决平铺视图下多活跃会话时的实时更新问题;
优化:会话列表加载。
2026-04-01 15:02:38 +08:00
xintaofei
4f8b99e5b6 Merge branch 'main-fix' 2026-04-01 13:41:33 +08:00
xintaofei
3a5d720cc9 optimize: session list loading 2026-04-01 13:41:22 +08:00
xintaofei
058245c284 Merge branch 'main' into main-fix 2026-04-01 13:01:25 +08:00
xintaofei
c983779dea fix: resolve real-time update issue in tiled view with multiple active sessions 2026-04-01 13:00:37 +08:00
xintaofei
b98f50340f Feature: Supports remote branch deletion 2026-04-01 12:41:15 +08:00
xintaofei
c25e4062b9 fix lint 2026-04-01 11:18:51 +08:00
xintaofei
245151dda2 优化提交代码的处理逻辑,避免一些情况无法提交代码 2026-04-01 11:16:41 +08:00
xintaofei
f33f658a85 修复:“添加到VCS”的弹框显示了已经被git跟踪的文件 2026-04-01 10:39:15 +08:00
xintaofei
58611a6bc1 消息渠道支持会话相关指令 2026-04-01 10:08:20 +08:00