面向论文完整交付流程的 AI 科研创作平台。
从选题与文献、提纲与正文、在线编辑,到 Word/WPS 文档和答辩 PPT,让学术创作在同一个工作台内完成。
深墨不是把聊天窗口套在论文场景上,而是围绕“创建项目、组织材料、生成内容、持续编辑、导出交付”建设一套可恢复、可管理的论文工作流。
用户可以先确认论文参数和章节提纲,再决定哪些章节需要表格、图示、代码或公式。长时间生成任务由后台 Worker 执行,页面通过事件流持续接收进度;即使刷新页面或网络短暂断开,也可以从已经保存的正文检查点继续恢复。
| 能力 | 当前实现 |
|---|---|
| 论文项目与提纲 | 创建论文项目、配置专业与篇幅、调整章节结构,并按章节选择 AI 表格、图片、代码和公式能力。 |
| AI 正文生成 | 通过 BullMQ 后台任务逐节生成正文,支持流式进度、任务心跳、失败重试、取消、断线重连和检查点恢复。 |
| 在线论文编辑器 | 基于 Tiptap 编辑标题、段落、表格、图示、代码与 LaTeX 公式,支持正文保存和版本恢复。 |
| 文献与引用 | 接入万方和 Crossref,支持文献检索、论文参考文献管理及生成过程中的引用约束。 |
| Word/WPS 导出 | 后端异步生成 DOCX,统一处理论文排版以及表格、图片、代码和公式等富内容,导出后仍可继续编辑。 |
| 答辩演示文稿 | 从论文生成答辩大纲和 PPTX,支持管理员维护企业、学校模板及不可变模板版本。 |
| 文件资产 | 用户文件保存在私有 OSS,通过短时签名访问,并提供到期清理和删除失败重试。 |
| 用户与权限 | 支持注册登录、双令牌刷新、设备会话、用户状态管理,以及普通用户和管理员权限隔离。 |
| 公告与服务 | 用户查看平台公告;管理员发布公告、处理用户工单、回复问题并维护工单状态。 |
| AI 用量统计 | 记录每次模型调用的用量和费用,支持管理员统计及供应商账单自动核对。 |
工作台还提供封面设计、文本降重、账户、套餐、订单和代理中心等业务入口,并在核心论文链路稳定的基础上持续完善。
flowchart LR
User["用户 / 管理员"]
Docs["Docs 官网<br/>产品介绍与使用入口"]
Web["Next.js Web 工作台<br/>论文编辑 / 用户端 / 管理端"]
API["NestJS API<br/>认证 / 论文 / 引用 / 公告 / 工单"]
Worker["BullMQ Worker<br/>论文生成 / PPT / 文件清理"]
Redis[("Redis<br/>任务队列 / Stream 事件")]
PG[("PostgreSQL<br/>业务数据 / 版本 / 用量")]
OSS["私有 OSS<br/>图片 / DOCX / PPTX"]
Model["大模型服务<br/>正文 / 大纲 / 改写"]
Citation["文献服务<br/>万方 / Crossref"]
User --> Docs
User --> Web
Web -->|"HTTPS / OpenAPI"| API
API -->|"SSE 进度"| Web
API --> PG
API --> Redis
API --> OSS
API --> Citation
API -->|"提交长任务"| Redis
Redis --> Worker
Worker --> PG
Worker --> OSS
Worker --> Model
- Web 工作台把用户确认的论文参数、提纲和文献提交给 API。
- API 在 PostgreSQL 创建任务快照,再把任务编号放入 Redis 队列。
- Worker 在后台领取任务,逐章调用模型并持续写入正文检查点。
- API 通过 SSE 把 Redis Stream 中的进度和正文增量推送给编辑器。
- 任务完成后保存最终文档版本,用户可以继续编辑、导出 DOCX 或生成答辩 PPT。
这种拆分让网页请求不会被长时间 AI 生成占住,也便于增加 Worker、恢复中断任务和统一处理失败重试。
| 仓库 | 主要职责 |
|---|---|
| DeepInk | pnpm + Turborepo 前端 Monorepo,包含 Docs 官网、Next.js Web 工作台和共享工程配置。 |
| DeepInk-Core | NestJS API 与 Worker,负责论文、文献、AI 任务、DOCX/PPTX、文件资产、权限、公告、工单和用量统计。 |
apps/
├─ docs/ 产品官网与品牌入口
└─ web/ 用户工作台、论文编辑器与管理后台
packages/
├─ ui/ 共享界面组件
├─ eslint-config/
└─ typescript-config/
src/
├─ papers/ 论文、提纲、正文和生成任务
├─ paper-exports/ DOCX 导出与富内容渲染
├─ presentations/ 答辩 PPT 与模板中心
├─ citation/ 文献检索与引用
├─ files/ 私有文件资产
├─ auth/ 登录、会话和权限
├─ announcements/ 平台公告
├─ tickets/ 用户工单与管理员处理
├─ ai-usage/ 模型用量和费用核对
└─ openapi/ OpenAPI 与 Scalar 接口文档
| 层级 | 技术选型与做法 |
|---|---|
| 前端 | Next.js 16、React 19、TypeScript、Tailwind CSS、shadcn/radix-ui、TanStack Query、Tiptap、Zod。 |
| 后端 | NestJS 11、TypeORM、PostgreSQL、class-validator、OpenAPI、Jest。 |
| 异步任务 | Redis、BullMQ、独立 Worker、任务心跳、指数退避、Redis Stream。 |
| AI 与文献 | 通义千问兼容接口、LangChain、万方、Crossref,以及超时、缓存、并发限制和熔断保护。 |
| 文档能力 | Tiptap JSON、KaTeX、Mermaid、DOCX、pptx-automizer、PowerPoint/WPS 可编辑文件。 |
| 文件与安全 | 私有阿里云 OSS、短时签名、JWT 双令牌、角色权限、CORS/HTTPS 校验和结构化日志。 |
| 接口契约 | 后端生成 OpenAPI,前端自动生成 TypeScript 类型,减少手写接口字段不一致。 |
我们更关注一条真实论文能否安全生成、稳定恢复、持续编辑并正确交付,而不是单次生成看起来是否足够热闹。
Deep 代表对知识与写作过程的深入理解,Ink 代表最终落到纸面、可以交付的成果。
深墨希望让 AI 真正参与科研创作的每一个可靠步骤。
