Require DeepSeek for literature screening

This commit is contained in:
qyh15 2026-05-27 21:57:43 +08:00
parent 566cecdf0a
commit ec1f706d39
4 changed files with 88 additions and 11 deletions

View File

@ -14,9 +14,10 @@ structure, properties, mechanism, device/application performance, and limits.
It can also route through the user's Zotero/Obsidian literature-note workflow: It can also route through the user's Zotero/Obsidian literature-note workflow:
extract keywords from the manuscript topic or draft, use QQnote-generated extract keywords from the manuscript topic or draft, use QQnote-generated
Zotero child notes or paper tables as literature inputs, separate strongly Zotero child notes or paper tables as literature inputs, ask DeepSeek to screen
related and weakly related papers inside QQsci, then use those papers to improve those candidate notes into strongly related and weakly related papers under
positioning, introduction logic, comparison, novelty framing, and citations. QQsci's rules, then use those papers to improve positioning, introduction
logic, comparison, novelty framing, and citations.
## Core stance ## Core stance
@ -123,8 +124,10 @@ DeepSeek/AwesomeGPT Zotero notes generated by QQnote or equivalent sources.
2. If the target journal is absent, ask the author for it. If they want advice, 2. If the target journal is absent, ask the author for it. If they want advice,
open `references/journal-positioning.md` and recommend several tiers. open `references/journal-positioning.md` and recommend several tiers.
3. Open `references/literature-routing.md` and perform QQsci's own relevance 3. Open `references/literature-routing.md` and perform QQsci's own relevance
screening against the existing notes or QQnote-generated comparison tables. routing against the existing notes or QQnote-generated comparison tables.
4. Screen notes into: The large-scale strong/weak paper screening pass must be run by DeepSeek when
DeepSeek is configured.
4. Ask DeepSeek to screen notes into:
- `strongly related`: same material, same material family plus same device, - `strongly related`: same material, same material family plus same device,
same mechanism, same target journal/neighbor journal, or direct benchmark. same mechanism, same target journal/neighbor journal, or direct benchmark.
- `weakly related`: same direction, adjacent material family, same - `weakly related`: same direction, adjacent material family, same

View File

@ -80,7 +80,8 @@ for QQsci's manuscript reasoning.
QQsci owns: QQsci owns:
- manuscript keyword extraction - manuscript keyword extraction
- strong/weak related-paper screening - DeepSeek screening prompts, rules, and review of strong/weak related-paper
results
- target-journal positioning - target-journal positioning
- comparative review against strong papers - comparative review against strong papers
- submission-package audit - submission-package audit
@ -93,4 +94,7 @@ QQnote owns:
- generating paper comparison tables from Zotero items - generating paper comparison tables from Zotero items
- optional QQnote note-state maintenance when explicitly requested - optional QQnote note-state maintenance when explicitly requested
QQnote output is an input to QQsci, not the decision engine. DeepSeek owns the large-scale screening pass over QQnote/Zotero/Obsidian note
candidates when QQsci needs strong/weak related papers. QQnote output is the
candidate corpus; QQsci owns the criteria, prompt, sanity check, and downstream
writing brief.

View File

@ -44,6 +44,15 @@ Return a query pack:
## DeepSeek screening brief ## DeepSeek screening brief
Strong/weak related-paper screening must be executed with DeepSeek when a
usable DeepSeek configuration is available. QQsci prepares the rules and inputs;
DeepSeek reads the QQnote/Zotero/Obsidian note candidates and returns the
screened set.
Do not ask Codex to silently classify a large note library from memory. Codex may
do a small sanity check after DeepSeek returns results, but DeepSeek is the
screening engine for the note set.
Give DeepSeek a compact, structured task: Give DeepSeek a compact, structured task:
```text ```text
@ -68,6 +77,59 @@ Screen the notes and return:
4. Do not include papers only because of a broad keyword match. 4. Do not include papers only because of a broad keyword match.
``` ```
## DeepSeek output contract
Require DeepSeek to return structured Markdown or JSON that can be handed to
QQsci and then QQwrite:
```json
{
"keyword_pack": {
"must_match": [],
"should_match": [],
"context": [],
"exclude": []
},
"strongly_related_papers": [
{
"title": "",
"year": "",
"journal": "",
"doi": "",
"zotero_key": "",
"relation_type": "",
"usable_for": [],
"why_strong": "",
"notes_evidence": ""
}
],
"weakly_related_papers": [
{
"title": "",
"year": "",
"journal": "",
"doi": "",
"zotero_key": "",
"relation_type": "",
"usable_for": [],
"why_weak": "",
"notes_evidence": ""
}
],
"rejected_near_matches": [
{
"title": "",
"doi": "",
"reason": ""
}
],
"missing_or_uncertain_metadata": []
}
```
If the output will feed QQwrite, QQsci should convert the screened papers into a
`qqwrite_brief`-style section plan rather than passing raw notes directly.
## Strong vs weak relation rules ## Strong vs weak relation rules
Strongly related: Strongly related:

View File

@ -1,9 +1,9 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""Create a manuscript keyword pack and DeepSeek screening prompt. """Create a manuscript keyword pack and DeepSeek screening prompt.
This helper is intentionally local-config only. It does not call DeepSeek or This helper is intentionally local-config only. It prepares a reproducible
Zotero by itself; it prepares a reproducible prompt that the skill can use with DeepSeek prompt for the required screening pass over QQnote/Zotero/Obsidian
the user's configured note-search route. literature notes. It does not call DeepSeek or Zotero by itself.
""" """
from __future__ import annotations from __future__ import annotations
@ -81,8 +81,16 @@ Manuscript profile:
Return: Return:
1. Strongly related papers: same material, same material family plus same device, same mechanism, direct benchmark, or same target-journal positioning. 1. Strongly related papers: same material, same material family plus same device, same mechanism, direct benchmark, or same target-journal positioning.
2. Weakly related papers: same direction, adjacent material family, same characterization logic, similar device architecture, or useful writing pattern. 2. Weakly related papers: same direction, adjacent material family, same characterization logic, similar device architecture, or useful writing pattern.
3. For each paper: title, year, journal, Zotero key if present, relation type, useful claim/evidence, and why it matters for the manuscript. 3. For each paper: title, year, journal, DOI, Zotero key if present, relation type, usable_for, useful claim/evidence, and why it matters for the manuscript.
4. Reject title-only broad keyword matches. 4. Reject title-only broad keyword matches.
5. Return rejected near matches and missing/uncertain metadata separately.
Output JSON keys:
- keyword_pack
- strongly_related_papers
- weakly_related_papers
- rejected_near_matches
- missing_or_uncertain_metadata
""" """