Commit Graph

271 Commits

Author SHA1 Message Date
xintaofei
e05ae76453 fix(macos): persist zoom level to DB so traffic lights use correct position on launch
Previously the welcome window (or any startup window) always used the
default CURRENT_ZOOM of 100, ignoring the user's saved zoom preference
stored in frontend localStorage. Now update_traffic_light_position also
writes the zoom value to the app_metadata DB, and setup() reads it back
before creating any window.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 10:10:09 +08:00
xintaofei
17bae372a1 fix(macos): adjust traffic-light Y baseline from 18 to 17 for better vertical alignment
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 09:38:37 +08:00
xintaofei
7d4224e0c0 # Release version 0.8.2
- feat(frontend): replace native scrollbar styling with OverlayScrollbars for a polished, overlay-style scrollbar experience.
- feat: show real-time download progress bar for app updates.
- feat: stream real-time progress for agent SDK install/upgrade/uninstall.
- feat(macos): set traffic-light position via Tauri builder API and sync with zoom level.
- fix(windows): force UTF-8 encoding for all spawned child processes.
- fix(frontend): prevent body OverlayScrollbar from intercepting message list scroll events.
- fix(frontend): restore os-theme-codeg scrollbar theme lost during merge.
- fix(frontend): remove inner padding from file tree container and restore scroll container padding.
-----------------------------
# 发布版本 0.8.2

- 新增(前端):使用 OverlayScrollbars 替代原生滚动条样式,提供更精致的覆盖式滚动条体验;
- 新增:应用更新时显示实时下载进度条;
- 新增:Agent SDK 安装/升级/卸载过程支持实时流式进度展示;
- 新增(macOS):通过 Tauri builder API 设置红绿灯按钮位置并与缩放级别同步;
- 修复(Windows):强制所有子进程使用 UTF-8 编码;
- 修复(前端):防止 body 层 OverlayScrollbar 拦截消息列表的滚动事件;
- 修复(前端):修复合并后 os-theme-codeg 滚动条主题丢失的问题;
- 修复(前端):移除文件树容器内边距并恢复滚动容器的正确 padding。
2026-04-12 23:13:49 +08:00
xintaofei
a763adaf36 feat: stream real-time progress for agent SDK install/upgrade/uninstall
Replace the spinner-only UX with live log output during agent SDK
operations, matching the existing OpenCode plugin install experience.

Backend: emit structured events (started/log/completed/failed) via
EventEmitter during npm install and binary download. npm commands now
run with piped stdio for line-by-line streaming; binary downloads
report chunked progress every 1 MB.

Frontend: subscribe to `app://agent-install` events through a new
`useAgentInstallStream` hook and render a theme-aware log terminal
below the preflight checks panel.

Also fixes the install log container in both agent settings and the
OpenCode plugins modal: auto-scroll no longer shifts the outer page,
and colours now follow the active light/dark theme.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 21:43:54 +08:00
xintaofei
25def31a23 fix(windows): force UTF-8 encoding for all spawned child processes
- Set UTF-8 environment variables (PYTHONUTF8, PYTHONIOENCODING, LANG,
  LC_ALL) on all child processes via process.rs helpers
- Configure PTY terminals per shell flavor: chcp 65001 for cmd.exe,
  [Console]::OutputEncoding for PowerShell, LANG=C.UTF-8 for Git Bash
- Use /K and -NoExit for interactive shells to avoid nested processes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:47:31 +08:00
xintaofei
843cf8df19 feat(macos): set traffic-light position via Tauri builder API and sync with zoom
Use Tauri's native `traffic_light_position()` builder method to position
macOS window controls instead of runtime objc2 calls. A global AtomicU32
tracks the current zoom level so newly created windows reflect the latest
zoom. The frontend syncs zoom changes to the backend via a new
`update_traffic_light_position` command.

- Add `traffic_light_position()` to `apply_platform_window_style` builder
- Add `CURRENT_ZOOM` atomic and `traffic_light_position()` helper
- Register `update_traffic_light_position` Tauri command
- Add `syncTrafficLightPosition` in appearance-provider to sync on zoom
  change, mount, and cross-tab storage events
- Consolidate `ensure_windows_undecorated` calls into `post_window_setup`
- Remove dead `on_window_resized` no-op and its Resized event listener

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 18:11:40 +08:00
xintaofei
883fb64db0 # Release version 0.8.1
- feat(acp): add opencode plugin management — detect, install, uninstall plugins via preflight UI.
- feat(frontend): add OpencodePluginsModal with streaming install progress.
- feat(i18n): add opencode plugin management translations for 10 languages.
- fix(acp): use XDG paths for opencode config/cache instead of platform-native dirs.
- fix(acp): pin @latest plugin specs to installed versions and enable button when only floating versions exist.
- fix(acp): avoid false-positive comment detection on URLs in opencode.json.
- fix(acp): harden session-page connection and localize backend errors.
- fix(experts): handle Windows junction removal when unlinking skill entries.
- fix(frontend): remove explicit primary color from input bar controls.
-----------------------------
# 发布版本 0.8.1

- 新增(acp):添加 opencode 插件管理 —— 通过预检 UI 检测、安装、卸载插件;
- 新增(前端):添加 OpencodePluginsModal 组件,支持流式安装进度展示;
- 新增(i18n):为 opencode 插件管理添加 10 种语言翻译;
- 修复(acp):opencode 配置/缓存使用 XDG 路径而非平台原生目录;
- 修复(acp):将 @latest 浮动版本的插件规格固定为实际安装版本,并在仅有浮动版本时启用按钮;
- 修复(acp):避免对 opencode.json 中的 URL 误判为注释;
- 修复(acp):加固会话-页面连接并本地化后端错误信息;
- 修复(experts):处理 Windows 下取消技能条目链接时的 junction 移除问题;
- 修复(前端):移除输入栏控件的显式主色调。
2026-04-12 14:08:50 +08:00
xintaofei
9ab090a2b2 fix(acp): avoid false-positive comment detection on URLs in opencode.json
The naive // and /* check triggered on URLs like https://... inside
string values. Now we only reject the file as JSONC when serde_json
parsing fails AND comment-like sequences are found.
2026-04-12 12:00:47 +08:00
xintaofei
023e4c5514 fix(acp): pin @latest for all plugins and enable button when only floating versions exist
- install_missing_plugins now pins ALL @latest specs (not just newly installed)
- When nothing is missing but @latest exists, the pin-only path runs
- Modal button switches to 'Pin @latest Versions' when no missing plugins
- Added pinVersions i18n key for 10 languages
2026-04-12 11:56:55 +08:00
xintaofei
4397b0eae7 feat(acp): auto-pin @latest plugin specs to installed versions after install
After a successful plugin install, read the actual installed version from
node_modules and replace @latest in opencode.json with the pinned version.
This prevents opencode from hitting the npm registry on every startup.

Also add a preflight warning when @latest specs are detected, guiding
the user to install via the plugin manager to auto-pin.
2026-04-12 11:47:01 +08:00
xintaofei
6459e5286a fix(acp): use XDG paths for opencode config/cache instead of platform-native dirs 2026-04-12 11:31:45 +08:00
xintaofei
21800f25a1 style(acp): fix clippy warnings in opencode_plugins 2026-04-12 10:59:37 +08:00
xintaofei
996945223c feat(acp): add opencode plugin list/install/uninstall commands and routes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:21:04 +08:00
xintaofei
8c807b62d3 feat(acp): integrate opencode plugin check into preflight
Add InstallOpencodePlugins variant to FixActionKind and wire
opencode_plugins::check_opencode_plugins into check_binary_environment
so preflight surfaces missing/installed plugin status for OpenCode agents.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:15:48 +08:00
xintaofei
0901758937 feat(acp): implement install_missing_plugins and uninstall_plugin
Add concurrency lock (PLUGIN_OP_LOCK), install/uninstall functions with
bun subprocess management, progress event streaming via EventEmitter, and
protected-package guard for @opencode-ai/* internals.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:12:34 +08:00
xintaofei
26cf618bd4 feat(acp): add resolve_bun_binary and atomic_rewrite_opencode_json helpers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:10:13 +08:00
xintaofei
c5d5f854b5 feat(acp): implement check_opencode_plugins detection
Add check_opencode_plugins() to read ~/.config/opencode/opencode.json,
parse the plugin[] array, and cross-reference against
~/.cache/opencode/node_modules/ to report installed vs. missing plugins.
Also adds opencode_config_path, opencode_cache_dir, and
has_project_opencode_config helpers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:08:27 +08:00
xintaofei
8c775d29e7 feat(acp): add opencode_plugins module with types and parse_plugin_spec
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 10:06:25 +08:00
xintaofei
1c1738298b fix(acp): harden session-page connection and localize backend errors
- Session-page connect never triggers download/install; returns
  SdkNotInstalled immediately and prompts the user to install from
  Agent Settings instead
- Binary agents now accept any cached version via
  find_best_cached_binary_for_agent so stale caches still connect
- Bound Initialize handshake with a 60s timeout and convert it to
  AcpError::InitializeTimeout via a sentinel in run_connection
- Spawn background task owns ConnectionManager map insertion and
  removes the entry on exit through an RAII guard that survives
  panics, preventing leaked stale entries
- AcpError gains SdkNotInstalled and InitializeTimeout variants plus
  a stable code() identifier; AcpEvent::Error carries code so the
  frontend can render localized messages by key
- Frontend preflight now runs for all connect sources; error event
  handler switches on code to show translated text for
  initialize_timeout, sdk_not_installed, platform_not_supported,
  process_exited, spawn_failed and download_failed
- Remove ConnectionStatus::Downloading enum variant, all frontend
  branches, and i18n strings; drop obsolete autoLinkFailedTitle,
  autoLinkPreflightFailed, preflightCheckFailedDefault and
  preflightFailedTitle keys across 10 locales
- Add backendErrors.* translations in 10 languages
- Diagnostic logging: always log agent stderr plus binary
  path/size/args/env keys and Initialize timing; gate stdin/stdout
  JSON-RPC tracing behind CODEG_ACP_DEBUG to avoid persisting user
  content into OS log files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 03:36:08 +08:00
xintaofei
5bda7d06e9 fix(experts): handle Windows junction removal when unlinking skill entries 2026-04-11 18:54:21 +08:00
xintaofei
d92cb8d619 chore: bump ACP agent SDK versions in registry 2026-04-11 18:43:49 +08:00
xintaofei
eb6933f254 # Release version 0.8.0
- feat(appearance): add theme color picker with 11 shadcn presets, zoom level selector, and reset button.
- feat(appearance): add AppearanceProvider with FOUC prevention script to persist theme across reloads.
- fix(settings): default settings panel to appearance section instead of system.
-----------------------------
# 发布版本 0.8.0

- 新增(外观):添加主题色选择器(内置 11 种 shadcn 预设)、缩放级别选择器和重置按钮;
- 新增(外观):添加 AppearanceProvider 和防闪烁(FOUC)内联脚本,持久化主题配置;
- 修复(设置):打开设置面板时默认进入"外观"分区而非"系统"。
2026-04-11 17:40:55 +08:00
xintaofei
c34eb84caa fix(settings): default to appearance section instead of system
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 17:38:18 +08:00
xintaofei
328884c802 # Release version 0.7.2
- feat(chat): show skills list on $ trigger for Codex instead of experts.
- fix(chat): restore ~/.agents/skills/ as additional Codex skill dir.
- fix(chat): support mid-text slash trigger and keyboard scroll in autocomplete.
- fix(chat): stop plan in-progress spinner when agent is not streaming.
-----------------------------
# 发布版本 0.7.2

- 新增(聊天):Codex 输入 $ 时显示技能列表,替代原有的专家列表;
- 修复(聊天):恢复 ~/.agents/skills/ 作为 Codex 额外的技能目录;
- 修复(聊天):支持在文本中间触发斜杠命令,自动补全支持键盘滚动;
- 修复(聊天):当 agent 未在流式响应时停止 plan 进行中的 spinner。
2026-04-11 11:23:30 +08:00
xintaofei
1bb8624160 fix(chat): restore ~/.agents/skills/ as additional Codex skill dir
Codex CLI also reads skills from ~/.agents/skills/, so include it
alongside ~/.codex/skills/ in the skill storage spec. The Codex dir
stays first so it remains the preferred write target for new links,
while lookup and unlink scan both locations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 09:49:33 +08:00
xintaofei
18887d77cb # Release version 0.7.1
- feat(settings): add Skills toggle for Codex CLI and improve config editor UX.
- fix(chat): use ~/.codex/skills/ for Codex expert symlinks and keep expert button always enabled.
- fix(chat): query expert skills via symlinks and use $ prefix for Codex.
- fix(chat): preserve Gemini CLI history sessions on reopen.
- fix(settings): fix Gemini CLI model edit resetting provider fields and not persisting.
-----------------------------
# 发布版本 0.7.1

- 新增(设置):为 Codex CLI 添加技能开关,优化配置编辑器交互体验;
- 修复(聊天):Codex 专家技能改用 ~/.codex/skills/ 符号链接,专家按钮始终可用;
- 修复(聊天):通过符号链接查询专家技能,Codex 使用 $ 前缀;
- 修复(聊天):重新打开时保留 Gemini CLI 历史会话记录;
- 修复(设置):修复 Gemini CLI 编辑模型时重置 provider 字段且未持久化的问题。
2026-04-11 01:17:30 +08:00
xintaofei
19979d50d0 fix(chat): use ~/.codex/skills/ for Codex expert symlinks and keep expert button always enabled
Change Codex skill storage to use only ~/.codex/skills/ instead of
~/.agents/skills/, and never disable the expert skills button so users
can always access the empty-state hint. Also fix stale expert list in
conversation window after linking in the separate settings window by
re-fetching on window focus.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 00:37:31 +08:00
xintaofei
ade59f474c fix(chat): query expert skills via symlinks and use $ prefix for Codex
Expert skills in the chat session were derived by intersecting built-in
experts with ACP availableCommands, which caused Codex experts to never
appear since Codex does not advertise skills through ACP.

- Add `experts_list_for_agent` backend API that checks symlink status
  across all global skill dirs for the given agent type
- Replace availableCommands-based expert filtering with symlink-based
  query, making the settings page the single source of truth
- Use `$` prefix for Codex expert skills while keeping `/` for slash
  commands and other agents' experts
- Disable the expert button when no experts are linked for the agent
- Invalidate per-agent expert cache after link/unlink in settings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 00:13:42 +08:00
xintaofei
e4eb7f67eb fix(chat): preserve Gemini CLI history sessions on reopen
When reopening a Gemini CLI history session, session/load fails with
"Authentication required" and the fallback session/new overwrites the
DB external_id with a new session ID that has no corresponding file,
causing all historical messages to disappear.

- Skip session/new when session/load returns "Authentication required"
- Add Gemini to the parser fallback so stale external_ids recover via
  folder_path + started_at matching
- Guard externalIdSavedRef for existing conversations to prevent
  session/new from overwriting the persisted external_id
- Only update conversation status on disconnect when user has sent a
  message, avoiding spurious "completed" flips on pure history views

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 22:32:56 +08:00
xintaofei
21bbb5492c # Release version 0.7.0
- feat(experts): add built-in expert skills with per-agent activation.
- feat(chat): add experts menu to message input toolbar.
- fix(chat): harden experts menu selection and viewport fit.
- fix(ui): raise input selector collapse breakpoint for responsive layout.
- i18n(settings): translate Agents nav label in zh-CN and zh-TW.
-----------------------------
# 发布版本 0.7.0

- 新增(专家):内置专家技能库,支持按代理分别启用;
- 新增(聊天):消息输入工具栏新增专家菜单入口;
- 修复(聊天):加强专家菜单的选择逻辑与视口适配;
- 修复(UI):提高输入选择器折叠的断点阈值,优化响应式布局;
- 国际化(设置):补全简繁中文的 Agents 导航菜单翻译。
2026-04-10 18:33:50 +08:00
xintaofei
5b613daded feat(experts): add built-in expert skills with per-agent activation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 15:17:51 +08:00
xintaofei
4277f88ca8 # Release version 0.6.12
- fix(ui): add flex container to sidebar wrapper to enable conversation list scrolling.
- fix(ui): add max-height limit to commit message textarea.
- fix(ui): unify scrollbar styles across scrollable containers.
---
# 发布版本 0.6.12

- 修复(UI):为侧边栏添加 flex 容器,修复会话列表无法滚动的问题;
- 修复(UI):为提交消息文本框添加最大高度限制;
- 修复(UI):统一各滚动容器的滚动条样式;
2026-04-09 19:00:44 +08:00
xintaofei
a02af51f74 # Release version 0.6.11
- fix: override Python monarch tokenizer to fix triple-quoted string highlighting.
- fix: add KaTeX CSS and normalize LaTeX math delimiters for proper formula rendering.
- chore: bump ACP agent SDK (Claude Code, OpenCode) versions in registry.
-----------------------------
# 发布版本 0.6.11

- 修复:覆盖 Python monarch 分词器,修复三引号字符串高亮显示问题;
- 修复:添加 KaTeX CSS 并规范化 LaTeX 数学公式分隔符,修复公式渲染;
- 维护:更新 ACP 代理 SDK(Claude Code、OpenCode)注册表版本。
2026-04-09 00:31:23 +08:00
xintaofei
6d199c9f83 # Release version 0.6.10
- fix: override Python monarch tokenizer to fix triple-quoted string highlighting.
- fix: add KaTeX CSS and normalize LaTeX math delimiters for proper formula rendering.
- chore: bump ACP agent SDK (Claude Code, OpenCode) versions in registry.
-----------------------------
# 发布版本 0.6.10

- 修复:覆盖 Python monarch 分词器,修复三引号字符串高亮显示问题;
- 修复:添加 KaTeX CSS 并规范化 LaTeX 数学公式分隔符,修复公式渲染;
- 维护:更新 ACP 代理 SDK(Claude Code、OpenCode)注册表版本。
2026-04-09 00:22:40 +08:00
xintaofei
0b866eddb4 chore: bump ACP agent SDK (Claude code, OpenCode) versions in registry 2026-04-08 22:11:01 +08:00
xintaofei
55aadb3b65 # Release version 0.6.9
- feat: add responsive layout support for mobile and small screens.
- feat: upgrade @lobehub/icons to v5 and update agent icon colors.
- feat: add version detection and upgrade support to install scripts.
-----------------------------
# 发布版本 0.6.9

- 新增:支持移动端和小屏幕的响应式布局适配;
- 新增:升级 @lobehub/icons 至 v5,更新代理图标配色;
- 新增:安装脚本增加版本检测与升级支持。
2026-04-07 22:30:19 +08:00
xintaofei
923303f516 feat(install): add version detection and upgrade support to install scripts
Add --version flag to codeg-server binary and enhance both install.sh
and install.ps1 with version detection (skip if already up-to-date),
running process stop before upgrade, and post-upgrade restart guidance.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 21:53:29 +08:00
xintaofei
dd659dcaa5 # Release version 0.6.8
- feat: add model provider management with full CRUD support.
- feat: refactor agent auth modes and add model provider authentication.
- feat: add model selection combobox for OpenCode agent configuration.
- feat: protect model provider deletion and cascade credential updates.
- feat: add slash command dropdown button in message input toolbar.
- fix: improve error message when exporting long conversations as image.
- fix: disable "auto" config option for Claude Code to prevent errors.
- fix: improve codex CLI auth mode switching to preserve auth.json keys.
- fix: update chat channel icons to Play/Square and SendHorizontal.
- chore: bump ACP agent SDK versions in registry.
-----------------------------
# 发布版本 0.6.8

- 新增:模型提供商管理,支持完整的增删改查操作;
- 新增:重构代理认证模式,新增模型提供商认证支持;
- 新增:OpenCode 代理配置增加模型选择下拉框;
- 新增:模型提供商删除保护及级联更新凭证;
- 新增:消息输入工具栏添加斜杠命令下拉按钮;
- 修复:导出长会话为图片时改进错误提示;
- 修复:禁用 Claude Code 的 "auto" 配置选项以防止错误;
- 修复:Codex CLI 认证模式切换时保留 auth.json 密钥;
- 修复:更新聊天频道图标为 Play/Square 和 SendHorizontal;
- 升级:更新注册表中 ACP agent SDK 版本。
2026-04-07 13:06:16 +08:00
xintaofei
94946bbe0c chore: bump ACP agent SDK versions in registry 2026-04-07 12:40:08 +08:00
xintaofei
a3d5335e7f feat(settings): protect model provider deletion and cascade credential updates
- Block deletion of a model provider when it is referenced by any agent,
  returning an error that lists the agent names so the user knows what to unlink first
- When a provider's api_url or api_key is updated, automatically propagate
  the new credentials to all dependent agents: updates env_json in the database
  and patches on-disk config files (Claude Code settings.json, Gemini settings.json,
  Codex auth.json + config.toml, OpenCode auth.json) using the same field names
  and structure as the agent settings UI
- Fix error message display in provider dialogs for both Tauri and web transports,
  which throw plain objects rather than Error instances

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 00:25:01 +08:00
xintaofei
b64976e4d6 feat(settings): refactor agent auth modes and add model provider authentication
- Split env vars and config file persistence into separate save operations
- Add model_provider_id field to agent_setting for tracking selected provider
- Add "Model Provider" auth mode for Claude Code, Codex CLI, and Gemini CLI
- Add "Custom Endpoint" auth mode for Claude Code (previously only official subscription)
- Unify auth mode labels across all three agents (official subscription / custom endpoint / model provider)
- When model provider is selected, fill api_url and api_key into env and config automatically
- Resolve model provider credentials at ACP connect time as a backend fallback
- Clear provider deletion cascades to agent_setting.model_provider_id
- Claude Code writes API credentials to config.env (ANTHROPIC_BASE_URL / ANTHROPIC_AUTH_TOKEN)
- Codex: switching auth modes patches config.toml instead of clearing it
- Add i18n keys for new auth modes in all 10 supported languages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 22:10:18 +08:00
xintaofei
ba19299696 feat(settings): add model provider management with full CRUD support
Add a new settings page for managing API model providers (name, API URL,
API key, applicable agent types). Includes database migration, SeaORM
entity, backend CRUD commands/handlers, frontend settings UI with agent
type filter, add/edit/delete dialogs, and i18n support for all 10 locales.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 16:35:14 +08:00
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
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
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
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
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
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