feat: add scoped terminal approval contracts - #8
Draft
Nothing1596 wants to merge 113 commits into
Draft
Nothing1596 wants to merge 113 commits into
Nothing1596 wants to merge 113 commits into
Conversation
docs: 更新API教程文档
设置界面中的「参考语言」和「文本语言」输入框已去除, ref_lang 与 text_lang 在配置加载、UI 读取及默认值处 统一硬编码为 "ja",不再从 YAML 或角色 profile 中读取。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
移除对 ref_lang_edit 和 text_lang_edit 的引用,避免启动时 AttributeError。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
按物理像素分配虚拟桌面 QPixmap 缓冲区并设置 devicePixelRatio, 使 200% 缩放下截图实际采样 3200×2000 而非逻辑尺寸 1600×1000。 逻辑坐标接口不变,下游无需修改。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
只保留 playwright_browser,将 example_plugin、emotion_state_example、 mmd_renderer 从 git index 中移除并更新 .gitignore 白名单。 本地文件不受影响,插件发现机制为动态扫描,无需代码改动。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix: 优化失败诊断并修复高 DPI 截图与 TTS 配置
feat: 支持跨会话近期上下文续接
…gins, and Character Studio - Rewrite CHANGELOG.md as user-facing highlights (接话/长期记忆/插件/角色工坊) - Rewrite RELEASE_0.9.8.md as detailed GitHub Release notes - Fix screenshot description: note it as a scaling bugfix, not a new button - Add PR_MAIN_0.9.8.md merge reference Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
docs: v0.9.8 release notes — CHANGELOG + GitHub Release + README
设置实时预览与气泡自适应扩展都走 _apply_pet_layout,但该方法此前 只摆放子控件、不刷新舞台碰撞遮罩。遮罩刷新仅发生在 resizeEvent → _layout_stage 中,当某次布局窗口尺寸不变时不会派发 resizeEvent, 旧遮罩便裁掉新摆放的气泡/输入栏,导致设置预览和对话气泡逐行扩展 被截断/消失。 在 _apply_pet_layout 的抑帧区间内、_place_pet_children 之后补刷 _update_stage_debug_overlay 与 _update_stage_mask,使裁剪层始终 跟随刚应用的布局,且单帧合成、无中间裁剪帧。不改布局计算、配置或接口。 新增 test_apply_pet_layout_refreshes_mask_when_window_size_unchanged: 固定布局尺寸使 resize 为 no-op(不触发 resizeEvent),断言遮罩仍被 刷新恰好一次。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix: 布局应用后同帧刷新舞台遮罩,修复设置预览/气泡被裁剪
… 0.9.8 release) 回合 main 到 dev,消除两个共同祖先(f9eb2e6/0d3f65c)导致的 criss-cross,使 dev→main 可干净合并。此合并不改动任何文件内容。
VERSION 由 0.9.8 改为 0.9.8-dev,保持开发版 -dev 后缀约定。 发布物名/CHANGELOG/RELEASE 文档仍引用 0.9.8,故不改动。
merge: back-merge main 到 dev 并将版本改为 0.9.8-dev
merge: 合并 dev 到 main(Sakura 0.9.8-dev)
fix: 修复 TTS 整合包下载窗口层级与续传
feat: add Windows auto updater
…put-bar fix: keep input bar active with secondary windows
…eterministic platform tests
feat(mcp): platform-aware desktop-control MCP toggle + macOS server
…-curator fix: sync memory curator prompt on character switch
…xy-bypass fix: 绕过本地服务请求代理
- api_client: tool消息存在时将尾部system运行时上下文合并到主system prompt - runtime: 首次遇到function_response.name缺失错误后缓存模型名,后续同模型工具调用直接走文本降级 - 对gemini-3.5-flash等正常模型无影响
# Conflicts: # app/agent/runtime.py # app/core/bootstrap.py # app/core/chat_pipeline.py # app/ui/pet_window.py
chore: integrate pending main work into dev
* feat: 迁移设置页到 Tauri 试用页 * feat: 重设计 Tauri 设置管理台 * feat: 迁移插件详细设置到 Tauri * fix: 加固 Tauri TTS 整合包选择 * fix: 禁用设置页普通文本选中 * feat: 拆分 Tauri 供应商/模型设置页并支持模型自动检测 - 供应商与模型拆为两个侧栏页,供应商页改为主从布局(左列表/右详情) - 详情页配置 Base URL/API Key/模型,支持自动检测(api.list_models)与测试连接 - 内置 DeepSeek 预设与品牌图标(frontend/assets/providers/) - 底栏新增「应用」按钮:持久化即时生效但不关窗(Rust apply_settings + applied 信号) - 修复 API Key 输入框未应用主题;全局取消渐变改纯色 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R2U77PusNg62DSKNazEeFF * refactor: 收口设置窗体验与模型槽位 * fix: 修复设置窗预览保存和布局回归 * fix: 修复 Tauri 记忆页加载卡死 * fix: close tauri settings after save * fix: prevent Tauri settings rows from wrapping * fix: sync inherited model slots * style: 调整外观配色布局 * fix: route tauri close through cancel flow * feat: add tauri resource download tasks * fix: 本地TTS请求绕过代理 * fix: 修复TTS整合包安装阶段状态回传 * fix: 去除 TTS 提供器关闭选项 * feat: 迁移角色包导入导出到 Tauri 设置页 * test: 修复 Windows 测试临时目录权限 * fix: 修复 CI pytest 临时目录创建 * fix: 修复 Tauri 设置保存失败回滚 * fix: 等待 Python 确认 Tauri 设置应用 * fix: 清理 Tauri 设置失败回退进程 * fix: 放宽角色包 Tauri RPC 超时 * fix: 恢复角色包默认主题配色 * feat: 接入 Tauri AI 配色生成 * feat: 增加 Tauri TTS 测试入口 * perf: 缓存 Tauri 资源 GPU 探测 * fix: 收窄插件提示和角色包路径校验 * chore: 补充 Tauri 防御配置并收窄测试 workaround * docs: 记录 Tauri 设置试用限制 * test: 补充轻量 qtbot 测试夹具 * fix: 修复取色放大镜实时预览 * fix: 优化取色放大镜跟手性 * feat: 完善设置取色器集成 * style: 优化设置页文案与参数布局 * refactor: 默认启用Tauri设置页 * fix: 优化Tauri设置页提示与模型布局 * feat: 优化设置窗口主题切换动效 * feat: 优化设置页交互体验 * refactor: 切换 Tauri-only 设置与插件 API v2 * fix: 补充 Tauri 设置窗口图标 * fix: 避免设置图标走 LFS * feat: 新增Tauri角色工作室 * docs: 记录角色工作室界面修复设计 * docs: 补充角色工作室界面修复计划 * fix: 合并角色工作室入口 * fix: 统一角色工作室主题契约 * fix: 保持角色工作室取色层级 * fix: 改用下拉菜单切换编辑角色 * style: 对齐角色工作室配色控件 * style: 统一角色工作室界面元素 * style: 格式化角色工作室 Rust 代码 * fix: 修复工作室下拉悬停和侧栏适配 * fix: 修复角色工作室状态与进程异常 * fix: 完善角色工作室校验与首次启动 * fix: 修复角色工坊启动层级 * test: 修复角色工坊进程测试跨平台事件 * chore: 重新触发角色工坊测试 * fix: 重构角色工作室语音编辑 * fix: 完善角色工坊草稿与资源导入 * fix: 区分角色工坊工作区与已发布角色 * fix: 修复角色工作室启动闪烁 * fix: 修复设置窗口启动层级 * fix: 修复桌宠原生置顶取消 * fix: 完善角色工坊跨平台构建 * feat: 新增 Tauri 设置文本调节开关 (Rvosy#124) * chore: 更新 .gitignore * feat: 桌宠对话字体大小可调,Tauri 设置页添加滑块 在 Tauri 设置「角色与布局」页新增字体大小设置区,包含四个滑块: 回复文字、角色名字、输入框文字、发送按钮。 默认值与修改前 QSS 硬编码值保持一致(19/13/15/15 px), 用户调整后立即生效并持久化到配置文件。 修改范围(按数据流): - `defaults.py`:添加 4 组默认值与范围常量 - `theme.py` / `styles.py`:样式表生成函数增加字体参数 - `pet_window.py`:加载配置、_apply_fonts 使用配置值、Tauri 保存时持久化 - `tauri_settings.py`:桥接层全线透传 4 个字体字段与 limits - `index.html`:角色与布局页添加字体滑块区域 - `settings.js`:注册字段、收集/填充值、绑定事件 * fix: 统一 QSS 与 QFont 的字体大小 QSS 使用 `px`,QFont 使用 `pt`,容易冲突。 全部改成了 `px`。 * chore: 新增一键编译 Tauri 的脚本 * fix: 修复字号设置保存后不立即生效 * feat: 修改字号时支持实时预览 * feat: 修改设置时自动唤起气泡和输入框,便于预览 * refractor: 收拢面板默认设置参数到 defaults.py * chore: 修改一些默认值 * feat: 滑块数字可点击编辑,支持直接输入数值 点击滑块右侧数字即可进入编辑模式,回车/失焦后同步到滑块。 滑块拖动用于粗调,数字编辑用于精确定值,提升大范围取值时的操作体验。 修改文件: - `tools/settings-tauri/frontend/settings.js` — 编辑态逻辑 - `tools/settings-tauri/frontend/styles.css` — 编辑态输入框样式 * test: 补充字体大小测试样例 * fix: 修复字体设置预览与配置回归 --------- Co-authored-by: 珠洲島有栖 <g1790285359@gmail.com> * test: 修复 Linux CI 跨平台测试 --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: 绫灵凄冷 <1390116067@qq.com>
* docs: add PetWindow state consolidation design * docs: add PetWindow state consolidation plan * refactor: migrate proactive config to screen awareness * refactor: remove screen awareness setting aliases * refactor: retire proactive check event alias * refactor: remove legacy proactive care path * refactor: consolidate reply waiting state * refactor: consolidate active event state * refactor: consolidate memory curation context * docs: add tool and plugin boundary design * docs: add tool and plugin boundary plan * refactor: remove dead builtin tool provider * refactor: unify plugin tool handlers * fix: reject unsupported host events * refactor: remove fictional renderer events * docs: add tts playback convergence design * docs: add tts playback convergence plan * refactor: make media player a lazy tts fallback * fix: preserve truthful tts completion * refactor: consolidate audio sink completion state * docs: add qt shutdown ownership design * docs: add qt shutdown ownership plan * refactor: remove legacy qt resource facades * fix: transfer lingering qt worker ownership * fix: block shutdown during tts migration * docs: correct qt shutdown verification scan * docs: add visual observation dead path design * docs: add visual observation dead path plan * refactor: remove legacy visual summarizer * refactor: remove unused visual observation search * docs: add runtime logging convergence design * docs: add runtime logging convergence plan * refactor: use one runtime logging config source * refactor: remove legacy debug log shim * fix: align core convergence with tauri settings * fix: 修复手动截图覆盖层级
* fix: 修复 0.9.9 发布审查问题 * fix: 收紧网络与角色资源边界 * fix: 加固归档安装与后台任务生命周期 * fix: 修复工具续跑与参数校验 * fix: 提升存储迁移与历史读取可靠性 * fix: 修复发布流程与界面播放状态 * fix: 修复音频缓存失败清理异常
* test: 修复移动端本地请求代理干扰 * feat: 增强首次启动配置引导 * fix: 保留旧配置与引导布局 * style: 调整供应商输入提示
* fix: 微调控制台日志与选择控件体验 * fix: 优化模型回复日志展示 * fix: 原样输出模型回复日志
* fix: Wayland 全面适配——托盘菜单、窗口拖拽、输入栏 hover 适配 Wayland (StatusNotifierItem + DBusMenu) 与 Qt 原生拖拽 API 的行为差异: 托盘菜单: - 保持单 QMenu 实例避免双图标闪烁 - setChecked + 文本前缀 "✓ " 双通道指示勾选状态 - 延迟启动完成后刷新菜单状态 窗口拖拽: - 使用 QWindow.startSystemMove() 替代 QWidget.move() - startSystemMove 与 self.move 互斥防冲突 - 拖动结束后清理状态残留 输入栏 hover: - _cursor_in_window + enterEvent/leaveEvent 绕开 Wayland 上 QCursor.pos() 离开窗口后返回陈旧坐标的问题 - moveEvent 松手检测 + 1s 看门狗处理 startSystemMove 后 合成器不投递 mouseReleaseEvent 的场景 - resume_after_drag() 幂等防止 X11 上重复恢复动画抖动 - 置顶警告使用 QPA 平台名替代 XDG_SESSION_TYPE 其他: - .qwen/ pyproject.toml uv.lock *.patch 移至全局 gitignore * fix: 修复 Wayland 拖拽结束状态 --------- Co-authored-by: 珠洲島有栖 <g1790285359@gmail.com>
…ry-thread-affinity fix: marshal Tauri settings RPC responses to the UI thread
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
为可见终端能力增加通用权限契约,不引入终端进程实现。
改动
安全边界
验证