nsfc-schematic
NSFC 原理图生成器
与 bensz-collect-bugs 的协作约定
- 当用户环境中出现因本 skill 设计缺陷导致的 bug 时,优先使用
bensz-collect-bugs按规范记录到~/.bensz-skills/bugs/,严禁直接修改用户本地 Claude Code / Codex 中已安装的 skill 源码。 - 若 AI 仍可通过 workaround 继续完成用户任务,应先记录 bug,再继续完成当前任务。
- 当用户明确要求“report bensz skills bugs”等公开上报动作时,调用本地
gh与bensz-collect-bugs,仅上传新增 bug 到huangwb8/bensz-bugs;不要 pull / clone 整个 bug 仓库。
定位
- 把机制链、算法架构、模块关系或实验闭环画成可编辑、可嵌入的科研图。
- 默认使用
drawio生成drawio/pdf/svg/png;只有用户明确要求 Nano Banana 图片模型时才允许切到 PNG-only。 - 仅用于科研写作与表达优化,不代表评审口径。
输入
至少提供其一:
spec_file:结构化图规格文件,优先。proposal_file:单个标书文件。proposal_path:标书目录。
可选:
roundsrendereroutput_dirconfigstyle_ref_imagescontext:自然语言机制描述,供规划模式生成草案template_ref
输出
默认交付:
schematic.drawioschematic.pdfschematic.svgschematic.png
隐藏中间产物写入 output_dir/.nsfc-schematic/:
optimization_report.mdspec_latest.yamlconfig_used_best.yamlevaluation_best.jsonruns/run_*/round_*ai/:stop_strategy=ai_critic工作区legacy/:历史残留收纳区
Nano Banana 模式仅交付:
schematic.pngschematic_compacted.png
硬规则
- 开始前强制读取
config.yaml,以renderer、layout、color_scheme、evaluation、planning、output为单一真相来源。 - 默认仅处理用户明确提供的文件或目录,不联网抓素材。
- 默认保持
drawio流程;未被用户点名时,不要切到图片模型。 - 拥挤优先改
spec,不要优先缩字号;只有出现 overflow 风险时才减字号。 - 配色问题优先改
kind分配或结构,不用黑白方案掩盖结构错误。
主流程
1. 规划
- 推荐首次使用时先走“规划 → 审阅 → 生成”。
- 默认
planning_mode=ai:plan_schematic.py生成规划请求- 宿主 AI 产出
schematic-plan.md和spec_draft.yaml - 复跑脚本做合法性校验
- 若用户只给自然语言描述,也可直接以
--context启动规划。
2. 生成
python3 nsfc-schematic/scripts/generate_schematic.py \
--spec-file ./schematic_plan/spec_draft.yaml \
--output-dir ./schematic_output \
--rounds 5
- 流程包括:解析 spec、生成 draw.io XML、XML 预检、渲染、主评估、多维度自检、导出 best round。
- 如提供显式
edges,渲染器必须优先复现;否则按layout.auto_edges自动连线。
3. 评估与优化
- 默认最多 5 轮,阈值与停止策略只看
config.yaml:evaluation。 - 每轮至少输出:
evaluation.jsonlayout_debug.jsonedge_debug.jsonmeasurements.jsondimension_measurements.jsoncritique_structure.jsoncritique_visual.jsoncritique_readability.json
4. 可选:AI 自主闭环
- 当需要宿主 AI 根据证据包决定下一轮时,启用
evaluation.stop_strategy: ai_critic。 - 协议文件位于
.nsfc-schematic/ai/,主要包括:ai_critic_request.mdai_critic_response.yamlai_pack_round_XX/
5. 可选:Nano Banana PNG-only(Gemini / OpenAI gpt-image-2)
- 只有用户明确要求时启用。
- 先做连通性检查:
python3 nsfc-schematic/scripts/nano_banana_check.py
-
.env中可通过IMAGE_PROVIDER=openai切到 OpenAI;未显式指定时,默认优先沿用既有GEMINI_*配置。 -
再执行 PNG-only 生成:
python3 nsfc-schematic/scripts/generate_schematic.py \
--renderer nano_banana \
--spec-file ./schematic_plan/spec_draft.yaml \
--output-dir ./schematic_output \
--rounds 5
常用命令
# 规划
python3 nsfc-schematic/scripts/plan_schematic.py --proposal /path/to/proposal --output ./schematic_plan
# 生成
python3 nsfc-schematic/scripts/generate_schematic.py --spec-file ./schematic_plan/spec_draft.yaml --output-dir ./schematic_output --rounds 5
# 连通性检查
python3 nsfc-schematic/scripts/nano_banana_check.py
参考材料
config.yamlreferences/plan_template.mdreferences/design_principles.mdreferences/models/templates.yamlreferences/spec_examples/
More from huangwb8/chineseresearchlatex
systematic-literature-review
当用户明确要求"做系统综述/文献综述/related work/相关工作/文献调研"时使用。AI 自定检索词,多源检索→去重→AI 逐篇阅读并评分(1–10分语义相关性与子主题分组)→按高分优先比例选文→自动生成"综/述"字数预算→资深领域专家自由写作(固定摘要/引言/子主题/讨论/展望/结论),保留正文字数与参考文献数硬校验,强制导出 PDF 与 Word。支持多语言翻译与智能编译(en/zh/ja/de/fr/es)。
510nsfc-justification-writer
当用户明确要求"写/改 NSFC 立项依据""立项依据写作/重构"时使用。基于最小信息表输出价值与必要性、现状不足、科学问题/假说与项目切入点,并保持模板结构不被破坏。适用于 NSFC 及各类科研基金申请书的立项依据写作场景。
222nsfc-research-content-writer
当用户明确要求"写/改研究内容""研究内容+创新+年度计划编排"时使用。为 NSFC 正文"(二)研究内容"写作/重构,并同步编排"特色与创新"和"三年年度研究计划",输出可直接落到 LaTeX 模板的三个 extraTex 文件。
191nsfc-research-foundation-writer
当用户明确要求"写/改研究基础""研究基础+工作条件+风险应对编排"时使用。为 NSFC 正文"(三)研究基础"写作/重构,并同步编排"工作条件"和"研究风险应对",用证据链证明项目可行、资源条件对位研究内容、风险预案可执行。
137nsfc-abstract
当用户明确要求"写/润色 NSFC 标书摘要""生成中文摘要和英文摘要""把中文摘要翻译成英文摘要"时使用。输出中文、英文两个版本(英文必须是中文的忠实翻译版),同时输出标题建议(1个推荐标题+5个候选标题及理由)。中文摘要默认≤400字符,英文摘要默认≤4000字符。输出方式:将结果写入工作目录下的 `NSFC-ABSTRACTS.md`。⚠️ 不适用:用户只想翻译一段与标书无关的通用文本(应直接翻译);用户只想写立项依据/研究内容/研究基础正文(应使用对应 nsfc 系列 skill)。
109nsfc-reviewers
当用户明确要求"评审国自然标书"、"模拟专家评审"、"审阅 NSFC 申请书"时使用。模拟领域专家视角对 NSFC 标书进行多维度评审,输出分级问题与可执行修改建议。⚠️ 不适用:用户只是想写/改标书某个章节(应使用 nsfc-*-writer 系列技能)、只是想了解评审标准(应直接回答)、没有明确"评审/审阅"意图。
91