Folio: Writing LaTeX, Compiling PDFs, and Reviewing AI Edits in DeepSeek Harness

前言

在 DeepSeek Harness(DSH)里做智能体或工具链开发时,主界面通常是对话与插件槽位;若你要写论文、报告或技术文档,往往还要另开编辑器、本地 TeX 发行版和 PDF 阅读器,改稿与问模型之间还要来回复制路径和编译日志。Folio 是社区维护的 DSH 客户端插件:在 Harness 侧栏增加 Folio 写作 页面,把 LaTeX 源码、PDF 预览和 Harness 原生对话放在同一工作区,TeX 在本机编译,助手只能提出修改建议,由你在差异视图里应用或舍弃。

这是什么

Folio(npm 包名 dsh-folio,当前版本 0.2.0,MIT 许可证)由 Meinianda-L 维护,是面向 DeepSeek Harness 的 LaTeX 写作工作区插件。一句话定位:在 Harness 里写 LaTeX、编译成 PDF,并通过你已配置好的模型在原生 Harness 对话里协作;文稿是磁盘上的普通文件夹,不需要为 Folio 单独注册账号或 API Key。

社区目录页:skillhub.cn/plugins/Meinianda-L/folio(独立站点,与 DeepSeek / 幻方无官方从属关系)。源码与说明:github.com/Meinianda-L/folio(GitHub 上约 2 stars)。

核心功能

下面按 README 已说明的能力归纳;未在资料中出现的不展开。

编辑器与项目

  • CodeMirror 6 LaTeX 高亮;约 150 个常用命令与 30+ 环境的 \ 补全,Tab 跳转占位符。
  • 项目级补全:\ref{ / \cref{ 对全项目 \label;\cite{ 对 .bib;\input{、\includegraphics{、\usepackage{、\documentclass{ 对文件与宏包。
  • 停止输入约 1 秒后自动保存,并用哈希避免覆盖磁盘上的外部改动;搜索替换、括号匹配、CJK -aware 字数统计。
  • 格式工具栏与右键菜单:常见 LaTeX 结构、在 PDF 中定位(SyncTeX 反向)、编辑器设置(字号、字体、七套配色等)。

PDF 预览与 SyncTeX

  • PDF.js 连续页预览,文字可选中复制; pinch 或 ⌘/Ctrl + 滚轮以指针为中心缩放,重建后保持页码与位置。
  • 双击 PDF 跳到对应源码行(含 \input 引入的文件);工具栏或右键 Show in PDF / 在 PDF 中定位 从源码跳到 PDF。

编译与 TeX 环境

  • 引擎:pdfLaTeX、XeLaTeX、LuaLaTeX、Tectonic;支持 BibTeX/Biber 与必要时的重编译。
  • ⌘/Ctrl + S 保存并编译,⌘/Ctrl + Enter 仅编译;可开启保存时自动编译。问题列表可点击跳到文件与行;上一次成功的 PDF 会保留在磁盘上。
  • TeX 环境 对话框:列出检测到的工具、版本与路径;在指定目录、Harness PATH 及常见安装位置中查找 MacTeX / TeX Live / TinyTeX / MiKTeX;Test rendering / 测试渲染 对各引擎与中文(ctex)做小样编译。

导入与文稿库

  • 导入 .zip(如 Overleaf 导出)或文件夹,可拖拽;跳过隐藏项、.git、__MACOSX 与常见编译产物;自动识别主文件(优先 main.tex)与引擎(% !TEX program = 或按 fontspec/ctex 等推断)。

助手与审阅

  • 每份文稿对应 Harness Workspace,对话为其中的 Session,侧栏可见;切换、新建、归档对话,可一键归档空对话。
  • 助手在工具层仅可使用 folio_project:列/读文件、编译、读上次构建结果、propose_patch(精确 find/replace 或整文件)。修改以 diff 呈现,应用前你可审阅;写作会话被限制为上述工具,不能借 shell 等绕过审阅。
  • 每轮对话会附带当前文稿、文件、光标、选区与最近编译错误等上下文,无需手动粘贴。

界面与集成

  • 视觉与明暗主题跟随 Harness 设计令牌;面板可开关、缩放;助手可拖出浮窗或停靠左/右/底。

环境要求

资料中写明的依赖如下:

  • DeepSeek Harness:0.2.1-rc.2 系列(web profile);package.json 中 dsh 引擎范围为 >=0.2.1-rc.2 <0.3.0。
  • Node.js 24+。
  • 本机 TeX 发行版(启动 Harness 时 PATH 中最好已有;若无,Folio 仍常能自动发现,或在 TeX 环境 中指定 bin 目录)。Linux 示例包:texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-xetex;中文另需 texlive-lang-chinese 及字体。Tectonic 为可选引擎。

安装与启用

官方 README(含 README.zh-CN.md)给出的安装步骤如下。仓库已附带构建好的 client.js,按文档说明可直接使用,无需自行 npm run build。

git clone https://github.com/Meinianda-L/folio.git
cd folio
npm install --omit=dev
dsh plugin --profile web add "$(pwd)"

完成后重启 dsh web,在 Harness 侧栏打开 Folio 写作。

更新插件时,在仓库目录执行 git pull 与 npm install --omit=dev,再重启 Harness;若仅浏览器端 client.js 变更,刷新页面即可。

安全说明:插件以当前 DSH 进程权限运行,可读写其配置的文稿目录并调用本机 TeX。安装前请自行阅读源码与 MIT 许可证,确认可信后再加入 profile。

典型用法

README 中的可复现流程可概括为:

  1. 在文稿库新建文稿(英文论文、中文 ctexart 或空白模板),或导入已有 zip/文件夹。
  2. 写作:文件树、源码与 PDF 并排;★ 标记主文件;图片或 .bib 可拖到文件树上传。
  3. 编译:工具栏,或 ⌘/Ctrl + S / ⌘/Ctrl + Enter;点编译状态查看问题列表。
  4. 问助手:在嵌入的对话里选模型,例如精简摘要或修复编译错误;先选中文本可限定范围。
  5. 审阅:出现修改建议时打开 diff,应用或舍弃(仅当文件自建议生成后未被改动时应用才会成功)。

常用快捷键(与 README 一致):

快捷键 作用
⌘/Ctrl + S 保存并编译
⌘/Ctrl + Enter 编译
\ 命令补全
双击 PDF 跳到对应源码行

配置与数据位置

  • 默认文稿根目录:~/Documents/DSH-Folio。若要更换,在 profile 的 cordis.patch.yml(例如 ~/.dsh/profiles/web/cordis.patch.yml)中增加:
- id: folio
  config:
    projectRoot: /Users/you/Papers
  • 环境变量 DSH_FOLIO_TEX_CACHE:Tectonic 预热缓存所在的 XDG 缓存根(默认 XDG_CACHE_HOME 或 ~/.cache)。

每份文稿在 projectRoot 下以 ID 建目录,含 project.json、源文件与 .folio/(如 output.pdf、build.json、proposals.json)。删除文稿会移入 .trash/,而非立即抹掉。

适用场景与注意

适合:已在用 DSH web profile、希望在本机写 LaTeX、看 PDF、并用同一套 Harness 模型做润色或修编译错误,且希望 AI 不能直接改文件的单用户场景。

不适合(README「不包含」):多人协作、分享链接、公网隧道、独立账号体系或 Folio 自带的 API Key 存储。

限制(资料原文):编译全局串行、项目内文件与大小上限、原生 TeX 并非 OS 级沙箱——Folio 面向你信任的本机项目。编译在临时快照中进行,有超时与 openin_any 等约束;请勿把不可信来源的 TeX 项目直接交给本机引擎。

结尾

Folio 把 LaTeX 编辑、真实 TeX 构建、PDF 预览与 Harness 原生对话收进一个插件页,并用 propose_patch + diff 审阅把「AI 改稿」约束在可接受的流程里。若你在 DSH 生态里找客户端侧的论文写作工具,可从社区目录与 GitHub 阅读完整说明后再安装:

  • 目录页:https://www.skillhub.cn/plugins/Meinianda-L/folio
  • 仓库:https://github.com/Meinianda-L/folio
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye