Releases
v0.1.5
Compare
Sorry, something went wrong.
No results found
新增
表情包导入导出:单个表情包可导出为 PawzoChat 原生 zip(<名称>_emoji_pawzochat.zip,含 manifest.json + emotions/<情绪>/<图片> 目录结构),可从设置页导入;导入名称冲突时自动追加 _2、_3 后缀,不覆盖现有分组
世界书条目开关:每本世界书的小节可单独启用/禁用,禁用的小节即使关键词命中也不会注入;新字段 section_meta: {<小节>: {enabled: bool}} 与 content 同步维护,旧世界书与新增小节默认开启
主动遥测开关:默认采集匿名 UUID(本地随机生成,不来自硬件)、应用版本与操作系统类型,30 分钟心跳一次;上传地址、网站 ID、心跳间隔为代码常量,不写入 config.yaml;从源码运行时默认禁用(设置 PAWZOCHAT_TELEMETRY_DEV=1 可开启用于本地测试),任何时候可在网页面板关闭,立即生效无需重启;匿名 ID 同时写入用户级 AppData 与项目 data/ 目录,重装/迁移可保留同一 ID
历史消息编辑多选:顶栏「多选」进入选择模式,跨日期累计选择,支持「删除所选 (n)」批量删除,全选/部分选状态在日期切换时正确恢复
自更新支持阿里云 OSS:先尝试 pawzochat-release.oss-cn-shanghai.aliyuncs.com/channels/stable/latest.json,失败时回退到 GitHub Releases;GitHub 镜像仅对 api.github.com / github.com 启用,OSS 直连不再被错误拼接镜像前缀;可通过 PAWZOCHAT_OSS_LATEST_URL 环境变量覆盖
快速配置「导入角色卡」入口:第二步新增「手动创建 / 导入角色卡」Tab,导入路径复用 /api/personas/_import,可选是否一并导入卡片内嵌的世界书
快速配置与网络设置增加「粘贴」/「复制」按钮,便于在没有右键菜单的环境填入 API Key、令牌等长字段
模型预设新增 Claude Opus 4.7、DeepSeek V4 Flash、DeepSeek V4 Pro(DeepSeek 与 PawAPI 渠道同步);DeepSeek base_url 调整为 https://api.deepseek.com,endpoint_path 改为 /chat/completions 单一来源
变更
历史消息编辑页的「编辑」按钮改用统一的右上角文字按钮样式,与其他页面保持一致
DeepSeek 渠道预设模型列表移除 deepseek-chat / deepseek-reasoner,由 V4 系列接替
修复
表情包分组删除新增并发保护:客户端可携带 expected_refs 与 force=true 一起请求,服务端检测到引用列表已变化时返回 409,避免「确认对话框列出的角色」与「实际清理的角色」不一致;新增 GET /api/emoji/groups/<name>/references 端点供 UI 一次性合并提示
表情包导入做了完整安全加固:拒绝加密 zip、单文件 ≤20MB、总解压 ≤200MB、文件数 ≤2000、路径必须是 emotions/<情绪>/<图片> 三段式、显式拦截 zip slip(.. / 绝对路径);先写入同目录临时文件夹再原子重命名,失败时清理临时目录,不会留下半成品分组
内部
新增模块:pawzochat/services/telemetry.py、pawzochat/web/routes/api_telemetry.py
新增路径常量:TELEMETRY_ID_FILE(OS 用户级)、TELEMETRY_ID_FALLBACK(项目内便携副本)
新增路由:GET/POST /api/telemetry、POST /api/emoji/_import、GET /api/emoji/groups/<name>/_export、GET /api/emoji/groups/<name>/references、PUT /api/worldbooks/<name> 接受 section_meta
You can’t perform that action at this time.