4.1 KB · updated 2026-07-06 · md

v0.7.0.zh.md

docs/i18n/release-notes/v0.7.0.zh.md

Tesserae v0.7.0 — tesserae ask 无需 API 密钥即可作答

<!-- translations:start -->

English · 한국어 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end -->

发布日期 2026-06-10 · PyPI · GitHub release · pip install --upgrade tesserae==0.7.0

tesserae ask 现在会在你已经登录的 CLI 之上合成真实的答案——无需 ANTHROPIC_API_KEY——并在你机器上的每一个账户之间轮换,因此速率限制永远不会让它停下来。此外还有两项修复,让你*询问的对象*会话变得可搜索,以及一项不再中止的编译。

1. tesserae ask 在 claude/codex CLI 之上合成——无需 API 密钥

此前,tesserae ask 只能通过 Anthropic SDK 来撰写答案,而后者需要 ANTHROPIC_API_KEY。如果你采用常见的配置——通过 OAuth 登录 claudecodex CLI——ask 会悄悄降级为原始的搜索命中,并附带 (no LLM answer: LLM disabled)

现在,答案路径复用了 JSON 提取器已经在使用的同一批 OAuth 客户端。tesserae ask --llm "<question>"(或 TESSERAE_QUERY_LLM=1)会零 API 密钥地合成一个带引用的答案——正是引擎其余部分所作出的那个无密钥承诺。

2. 它会在机器上的每一个账户之间轮换

CLI 客户端早已自动发现每一个 ~/.claude* 配置目录和每一个 ~/.codex* 主目录。v0.7.0 让 ask 用上了这一点——并将其跨*提供方*串联起来:只有在每一个账户都耗尽之后,一个问题才会放弃。

实际效果是:当你所有的 Claude 账户都触及 Sonnet/每周限额时,一次真实的 tesserae ask --llm 会在它们之间轮换,然后回退到 Codex,并给出答案(model=cli-oauth)——无需密钥,无需手动切换账户。被速率限制或已登出的账户会被跳过,而不是致命错误。

3. 修复:会话标题不再坍缩为 harness 前导内容

Codex 会在每一份记录前添加 # AGENTS.md instructions for <path>,因此会话标题的启发式逻辑把*那段内容*当成了每一个会话的标题——于是关键词搜索返回的是一堵分数完全相同、无法区分的样板文字之墙。现在标题会跳过被注入的 AGENTS/CLAUDE/GEMINI.md 前导内容(以及系统包装),并取自你真正的第一条指令;ask 再次返回各不相同、相关的命中结果。

还顺带捎上了两项较小的 ask 修复:LLM 开关(--llm / TESSERAE_QUERY_LLM)现在在 wiki 搜索路径上得到尊重(此前它被硬性禁用);而当 --backend auto 因为更丰富的后端出错(例如 cognee 认证失败)而回退时,它现在会明确告知,而不是悄悄表现得好像 wiki 是唯一尝试过的后端。

4. 修复:编译不再因过期的缓存引用而中止

一次完整的 tesserae compile / refresh 可能会以 KeyError: 'CodeFunction:…' 失败——这是一个不再存在的代码节点 id。会话 findings 在*提取*时会针对文档图过滤它们的引用,但 findings 是按 chunk 缓存的;当被引用节点的 id 之后发生变化(例如代码被编辑时,其 content-hash id 会随之改变的代码函数)或消失时,被缓存的 finding 会重放一个过期的引用,捏造出一个悬空节点,从而破坏了下游的 code-graph 步骤。现在引用会在合并时针对实时图重新校验——目标仍然存在则建立链接,不存在则丢弃。

从 v0.6.1 升级

即插即用。要让 ask 在无需 API 密钥的情况下作答,只需登录 claudecodex CLI 并传入 --llm。如果你曾遇到过编译的 KeyError,重新运行 tesserae compile(或 refresh)即可——它现在会跳过过期的引用,而不是中止。