fix(daily-paper): keep digest generation after empty search (#537)

This commit is contained in:
jinliyl 2026-09-11 13:22:37 +08:00 committed by GitHub
parent 6cb81e7921
commit dff2d33cec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 4 deletions

View file

@ -4,10 +4,12 @@ digest_user: |
内容只能依据输入文档,不得补充文档中没有提供的事实。
保留技术准确性,同时解释三篇论文为什么值得关注,以及它们之间有什么联系。
在写作前,先调用 `search` 检索已有记忆:围绕三篇论文的核心问题、方法、关键词和同义表达组织查询。
主题跨度较大时可以多次检索,搜索结果不必局限于 `{daily_dir}/`。只有 `{daily_dir}/` 下日期早于今天、
下面提供的三篇详细论文解读是本次写作的主要输入,首要任务是基于它们生成每日论文速读。
历史搜索只用于帮助构建 Wikilink最多调用两次 `search`:围绕三篇论文共同的核心问题、方法、关键词和
同义表达组织一次综合查询,搜索结果不必局限于 `{daily_dir}/`。只有 `{daily_dir}/` 下日期早于今天、
且与本期内容确实相似或互补的 Markdown 文章才可作为正文中的历史链接候选;必要时调用 `read` 核验全文,
不要仅凭标题判断。
不要仅凭标题判断。如果没有搜索到合适的历史文章,说明已有记忆中暂无相似文章,不添加 Wikilink 即可,
仍须基于三篇论文解读完成每日论文速读;不得将搜索无结果误判为论文输入缺失,也不得要求用户重新提供文档。
将确认相关的旧文章以 Wikilink 自然织入正文,并用句子说明关联(延续、对比、补充或方法相似);
链接必须采用带 `.md` 的完整 workspace-relative 路径,例如
`[[{daily_dir}/2026-07-01/旧文章.md|此前的相关解读]]`。不要输出裸链接、独立关系字段,也不要虚构搜索未命中的路径。

View file

@ -656,6 +656,9 @@ def test_digest_prompt_uses_configured_daily_directory(tmp_path: Path):
assert "`memory/`" in prompt
assert "搜索结果不必局限于 `memory/`" in prompt
assert "最多调用两次 `search`" in prompt
assert "首要任务是基于它们生成每日论文速读" in prompt
assert "不得将搜索无结果误判为论文输入缺失" in prompt
assert "[[memory/2026-07-01/旧文章.md" in prompt
assert "[[daily/2026-07-01/" not in prompt
@ -951,7 +954,9 @@ async def test_pipeline_filters_strict_yesterday_and_writes_outputs(
assert "调用 Read" not in digest_prompt
assert "daily/2026-07-21" not in digest_prompt
assert "长期记忆" not in digest_prompt
assert "先调用 `search` 检索已有记忆" in digest_prompt
assert "历史搜索只用于帮助构建 Wikilink最多调用两次 `search`" in digest_prompt
assert "首要任务是基于它们生成每日论文速读" in digest_prompt
assert "不得将搜索无结果误判为论文输入缺失" in digest_prompt
assert "搜索结果不必局限于 `daily/`" in digest_prompt
assert "end_date" not in digest_prompt
assert "limit=" not in digest_prompt