Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>Scholar Writing AssistantNew to Visual Studio Code? Get it now.
Scholar Writing Assistant

Scholar Writing Assistant

Xianwei Zhang

|
11 installs
| (0) | Free
Phase-aware academic writing cockpit with diagnostics, style-RAG rewrite, and methodology-driven next actions
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Scholar Writing Assistant

Scholar Writing Assistant 是一个面向中文法学学术写作的 VS Code / CodeArts 插件。它把 Markdown 手稿、法学引注、中文排版、修辞诊断、提示词管理和写作技能调度放在同一个编辑器工作流里。

当前文档对应代码版本:0.4.13。

核心能力

  • 中文排版:空白清理、中英文间距、智能引号配对。
  • 法学引注:选区引注格式化、全文引注诊断与格式化。
  • 学术分析:Prompt Studio、选区改写、论证审计、模板导入。
  • 写作技能:导入本地技能目录,并根据选中文本生成技能 prompt。
  • 修辞工具:修辞动作标注、句型检索、写作仪表盘。
  • Flow Engine:语域断裂检测、语流预期检验,帮助检查段落从具体事实跳回抽象论断时是否缺少过渡。
  • 导出:Markdown 手稿导出为 Word .docx。

Pilot 写作驾驶舱(v0.2+)

侧边栏的 Scholar 视图现在显示一个跟随活动编辑器的"驾驶舱":

  • 阶段:从路径 / 文件名 / 契约文件 / frontmatter 推断当前阶段(00_选题 → 07_成果)。
  • 诊断条:实时运行《法学引注手册》排版、中英文间距、引号配对、引注核验、语流断裂、修辞动作识别——点击行跳到出错点,点 修复 一键应用。
  • 契约:自动读取项目根的 THESIS-SPEC.md / OUTLINE.md / CONCEPTS.md 完成度。
  • 下一步:根据阶段 + 契约状态推荐动作,缺 spec 时强制顶置「创建 THESIS-SPEC.md」。
  • 范文检索改写:选中文本 → Cmd/Ctrl + Alt + Shift + Y → 选择目标(润色/论证加强/修辞替换)→ 系统从 Profile(必需)/ Zotero(可选)检索范文 → LLM 改写 → Diff 预览 → Cmd/Ctrl+Enter 接受。

配置

设置 默认 说明
writingAgent.styleRag.corpus ["profile:*", "vector:*"] 范文库来源数组
writingAgent.styleRag.k 5 检索条数
writingAgent.styleRag.defaultMode ask 带 styleRag 标记的模板默认检索模式
writingAgent.legacyViews false 显示旧版 Diagnostics / Flow TreeView
writingAgent.inlineDiagnostics false 在 Markdown 中显示 Scholar diagnostics 波浪线
writingAgent.codeLens false 在段落上方显示自动匹配技能的 CodeLens

快速开始

npm install
npm run build
npm test
node test/test-basic.js
npm run test:e2e

在 VS Code 或 CodeArts 中打开本目录,按 F5 启动扩展开发宿主。也可以运行:

bash final-verify.sh

主界面

安装插件后,VS Code 左侧 Activity Bar 会出现 Scholar 图标。默认显示 Workspace (Dashboard)、LLM Inspector、Library 三个视图;启用 writingAgent.legacyViews 后,才会额外显示旧版 Diagnostics 与 Flow Engine TreeView。Library 把原先的 Skills / Templates / Prompts 合并成一个三段式树视图。

LLM Inspector 会显示当前 LLM 设置、最近一次最终发送给模型的 prompt、请求状态和返回结果落点,方便检查 Prompt Studio、模板和选区改写实际调用了哪个模型与接口。

韵律引擎(可选)

Flow Engine / 完整诊断中的 D1–D9 韵律指标默认走插件自带的 fallback 实现:依赖少、零配置即可用,但精度低于完整版(hanyu-prosody-lab)。

若你拥有 hanyu-prosody-lab 源码,可以在 VS Code 设置里指向它的 engine/ 目录:

  • 设置项:writingAgent.prosody.enginePath
  • 取值:完整版 engine/ 目录的绝对路径,例如 /Users/<you>/path/to/hanyu-prosody-lab/prosody-diagnose/engine
  • 留空时使用 fallback。

修改设置后插件会自动重启 sidecar,无需重载窗口。

常用命令

  • Scholar: Format Document (中文排版)
  • Scholar: Import Sample Data (导入范文)
  • Scholar: Format Selected Citation (法学引注)
  • Scholar: Format All Citations in Document
  • Scholar: Prompt Studio (学术分析)
  • Scholar: 改写/审计选中文本
  • Scholar: Run Full Diagnosis
  • Scholar: Writing Dashboard (写作仪表盘)
  • Scholar: Detect Register Shifts in Selection (选区语域断裂检测)
  • Scholar: Expect-Next Flow Check (语流预期检验)
  • Scholar: Save Prompt (保存提示词)
  • Scholar: Export to Word (.docx)

快捷键

  • Cmd/Ctrl + Alt + Shift + ;:格式化当前 Markdown 文档。
  • Cmd/Ctrl + Alt + Shift + C:格式化选中引注。
  • Cmd/Ctrl + Alt + Shift + K:根据选区调度写作技能。
  • Cmd/Ctrl + Alt + Shift + L:把当前编辑器文件导入为范文 Profile 样本。
  • Cmd/Ctrl + Alt + Shift + T:打开 Prompt Studio。
  • Cmd/Ctrl + Alt + Shift + R:改写或审计选中文本。
  • Cmd/Ctrl + Alt + Shift + E:导出 Word。
  • Cmd/Ctrl + Alt + Shift + D:打开写作仪表盘。
  • Cmd/Ctrl + Alt + Shift + N:对选中句子运行语流预期检验。
  • Cmd/Ctrl + Alt + Shift + Y:范文检索改写。

API 配置

切换 provider/模型最快的方式:命令面板执行 「Scholar: 切换 LLM Provider…」(一次同时设定 provider + model)。

配置项 说明 默认值
writingAgent.api.provider qwen-token-plan / deepseek / mimo-token-plan / gemini / custom qwen-token-plan
writingAgent.api.deepseek.apiKey DeepSeek API key(按量计费) ""
writingAgent.api.mimo.apiKey 小米 MiMo Token Plan API key ""
writingAgent.api.qwen.apiKey 阿里云百炼 Qwen Token Plan API key ""
writingAgent.api.gemini.apiKey Gemini API key(按量计费,OpenAI 兼容端点) ""
writingAgent.api.apiKey 自定义 provider 用的 key(也作为兼容回退) ""
writingAgent.api.baseUrl Base URL 覆盖;留空时按 provider 套预设 ""
writingAgent.api.model model 覆盖;留空时按 provider 套预设 ""
writingAgent.api.protocol 协议覆盖;留空时按 provider/baseUrl 自动判断 ""

各 provider 默认 baseUrl + 推荐模型:

默认每家只启用最新旗舰大模型(如需 flash / mini 等,用 writingAgent.api.model 手填覆盖):

  • Qwen Token Plan — https://token-plan.cn-beijing.maas.aliyuncs.com/apps/anthropic · qwen3.7-plus(可切 qwen3.7-max / qwen3.6-flash)
  • DeepSeek (按量计费) — https://api.deepseek.com/anthropic · deepseek-v4-pro
  • 小米 MiMo Token Plan — https://token-plan-cn.xiaomimimo.com/anthropic · mimo-v2.5-pro(订阅后控制台发放专属 Base URL;模型 ID 加 [1m] 后缀启用 1M 上下文)
  • Gemini (按量计费) — https://generativelanguage.googleapis.com/v1beta/openai · gemini-3.1-pro-preview(默认)/ gemini-3.5-flash(两者均可在 provider 选择器直接切换;密钥在 https://aistudio.google.com/apikey)

需要调用 LLM 的功能包括 Prompt Studio、选区改写、修辞动作识别、语域断裂检测和语流预期检验。

Embedding 配置(Style-RAG 向量库)

向量索引使用独立的 embedding provider;聊天用的 MiMo Token Plan 与 DeepSeek 按量端点都不提供 embedding,需走 Gemini 或阿里云百炼 Qwen Embedding。最快配置方式:命令面板执行 「Scholar: 切换 Embedding Provider…」。

配置项 说明 默认值
writingAgent.embedding.provider qwen / gemini / custom qwen
writingAgent.embedding.gemini.apiKey Gemini API key(按量计费) ""
writingAgent.embedding.qwen.apiKey 阿里云百炼 API key(OpenAI 兼容 embedding 端点) ""
writingAgent.embedding.apiKey 自定义 embedding provider 用的 key(也作为兼容回退) ""
writingAgent.embedding.baseUrl Embedding Base URL 覆盖;自定义 provider 必填 ""
writingAgent.embedding.model Embedding model 覆盖;留空时按 provider 套预设 ""
writingAgent.embedding.protocol openai / gemini 协议覆盖;留空跟随 provider ""
writingAgent.embedding.dimensions 可选输出维度;0 表示不传,使用服务端默认 0

各 embedding provider 默认 baseUrl + 推荐模型:

  • 阿里云百炼 Qwen Embedding — https://dashscope.aliyuncs.com/compatible-mode/v1 · text-embedding-v4(默认 1024 维,最长 8192 tokens)/ text-embedding-v3
  • Gemini Embedding — https://generativelanguage.googleapis.com/v1beta · gemini-embedding-001 / text-embedding-004

验证与打包

npm run build
npm test
node test/test-basic.js
npm run test:e2e
npm run package:vsix

构建链路说明:

  • npm run compile:运行 TypeScript 编译,输出 out/,用于类型检查和 smoke test。
  • npm run bundle:用 esbuild 将 VS Code 扩展入口打包为 dist/extension.js。
  • npm run build:先 compile,再 bundle,也是调试和发布前的默认构建命令。
  • npm run test:e2e:用本机 VS Code 运行 Extension Host smoke,验证扩展能真实激活并注册核心命令。
  • npm run package:vsix:需要 Node.js 20+,运行 pinned 本地 @vscode/vsce 与 vscode:prepublish,生成只包含 bundle、资源文件和 Python sidecar 的 VSIX。

VSIX 产物路径:

dist/scholar-writing-assistant-<version>.vsix

发布包边界:

  • 包含:dist/extension.js、resources/、python/、readme.md、LICENSE.txt、changelog.md、package.json。
  • 不包含:src/、out/、test/、node_modules/、.vscode/、本地脚本和旧调试文件。

项目结构

  • src/core/formatEngine/:中文排版、引号、引注。
  • src/core/promptStudio/:学术分析模板。
  • src/core/skillDispatcher/:本地技能导入与 prompt 生成。
  • src/core/flowEngine/:语域断裂与语流预期检验。
  • src/providers/:VS Code 命令、TreeView、webview、diagnostics。
  • resources/:webview 静态资源。
  • test/:Vitest 单元测试和 smoke test。

许可证

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft