Clarify QQnote input boundary

This commit is contained in:
qyh15 2026-05-23 14:26:58 +08:00
parent 8aaa4abe79
commit 64c854937a
2 changed files with 67 additions and 111 deletions

View File

@ -13,10 +13,10 @@ English polish, but a materials-specific argument that connects composition,
structure, properties, mechanism, device/application performance, and limits. 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 DeepSeek to screen extract keywords from the manuscript topic or draft, use QQnote-generated
existing Zotero child notes or Obsidian-linked notes, separate strongly related Zotero child notes or paper tables as literature inputs, separate strongly
and weakly related papers, then use those papers to improve positioning, related and weakly related papers inside QQsci, then use those papers to improve
introduction logic, comparison, novelty framing, and citations. positioning, introduction logic, comparison, novelty framing, and citations.
## Core stance ## Core stance
@ -46,7 +46,7 @@ introduction logic, comparison, novelty framing, and citations.
| [references/submission-package-audit.md](references/submission-package-audit.md) | User provides or mentions a submission package with manuscript, Supporting Information, highlights, cover letter, figures, SI figures, TOC, graphical abstract, or related Word/PPT files | | [references/submission-package-audit.md](references/submission-package-audit.md) | User provides or mentions a submission package with manuscript, Supporting Information, highlights, cover letter, figures, SI figures, TOC, graphical abstract, or related Word/PPT files |
| [references/literature-routing.md](references/literature-routing.md) | User wants Zotero/Obsidian/DeepSeek note search, strong/weak related-paper screening, keyword extraction, or literature-grounded rewriting | | [references/literature-routing.md](references/literature-routing.md) | User wants Zotero/Obsidian/DeepSeek note search, strong/weak related-paper screening, keyword extraction, or literature-grounded rewriting |
| [references/word-citation-comments.md](references/word-citation-comments.md) | User wants citation insertion guidance in Word, reference placement, DOI-only comments, or annotated `.docx` citation suggestions | | [references/word-citation-comments.md](references/word-citation-comments.md) | User wants citation insertion guidance in Word, reference placement, DOI-only comments, or annotated `.docx` citation suggestions |
| [references/zotero-obsidian-subskill.md](references/zotero-obsidian-subskill.md) | User asks to generate new Zotero notes, batch process newly imported papers, summarize papers as comparison tables, link Zotero notes into Obsidian, or operate QQnote/QQnote-skill | | [references/zotero-obsidian-subskill.md](references/zotero-obsidian-subskill.md) | User asks QQsci to obtain or refresh literature-note inputs through QQnote, including Zotero child-note summaries or paper comparison tables |
| [references/journal-positioning.md](references/journal-positioning.md) | Target journal is missing, uncertain, or needs recommendation and writing-position adjustment | | [references/journal-positioning.md](references/journal-positioning.md) | Target journal is missing, uncertain, or needs recommendation and writing-position adjustment |
## Intake ## Intake
@ -96,15 +96,15 @@ placeholders.
## Literature-note routing workflow ## Literature-note routing workflow
Use this when the user wants the manuscript optimized using previous Use this when the user wants the manuscript optimized using previous
DeepSeek/AwesomeGPT Zotero notes. DeepSeek/AwesomeGPT Zotero notes generated by QQnote or equivalent sources.
1. Extract manuscript keywords from the topic, draft, abstract, figures, or SI: 1. Extract manuscript keywords from the topic, draft, abstract, figures, or SI:
material names, material family, device/application, mechanism, performance material names, material family, device/application, mechanism, performance
metrics, synthesis strategy, target journal, and competing concepts. metrics, synthesis strategy, target journal, and competing concepts.
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 prepare a DeepSeek screening 3. Open `references/literature-routing.md` and perform QQsci's own relevance
brief for existing notes. screening against the existing notes or QQnote-generated comparison tables.
4. Screen notes into: 4. 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.
@ -180,15 +180,16 @@ Rules:
## Zotero/Obsidian child-note subskill ## Zotero/Obsidian child-note subskill
When the user imports new papers and asks to generate notes, summarize selected When the user imports new papers and asks to generate Zotero child-note
papers, audit missing notes, or operate QQnote, use summaries or paper comparison tables with QQnote, use
`references/zotero-obsidian-subskill.md`. `references/zotero-obsidian-subskill.md`.
Important defaults: Important defaults:
- Prefer the installed `QQnote-skill` as the source of truth for Zotero child - QQnote is only the note/table generation tool.
note generation, note audits, paper-to-table summarization, Obsidian cleanup, - QQsci owns keyword extraction, strong/weak related-paper screening, target
and Dataview dashboards. journal positioning, comparative review, submission-package audit, and
DOI-only Word citation comments.
- Generate or update Zotero child notes first. - Generate or update Zotero child notes first.
- Obsidian comes second through Zotero Integration links and Dataview. - Obsidian comes second through Zotero Integration links and Dataview.
- Keep API keys in local private config, not in chat. - Keep API keys in local private config, not in chat.

View File

@ -1,139 +1,94 @@
# QQnote Subskill Boundary # QQnote Input Boundary
Use this file when the user asks QQsci to use QQnote, the Zotero/Obsidian Use this file when QQsci needs literature-note inputs from QQnote.
workflow, newly imported papers, batch DeepSeek note generation, paper summary
tables, missing-note audits, Obsidian literature notes, or Dataview dashboards.
The installed `QQnote-skill` is the source of truth for note generation and QQnote is only the tool for summarizing papers into Zotero child notes or
Obsidian maintenance. QQsci consumes the resulting notes and tables for compact Markdown comparison tables. QQsci owns all manuscript-facing reasoning:
materials-manuscript writing, strong/weak related-paper screening, keyword extraction, strong/weak related-paper screening, target-journal
submission-package audit, and DOI-only Word citation comments. positioning, comparative review, submission-package audit, figure/format
checks, terminology checks, and DOI-only Word citation comments.
If QQnote-skill changes, follow QQnote-skill rather than this file for script Do not ask QQnote to decide whether a paper is strongly related, weakly related,
arguments and operational details. necessary for citation, or sufficient as reviewer evidence. QQnote supplies
structured paper information; QQsci makes the manuscript decision.
## Core order ## Core order
1. QQnote first: identify Zotero items and generate/update Zotero child notes 1. QQsci identifies what literature input is needed from the manuscript topic,
through `QQnote-skill`. draft, figures, target journal, or missing evidence.
2. Optional QQnote table: summarize selected papers into a Markdown comparison 2. QQnote generates or refreshes Zotero child-note summaries for selected papers
table when QQsci needs compact strong-paper comparison axes. when the notes are missing or stale.
3. Obsidian second: link Zotero notes into the vault through Zotero Integration 3. QQnote may summarize selected papers into a Markdown comparison table when
and Dataview. QQsci needs compact data for side-by-side comparison.
4. QQsci third: use screened notes/tables to rewrite positioning, 4. QQsci performs relevance classification, manuscript comparison, audit,
introduction, comparison, discussion, and citation placement. rewriting, and Word DOI-comment placement.
Do not default to creating standalone Obsidian markdown notes when the user says Do not default to creating standalone Obsidian markdown notes when the user says
`文献笔记`; the default target is Zotero child notes generated by QQnote. `文献笔记`; the default input source is Zotero child notes generated by QQnote.
## QQnote-skill entrypoints ## QQnote entrypoints
Use these installed scripts through QQnote-skill, not reimplemented QQsci logic: Use the installed `QQnote-skill` scripts only for note/table generation:
```powershell ```powershell
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\generate_zotero_ai_note.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-key SXAIQUJT --skip-existing
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\audit_zotero_ai_notes.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --keys-only
py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\summarize_zotero_table.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-keys "SXAIQUJT X7GJZ627" --batch-size 3 --out "C:\Users\qyh15\Documents\Obsidian Vault\99 misc\literature-comparison-table.md" py "$env:USERPROFILE\.codex\skills\QQnote-skill\scripts\summarize_zotero_table.py" --vault "C:\Users\qyh15\Documents\Obsidian Vault" --item-keys "SXAIQUJT X7GJZ627" --batch-size 3 --out "C:\Users\qyh15\Documents\Obsidian Vault\99 misc\literature-comparison-table.md"
``` ```
Use `generate_zotero_ai_note.py` when new or selected papers need Zotero child Use `generate_zotero_ai_note.py` when new or selected papers need Zotero child
notes. notes.
Use `audit_zotero_ai_notes.py` when QQsci needs to know which papers lack
generated notes before manuscript screening.
Use `summarize_zotero_table.py` when QQsci needs a compact comparison table for Use `summarize_zotero_table.py` when QQsci needs a compact comparison table for
strongly related papers, benchmark comparison, figure/storyline audit, or papers it has already selected or is about to classify.
target-journal positioning.
Do not use QQnote's audit, cleanup, or Dataview workflows as QQsci decision
logic unless the user explicitly asks for QQnote maintenance.
## Safety and config ## Safety and config
- Do not ask the user to paste API keys into chat. - Do not ask the user to paste API keys into chat.
- Follow QQnote-skill's current config rules. It loads Zotero/LLM credentials - Follow QQnote's current config rules for DeepSeek/AwesomeGPT and Zotero
from environment variables, private local config, or AwesomeGPT preferences. credentials when generating notes or tables.
- Keep private config ignored and local-only. - Keep private config ignored and local-only.
- Do not print secret-bearing config or preference lines. - Do not print secret-bearing config or preference lines.
- Treat Zotero local API at `127.0.0.1:23119` as read-oriented. - Treat Zotero local API at `127.0.0.1:23119` as read-oriented.
- For child-note writes, require QQnote's configured write path. It may require - For child-note writes, use QQnote's configured write path.
`ZOTERO_API_KEY` for Zotero Web API writes.
## Preflight ## When to call QQnote
Before writing notes: Call QQnote when:
1. Check Zotero is running and the local/connector route is available. - a candidate paper has no generated Zotero child note
2. Confirm the target collection, selected items, tags, or explicit item keys. - the user imports new papers and wants note generation
3. Check whether notes already exist and skip or update according to the user's - QQsci needs a compact table for a selected set of papers
instruction. - the existing notes are too thin and the user asks for deeper notes
4. Prefer QQnote dry-run or audit mode for first-time validation.
5. Confirm the write route for Zotero child notes.
6. Confirm the DeepSeek/AwesomeGPT config is available without exposing secrets.
## Batch behavior Do not call QQnote when:
Batch work must be resumable: - the task is only to classify strong/weak related papers from existing notes
- the task is target-journal positioning
- the task is manuscript/package audit
- the task is Word DOI-only citation comments
- the task is figure, format, spelling, or terminology checking
- use QQnote's existing duplicate detection and note audit behavior ## QQsci-owned manuscript integration
- skip items with successful existing notes unless the user asks to regenerate
- for deep regeneration, follow QQnote's replace/update behavior instead of
creating duplicate child notes
- process long runs in 20-30 item batches
- preserve UTF-8 output for Chinese templates and notes
## New paper flow After QQnote outputs notes or a table:
When the user says they introduced new papers: 1. QQsci extracts the manuscript keyword pack.
2. QQsci uses `literature-routing.md` to classify strong and weak papers.
1. Identify new Zotero items by collection, tag, selected items, import time, or 3. QQsci builds a source map linking paper -> useful claim -> manuscript
explicit keys. section.
2. Use QQnote-skill to gather metadata, abstract, attachment text if available, 4. QQsci uses `comparative-review-audit.md` and
and existing child notes. `submission-package-audit.md` for missing-evidence and package checks.
3. Use QQnote-skill to send the note-generation prompt to DeepSeek/AwesomeGPT 5. QQsci adds Word native comments containing DOI strings only when requested.
using the user's template.
4. Create or update the Zotero child note through QQnote-skill.
5. Refresh or instruct Obsidian Zotero Integration linking only after Zotero
notes are created.
6. Report successes, skips, and failures using QQnote's audit output.
## Paper comparison table flow
When QQsci needs to compare strong related papers before revising or auditing a
manuscript:
1. Use `literature-routing.md` to choose candidate strong papers.
2. Ask QQnote-skill to summarize those Zotero items into a Markdown table.
3. Use columns relevant to materials manuscripts: title, year, journal, DOI,
material system, device/application, mechanism, key performance, controls,
figure logic, and useful comparison point.
4. Use the table as the comparison basis for `comparative-review-audit.md` and
`submission-package-audit.md`.
## Manuscript integration flow
After notes exist:
1. Extract manuscript keyword pack.
2. Use `literature-routing.md` to classify strong and weak papers.
3. Use QQnote notes or QQnote-generated comparison tables to build a source map
linking paper -> useful claim -> manuscript section.
4. For Word citation help, add native Word comments containing DOI strings only,
one DOI per line.
5. Rewrite the manuscript section with citation placeholders only if the user is
not using the DOI-comment workflow.
6. Flag missing evidence, missing citations, and overclaim risks.
## Output template ## Output template
`QQnote preflight:` `QQnote input used:`
`Processed Zotero items:` `Generated or refreshed notes:`
`Generated or updated child notes:` `QQnote table path:`
`QQnote comparison table:` `QQsci screening/audit next step:`
`Skipped existing notes:`
`Failed items and reason:`
`Next QQsci manuscript-use step:`