Repository navigation
v0.3.2
v0.3.2
中文
本版本为 Side 临时提问新增模型配置和附件支持,改进事件自动滚动、文件下载及移动端图片预览,并在关闭含未提交修改的卡片工作树前增加确认。同时调整素材处理指引,允许将用户已授权的正式素材纳入项目。
Side 临时提问与执行
- 新建 Side 和继续追问均支持选择模型、思考强度和快速模式,初始配置沿用来源卡片,并可独立调整。
- 支持上传图片和其他文件,也可以仅提交附件;请求失败时保留草稿与附件,便于重试。
- 每个 Side 独立保留追问草稿和配置,切换 Side 时不会清空输入。
- 附件临时文件在 Side 多轮追问期间保持可用,在停止、关闭 Side、离开页面或运行时退出时清理。
- 校验临时会话归属及可用状态,阻止跨卡片续跑、继续已关闭的 Side,以及同一 Side 同时执行多个回合。
- 每轮执行显式传递模型和快速模式对应的服务等级,使新建与后续回合正确应用所选配置。
- Side 继续以只读权限运行,不修改来源卡片的运行配置。
事件浏览与输入体验
- Side 与卡片详情复用事件自动滚动逻辑:位于底部时跟随新事件,向上浏览历史时保留当前位置。
- 打开 Side 对话框或切换 Side 时滚动至最新事件。
- 为 Side 输入区域增加高度约束和内部滚动,改善长提示词及配置控件的布局。
文件下载与媒体预览
- 为问题附件和会话产物事件的完整预览补齐下载按钮,批注工具栏内也可直接下载。
- 文件下载改由浏览器原生下载流程处理,无需先将整个文件读取为前端 Blob;统一覆盖附件、临时文件及工作区文件下载。
- 通过鉴权接口获取短期下载凭据,凭据绑定具体资源及查询参数,并对携带凭据的响应设置禁止缓存和禁止发送来源信息的策略。
- 修复图片首次打开时的尺寸与布局问题,使图片及视频适应实际预览容器。
- 修复移动端及独立预览页的高度、滚动和内容溢出问题;缩略图和悬浮预览关闭批注控件。
- 修正图片平移边界,避免缩放和拖动手势拦截批注工具栏操作。
卡片关闭与工作树保护
- 手动关闭卡片前检查工作树是否包含未提交变更,包括已暂存、未暂存及未跟踪文件。
- 存在变更时提示关闭会清理工作树并丢弃修改,用户确认后才继续;取消时保留卡片及工作树。
- 首页、聊天卡片详情和终端卡片统一使用关闭确认流程;工作树干净、已清理或不存在时无需额外确认。
- 检查工作树失败时返回错误并阻止关闭,避免跳过检查直接清理。
- GraphQL
CloseSessionInput新增可选字段confirmWorktreeClose;需要确认时返回worktree_close_confirmation_required,客户端应在用户确认后携带该字段重试。
正式项目素材
- 明确区分预览、下载和过程验证使用的临时文件与需要纳入项目的正式素材。
- 临时文件继续保存到
ANYCODE_ARTIFACT_DIR;在用户请求或授权范围内,正式素材可按项目目录约定复制、移动或生成到工作树,已有授权无需重复确认。
English
This release adds model configuration and attachments to ephemeral Side questions, improves event auto-scrolling, file downloads, and mobile image previews, and asks for confirmation before closing card worktrees with uncommitted changes. It also updates asset-handling guidance to allow authorized production assets to be included in projects.
Side questions and execution
- Support model, reasoning-effort, and fast-mode selection for both new Side questions and follow-ups. Initial settings inherit from the source card and can be adjusted independently.
- Accept images and other file attachments, including attachment-only messages. Preserve drafts and attachments when requests fail so they can be retried.
- Keep follow-up drafts and settings separately for each Side without clearing input when switching between them.
- Keep temporary attachments available across Side turns, and clean them up when the Side is stopped or closed, the page is left, or the runtime exits.
- Validate temporary-thread ownership and availability, preventing cross-card continuation, continuation of closed Sides, and concurrent turns within the same Side.
- Explicitly pass the selected model and fast-mode service tier on each turn so configuration applies to both initial and subsequent turns.
- Continue running Side with read-only permissions without changing the source card's execution settings.
Event browsing and input
- Share event auto-scrolling behavior between Side and card details: follow new events while at the bottom and preserve the scroll position while browsing earlier content.
- Scroll to the latest event when opening the Side dialog or switching Sides.
- Constrain Side input height and enable internal scrolling to improve layouts with long prompts and configuration controls.
File downloads and media previews
- Add download buttons to full previews for question attachments and session artifact events, including previews with annotation toolbars.
- Use native browser downloads without first loading the entire file into a frontend Blob, consistently covering attachments, artifacts, and workspace files.
- Obtain short-lived download credentials through authenticated endpoints. Bind credentials to the specific resource and query parameters, and disable caching and referrer transmission for credential-bearing responses.
- Fix initial image sizing and layout so images and videos fit their actual preview containers.
- Fix height, scrolling, and overflow issues on mobile and standalone preview pages. Disable annotation controls in thumbnails and hover previews.
- Correct image panning bounds and prevent zoom and drag gestures from intercepting annotation-toolbar interactions.
Card closing and worktree protection
- Check for uncommitted worktree changes before manually closing a card, including staged, unstaged, and untracked files.
- When changes exist, explain that closing will clean up the worktree and discard those changes, and proceed only after confirmation. Canceling preserves the card and worktree.
- Apply the same confirmation flow to the overview, chat-card details, and terminal cards. Clean, already-cleaned, or missing worktrees require no additional confirmation.
- Return an error and block closing if worktree inspection fails, preventing cleanup from bypassing the check.
- Add the optional
confirmWorktreeClosefield to GraphQLCloseSessionInput. Returnworktree_close_confirmation_requiredwhen confirmation is needed; clients should retry with this field after user confirmation.
Production assets
- Distinguish temporary files used for previews, downloads, and intermediate verification from production assets that belong in the project.
- Continue storing temporary files in
ANYCODE_ARTIFACT_DIR. Within the user's request or authorization, production assets may be copied, moved, or generated into the worktree following project asset-directory conventions, without requesting the same authorization again.
Complete commit list / 完整提交列表
-
6522fc6— Add missing preview download buttons and use native browser downloads with scoped, short-lived credentials.补齐预览下载按钮,并通过绑定资源的短期凭据使用浏览器原生下载。
-
8b11e03— Fix initial image layout, mobile preview sizing, panning bounds, and toolbar gesture handling.修复图片初始布局、移动端预览尺寸、平移边界及工具栏手势处理。
-
2b7ef95— Add Side model configuration and attachments, preserve attachment lifetime across turns, and share event auto-scrolling.为 Side 增加模型配置和附件支持,维护跨回合附件生命周期,并复用事件自动滚动。
-
3bc9f77— Allow authorized production assets to be included in project worktrees while keeping temporary outputs in the artifact directory.允许将已授权的正式素材纳入项目工作树,临时输出继续保存在产物目录。
-
ad5595d— Require confirmation before manually closing cards with uncommitted worktree changes.手动关闭含未提交工作树变更的卡片前请求确认。