Skip to content

Releases

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 01:47
5e7b5bf

What's Changed

  • fix(release): correct gh flag and idempotency in release workflow by @catnuko in #35
  • dev → main:动效、阅读体验、划线笔记与 AI 引擎(60 提交) by @catnuko in #36
  • Release v0.2.0 by @catnuko in #37

Full Changelog: v0.1.0...v0.2.0


安装 / Install

下载 Deer_0.2.0_aarch64.dmg,打开后把 Deer 拖进「应用程序」。构建未签名,首次启动请右键 Deer.app → 打开,或在终端执行 xattr -cr /Applications/Deer.app。

要求:Apple Silicon,macOS 11+;AI 功能需 Node 22.13+、acpx 与至少一个引擎 CLI。

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 13:26
25a81c5

What's Changed

  • chore(ci): 下线 QoderWake 编排,保留通用 CI(人工评审流程) by @catnuko in #31
  • [QW-DEVOPS] Issue #28: Deer-09 概念笔记与连接(本地优先 MVP) by @catnuko in #29
  • release: Deer-09 概念笔记与连接(本地优先 MVP)→ main by @catnuko in #33
  • dev → main:同步 10 月 30 日以来的全部开发(含书架页改版与 acpx 唯一链路) by @catnuko in #34

Full Changelog: deer-v20261026-0500-8...v0.1.0

Deer v20261026-0500 (Milestone Deer-08)

Choose a tag to compare

@catnuko catnuko released this 26 Oct 05:01
0a310fe

Deer v20261026-0500(Milestone Deer-08:技术债打包)

修复与健壮性

  • React #418 水合异常根治:/read 页挂载门控 + ThemeToggle 改用 useSyncExternalStore,首渲染与 SSR 一致;首页与 /read 全流程 console 零 Uncaught 报错(#418/#423/#425 家族彻底消失)。
  • 深色主题持久化回归修复(B1):主题以 storage 事件单源同步,页面加载即应用存储主题,跨标签页跟随不劣化。

S2–S6 健壮性

  • S2:chat 请求白名单校验,非法请求 400 静态拒绝,不回显凭据、请求体不入日志。
  • S3:上游 30s 超时(AbortSignal.timeout)→ 504 可区分错误,前端流式态正常收尾、不落盘悬挂消息、可重试。
  • S4:上下文字符上限常量单点(CONTEXT_LIMITS.maxReadingChars)。
  • S5:选区提问携带显式 selectedText 协议字段,移除前缀嗅探。
  • S6:净化后相邻同角色消息以 \n\n 合并,不跨会话、条数上限语义不变。

质量

  • 测试 175 → 211 例(只增不减),lint 0/0、build 通过。
  • 零界面文案变更、零 localStorage schema 变更。

已知残余风险

  • 真实 30 秒上游超时的浏览器端实时等待未做实测(以单元测试 + 连接拒绝路径组合覆盖为准,置信度高)。
  • 本地环境 favicon 404 为基线噪音,与本次改动无关。

发布信息

  • Release PR:#27(merge commit 0a310fe1498357b334af7c9213ae9d7891ca4297)
  • Dev PR:#26;关联 Issue:#25;Milestone:Deer-08(#8)

Deer v20261025-2337 (Milestone Deer-07)

Choose a tag to compare

@catnuko catnuko released this 25 Oct 23:38
58163d8

Deer v20261025-2337(Milestone Deer-07:多会话列表与清空撤销)

本迭代让对话历史从「单会话」升级为「多会话管理」,并补上清空的后悔药。

新功能

  • 历史会话列表:AI 面板新增「🗂️ 历史会话」入口,可查看与切换历史会话;跨不同阅读内容的对话各自独立、互不覆盖。每行展示首条提问摘要(选区提问自动剥离引用前缀)与相对时间(悬停可看完整时间),当前会话以徽章+底色双通道标识,点击即切换并置顶。
  • LRU 淘汰:最多保留 20 个会话,超出后自动淘汰最早使用的(列表底部有说明,淘汰依据对用户透明)。
  • 清空撤销:清空对话后出现「↩️ 撤销恢复」入口,一键找回被清内容并按原顺序逐字还原;刷新后仍可撤销一次(仅最近一次清空可撤销,再次清空会替换待恢复内容)。

相比 Deer-06 的改进

  • Deer-06 已知限制①「仅保留单一会话(对文本 B 开始对话会覆盖文本 A 的历史)」——已解决:多会话列表按内容隔离,互不覆盖。
  • Deer-06 已知限制②「清空作用于共享槽位、不可挽回」——已解决:清空支持撤销恢复。

数据说明

  • 旧数据迁移:旧版 deer-chat-history 单槽历史在你首次加载时会自动迁移为新会话并删除旧 key,无需手动处理。
  • 隐私边界:撤销待用内容在下次清空前暂存于本机浏览器 localStorage,仅本地保存、无任何上传;持久化数据不包含 API Key、模型配置等敏感信息。

已知问题

  • 存量 React #418 水合异常(基线既有,不影响使用,下个迭代作为技术债处理)。

发布信息

  • Milestone: Deer-07 (#7)
  • 迭代分支: iteration/deer-07
  • 发布 PR: #24(merge commit 58163d89a66758e3dd0ea561349a010ad7bf8e15)
  • 关联 Issue: #22(CLOSED / status:verified)|关联 PR: #23(merged)
  • 质量:评审整体 PASS + 数据保全增量定向复查 PASS;独立测试真实浏览器 44 项端到端检查全过;175/175 用例全绿。

Deer v20261025-0512 (Milestone Deer-06)

Choose a tag to compare

@catnuko catnuko released this 25 Oct 05:13
764efa6

Deer v20261025-0512(Milestone Deer-06:对话历史持久化)

本迭代让 AI 对话从「一次性」变为「可续存」:刷新页面或重新打开面板后,历史对话自动恢复,可以继续深聊。

新增

  • 对话历史持久化(客户端 localStorage)
    • 刷新页面 / 重新打开 AI 面板后,历史对话自动恢复,无需重新开始。
    • 按阅读内容隔离会话:不同文章/内容各自对应自己的对话,互不串台。
    • 新增「🗑️ 清空」按钮,清空当前会话并同步清除本地持久化历史。
    • 损坏/非法存储数据容错:解析失败时安全降级为空历史,不阻断页面。
    • 超过 100 条消息时自动淘汰最旧消息,防止存储无限膨胀。
    • 持久化数据严格不包含 API Key、模型配置等敏感信息,仅保存对话消息本体。

行为变更

  • 自本版本起,「刷新清空对话」改为「刷新恢复对话」。这是对 Deer-05 交互口径的有意变更,符合 Issue #19 的验收标准。

质量

  • 代码评审复验 PASS:评审发现的 B1(空响应体时落盘半截对话)已在 af74a8b 修复,并补充组件层回归用例。
  • 独立测试:真实浏览器全量判定 9/9 验收标准通过。
  • 自动化测试:8 个测试文件 / 132 用例全绿(新增 chat-storage 30 例、ai-panel 18 例回归)。

已知限制(如实声明)

  1. 单槽存储:同一内容只保留一个会话槽;对文本 B 开始对话会覆盖文本 A 的历史(多会话列表为后续候选需求)。
  2. 清空作用于共享槽位:切换阅读内容后执行「清空」,会连带删除另一段内容的会话历史。
  3. /read 页存在基线既有的 React #418 水合告警(非本迭代引入,建议后续单独立项处理)。

发布信息

  • Milestone: Deer-06 (#6)
  • 迭代分支: iteration/deer-06
  • 发布 PR: #21(merge commit 764efa6bce717979040c95557b439d943e235590)
  • 关联 Issue: #19(CLOSED / status:verified)|关联 PR: #20(merged)

Deer v20261025-0306-5 (Milestone Deer-05)

Choose a tag to compare

@catnuko catnuko released this 25 Oct 03:07
7009d3d

Deer-05 发布

新增功能

  • 多轮对话上下文管理 (#15)
    • 会话内追问与指代消解:AI 可结合本次会话已有对话回答追问(如「这段」「它」「第二个人」「刚才那段」)
    • messages 数组统一组装(system + 裁剪历史 + 本轮输入),OpenAI 兼容与 Anthropic 请求形态统一
    • 轮数 + 字符双预算裁剪(10 条 / 8000 字符),user 锚点整对单元,窗口首条必定为 user
    • 系统提示加入指代消解引导与「不编造」约束
    • 选中文本以【选中文本】标注块注入本轮用户消息,问句原文保留
    • OpenAI / DeepSeek / Anthropic 三家 provider 流式兼容

质量

  • 评审复验 PASS:AC3–AC9 全过,B1(字符预算裁剪可能产生 assistant 打头的非法对话)已修复并有回归用例
  • 独立测试 101 项全绿(既有 93 项 + 8 项验收探针),含回退反证
  • CI:test / reviewer / Vercel Preview 全部 SUCCESS

已知限制

  • AC1 / AC2 / AC5 属模型输出质量(指代消解、两次选区对比、总结后追问),本次发布未做真实模型凭据判定(测试环境无模型凭据且外网 API 不可达)。机制层已全部验证,输出质量取决于你自配的模型。可复现的固定文本 + 提问脚本已记录在 Issue #15 评论中,可自行补跑。
  • 健壮性与协议跟进项(config 类型校验、上游超时、相邻 user 合并等)见 Issue #17。
  • 会话历史仍未持久化,刷新页面清空(与 Deer-04 一致,为后续迭代范围)。

Deer v20261022-0321-1 (Milestone Deer-04)

Choose a tag to compare

@catnuko catnuko released this 22 Oct 03:22
fbc94ef

Deer-04 发布

新增功能

  • AI 阅读助手面板 (#6)
    • 右侧 AI 面板,可展开/收起
    • 选中文本后出现浮动工具栏,点击「问 Deer」发送选中内容
    • AI 回复采用流式输出(逐字显示)
    • 「总结本章」快捷按钮
    • 底部输入框支持手动输入问题
    • 未配置模型时显示引导提示
    • 对话历史在当前会话内可见,刷新后清空

技术改进

  • 服务端 API 代理路由 /api/chat:处理 AI 请求,API Key 不暴露给浏览器
  • 支持 OpenAI、DeepSeek(OpenAI 兼容格式)、Anthropic 三种流式格式
  • 浮动工具栏验证选择区域在阅读容器内,避免误触发

测试

  • 52/52 测试全部通过
  • 评审 PASS(9/9 验收标准)
  • 独立测试 PASS(9/9 验收标准)

已知限制

  • CORS 跨域问题已通过服务端代理解决
  • AI SDK 包已安装但当前使用原生 fetch 实现(可未来增强)

Deer v20261022-0256-1 (Milestone Deer-03)

Choose a tag to compare

@catnuko catnuko released this 22 Oct 02:56
b3e54a7

Deer-03 发布

新增功能

  • 内置 DeepSeek 模型提供商 (#10)
    • AI 配置面板新增 DeepSeek 选项
    • 默认 baseUrl: https://api.deepseek.com/v1,默认模型: deepseek-chat
    • 复用 OpenAI 兼容的 /chat/completions 接口
    • 配置保存在浏览器 localStorage,刷新后自动恢复

测试

  • 45/45 测试全部通过
  • 新增 DeepSeek provider 相关测试用例

已知限制

  • CORS 跨域问题待后续版本通过服务端代理解决
  • 当前 AI 请求从浏览器直接发送到 LLM API

Deer v0.2.0 — 最小 AI 阅读原型

Choose a tag to compare

@catnuko catnuko released this 22 Oct 01:38
0a9455f

Deer-02 发布

新增功能

  • 文本输入与阅读展示界面 (#4):文本粘贴输入、.txt/.md 文件上传、中文排版(行距 1.75)、深浅主题切换、左右布局、Markdown 渲染
  • AI 模型配置与设置面板 (#5):内置 OpenAI GPT-4o / Anthropic Claude、自定义 API Base URL + 模型名称、API Key 本地存储、连接测试、未配置引导提示

技术栈

Next.js 16 + React 19 + TypeScript 6 + Vitest + Tailwind CSS

测试

  • 44/44 测试用例通过
  • lint / build 验证通过
  • 独立测试验证 PASS

Deer v20261022-0033-1 (Milestone Deer-01)

Choose a tag to compare

@catnuko catnuko released this 22 Oct 00:35
da1c057

Deer Release — Milestone Deer-01

Tag: deer-v20261022-0033-1
Merge Commit: da1c057e40831f5aec76a36a957628ac0a878377
Release PR: #3

What's Included

  • #1 首页增加阅读进度提示

Checklist

  • All requirements verified
  • No open bugs
  • PR merged to main
  • Tag created