ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

学术星轨ScholarMatrix:从零搭建科研AI工作台与Agent工作流实战指南

学术星轨ScholarMatrix:从零搭建科研AI工作台与Agent工作流实战指南 1. 项目背景为什么我们要给科研人搭一座 AI 工作台先说说我做这件事的动机。我长期关注科研工具链经常见到实验室里的博士生和青年老师被几件事反复折磨文献读不完、读完记不住、记住了又写不出来、写出来了引用格式又是一团乱麻。市面上的工具其实不少——有专注文献管理的有做英文润色的有生成参考文献的——但它们是割裂的。你在 Zotero 里划高亮切到 Word 里写作再开一个网页查格式思路断了无数次。真正缺的是一个能把“读-想-写-改”串起来的系统。这也是“学术星轨 ScholarMatrix”这个名字的由来它像一条轨道让你的科研工作沿着稳定的路径推进。这个工作台本质上是一套 AI 应用底层接了大模型上层做了一层围绕科研场景的 Agent 编排。它做的事情概括起来就一句话从你输入一个研究方向开始帮你检索文献、提炼要点、梳理脉络、生成大纲、撰写初稿、润色修改到最后按目标期刊格式整理参考文献。我在做之前给自己定了三条原则一是所有核心数据必须可控不能把课题组未发表的内容随意扔给外部服务二是流程必须透明AI 负责干活但每一步用户都要能看见、能改三是必须真的能提升效率而不是为了“AI 赋能”而硬造功能。后面这篇博文我会把 ScholarMatrix 从零到一的拆解过程、踩过的坑、跑出来的效果全部写出来给同样想搭科研 AI 工作台的朋友一份可以直接抄的作业。整个项目适合三类人参考第一类是科研人员想理解 AI 工具背后的逻辑知道它的边界在哪里第二类是开发者和产品经理想做一个垂直领域的 AI Agent 应用第三类是实验室管理者想评估“自建科研 AI 工具”这件事值不值得投入。2. 核心设计思路学术星轨 ScholarMatrix 的架构与选型逻辑2.1 为什么选“Agent 工作流”而不是“单点 AI 功能”我见过不少团队做学术 AI 工具最常见的问题是做成了一堆零散按钮一个“AI 总结”、一个“AI 翻译”、一个“AI 润色”。每个功能单独看都行连起来用却难受得要命——因为上下文是断的。你在“AI 总结”里让它总结了一篇文献切到“AI 润色”时它根本不记得刚才总结过什么你得重新把内容贴一遍。ScholarMatrix 从一开始就决定走 Agent 工作流路线。核心思路是把科研流程拆成几个有依赖关系的阶段让大模型在阶段之间传递结构化的上下文。所谓 Agent不是某一个模型接口而是一套带目标、带记忆、带工具调用能力的执行体。比如“文献阅读 Agent”它的目标不是“总结这篇 PDF”而是“把这个 PDF 的内容消化成符合知识库 schema 的条目并和已有文献建立关联”。它知道自己要调用哪些工具、输出什么格式、把结果存到哪个位置。这样做的好处有三个。第一上下文连续。写作 Agent 调用参考资料时不是重新读一遍 PDF而是直接读知识库里已经结构化好的文献笔记速度和质量都上来了。第二逻辑可审计。每个 Agent 的输入输出都留痕用户可以点开查看“它为什么认为这篇文献和我的课题相关”。第三流程可编排。如果某个学科有特殊需求比如化学要处理 SMILES 字符串医学要处理临床指南分级只需要替换或新增一个 Agent不用动整体架构。2.2 从找文献到写论文的四大模块闭环ScholarMatrix 的功能架构按科研流程分成四个模块文献采集、知识构建、写作辅助、质量审校。这四个模块不是平行关系而是接力关系。文献采集模块负责“找”。它接入了多个公开学术数据库的检索接口也支持本地上传 PDF。检索结果不是简单列个列表就完事而是会自动做一轮粗筛根据你的研究方向和已有知识库的标签给每篇文献打一个“预判相关度”分数相关度高的才会进入精读队列。知识构建模块负责“读”。这是最核心的一环。每篇进入精读队列的论文系统会先做 OCR 和格式解析然后分段向量化存入知识库。接着会调用结构化抽取 Agent把研究问题、方法、数据集、结论、局限这五个字段抽出来形成一篇文献的结构化笔记。这些笔记会和用户自己的批注、高亮合并成为后续写作的知识底座。写作辅助模块负责“写”。它支持两种模式一种是你有明确想法只让 AI 帮你扩写和组句另一种是你只有一个大方向让 AI 基于知识库生成带引用标记的初稿。第二种模式我会在后面实操部分详细演示因为这是最复杂、也最容易翻车的功能。它本质上是把“读文献-列提纲-找论据-写初稿”压缩成一条流水线但每一步都留有大量人工微调空间。质量审校模块负责“改”。它做四件事语言润色、逻辑连贯性检查、引用完整性校验、格式规范化。引用完整性校验是很多人忽略但特别重要的功能——学术写作里最尴尬的事是正文引用了 [12] 但参考文献表里根本没有第 12 条。ScholarMatrix 会用规则引擎加模型判断双重校验引用关系把这类低级错误提前拦下来。2.3 技术选型模型、框架与向量数据库的取舍技术选型是踩坑最多的地方我把最终方案和理由列出来供你参考。模型层用的是“本地小模型 云端大模型”双通道。核心敏感数据比如课题内容、未发表数据默认走本地部署的开源模型选的是 Qwen 系列和 Llama 系列的中小尺寸版本。它们跑在实验室的一台双卡工作站上显存 48GB量化后单模型占用不到 20GB推理速度足够日常使用。涉及复杂的学术理解和风格化改写如果用户自己配置了云端 API Key系统会判断任务复杂度自动切换到大模型。为什么要保留双通道因为科研数据的高度敏感性我之前见过有课题组因为把未发表论文贴进在线 AI 工具结果被第三方平台抓取引发不小的麻烦。自建工作台的第一原则就是用户的数据主权不能妥协。框架层用的是 Spring AI 加自研的轻量 Agent 编排组件。Spring AI 的好处是和现有 Java 技术栈无缝集成团队里做后端的同事不用学新语言而且它对模型接口做了统一抽象换模型厂商只改配置不改业务代码。Agent 编排没有用现成的 heavyweight 框架而是基于状态机自己写了一套因为科研流程的状态依赖比较固定。数据层最重要的是向量数据库。文献切块后的向量索引、知识库条目的语义检索都靠它。我们对比过 Milvus、Chroma 和 Qdrant最后选了 Milvus原因是数据量上来之后Milvus 在过滤查询和混合检索向量 标量上的表现更稳。当然如果只是个人使用数据量在十万条以内Chroma 完全够用部署更轻。前端是一个简洁的 Web 工作台技术栈就是 React 加 Vite。界面设计的原则是“所有 AI 行为可见可撤销”。每条 AI 生成的内容旁边都有“查看依据”“重新生成”“人工编辑”三个按钮绝不让模型直接覆盖用户的原始文本。3. 实操过程一步一步把 ScholarMatrix 搭出来3.1 环境准备与模型部署参数我先把我们实验室的硬件环境列出来方便你对照评估。主力机是一台双卡工作站两张 RTX 4090 显卡每张 24GB 显存CPU 是 64 核的 Threadripper内存 256GB。这个配置跑 7B-14B 量级的量化模型非常舒服跑 32B 模型会有点紧张但也能用。操作系统是 Ubuntu 22.04 LTS所有服务用 Docker Compose 编排。模型部署用 vLLM它是目前吞吐量和显存利用率最均衡的推理框架。以 14B 模型为例用 AWQ 量化后显存占用大概 12GBcontext length 开到 32K单卡可以支撑 30 人规模的课题组日常使用。启动一个模型的配置大致是这样# docker-compose.yml 节选 services: vllm: image: vllm/vllm-openai:latest command: --model Qwen/Qwen2.5-14B-Instruct-AWQ --quantization awq --tensor-parallel-size 2 --max-model-len 32768 --gpu-memory-utilization 0.9 ports: - 8000:8000 volumes: - /data/models:/root/.cache/huggingface deploy: resources: reservations: devices: - driver: nvidia count: 2 capabilities: [gpu]这里有几个参数值得多说一句。tensor-parallel-size 2表示把模型切分到两张卡上并行推理14B 模型单卡也能跑但双卡可以把吞吐量翻一倍多人同时用的时候体感差异很大。gpu-memory-utilization 0.9是让 vLLM 尽量多用显存做 KV Cache如果设置为默认值 0.9 以下长对话场景下很容易爆显存或者频繁触发显存回收反而更慢。启动之后可以用一段简单代码验证服务是否正常curl http://localhost:8000/v1/models如果返回模型列表就是正常。后面所有 Agent 的服务都通过 OpenAI 兼容接口访问这个本地端点和调用云端 API 的代码几乎一样切换成本极低。这也是当时选 vLLM 的一个重要原因——它兼容 OpenAI 的协议意味着你面向云端的代码可以无缝跑在本地。3.2 文献入口与知识库构建流程文献采集这一步ScholarMatrix 支持三种输入方式手动录入元数据、导入 BibTeX 文件、直接上传 PDF。前两种没什么技术含量关键是第三种。PDF 进来之后会先经过一道预处理流水线先用 PDF 解析库把文字和版式抽出来遇到扫描版的老论文就自动触发 OCR接着按语义把全文切成几个段落块比如摘要、引言、方法、实验、结论每一块再做向量化。这里踩过一个特别值得说的坑。最开始我们直接用整篇论文生成一个向量检索的时候召回质量特别差。查下来发现问题是论文这个方法部分和结论部分的语义差异太大整篇一个向量会把信息平均化。改成“按章节切块、每块一个向量”之后检索命中率提升非常明显。更细一步方法部分如果论文里有多个实验还可以继续按子标题切但粒度不能太碎否则语义不完整。向量化之后系统会调用结构化抽取 Agent 生成文献笔记。给这个 Agent 的提示词里我要求它必须输出一个严格的 JSON 结构包含研究问题、方法、数据集、关键结论、局限性、和你数据库里已有文献的关系。最关键的是最后一项——让模型去知识库里检索相似文献然后判断这篇新文献和它们之间是支撑、对比还是矛盾关系。这一步做得好后面写综述的时候价值巨大因为你相当于让机器帮你把相关文献的“社交网络”给编织好了。关于向量库我们用的 Milvus 采集接口大概长这样from pymilvus import connections, Collection, FieldSchema, CollectionSchema, DataType connections.connect(hostlocalhost, port19530) fields [ FieldSchema(nameid, dtypeDataType.INT64, is_primaryTrue), FieldSchema(namepaper_id, dtypeDataType.INT64), FieldSchema(namechunk_index, dtypeDataType.INT64), FieldSchema(namecontent, dtypeDataType.VARCHAR, max_length65535), FieldSchema(nameembedding, dtypeDataType.FLOAT_VECTOR, dim1024) ] schema CollectionSchema(fields, descriptionpaper chunks) collection Collection(namescholar_papers, schemaschema)向量维度是 1024取决于你用的 Embedding 模型。这里建议不要用那种特别小的 Embedding 模型在科研论文这种专业文本上维度太低信息容量不够语义检索效果会明显下降。我们用的是 bge-large-zh 的变体对中英文混合的学术文本表现比较均衡。3.3 写作 Agent 的工作流编排细节写作辅助是 ScholarMatrix 最复杂也最体现架构设计的模块。我拿“根据知识库生成某个章节初稿”这个场景来拆解。第一步是任务规划。用户在界面上选择要写的章节比如“综述-关于知识蒸馏在医疗影像中的应用”再勾选参考的知识库标签。系统会启动一个规划 Agent它先检索知识库里所有打了相关标签的文献笔记然后输出一份这个章节的子提纲每个子标题下列出要引用的文献 ID。这一步的意义是让“写什么”“引用什么”在动笔之前就确定下来避免生成到一半发现论据不足。第二步是分段生成。规划完成后系统为每个子标题创建一个独立的生成任务。每个任务会把对应章节的上下文、需要引用的文献笔记、已有的写作风格模板打包成一个 prompt发给模型。这里有一个关键技巧不要把整章一次性生成。虽然现在大模型支持长上下文但长文本生成的质量会随时间衰减——开头写得清楚后面就开始啰嗦重复。按 500-800 字一个小节来生成再在后处理阶段拼接质量明显更稳定。第三步是引用对齐。每篇文献笔记里都会有一个唯一 ID模型生成文本时我们要求它用[CITE:{paper_id}]这样的占位符来标注应该插入引用的地方。生成结束后后处理模块会扫描全文把占位符替换成真正的引用序号再据此生成参考文献列表。这个设计的核心作用是把“生成内容”和“生成引用列表”解耦模型只负责在正确的位置打标记格式细节交给规则引擎处理出错率大幅下降。3.4 提示词设计的核心套路我会把这些提示词模板分享出来因为它们凝聚了调试过程中最关键的领悟。学术星轨的每一个 Agent 都使用“系统提示词 任务指令 结构约束”的三层结构。给写作 Agent 的系统提示词经过多轮迭代后是这样一个版本你是一名学术写作助手服务对象是科研工作者。你的任务是基于给定的结构化文献笔记撰写出符合学术规范的段落文本。 必须遵守的规则 1. 只使用给定笔记中的信息不得自行补充来源不明的事实。 2. 每一句关键论断后面标注对应的文献引用标记 [CITE:{paper_id}]。 3. 表达风格客观、精简、逻辑清晰避免空泛的评价性语言。 4. 如果笔记中的信息不一致在文本中如实反映而不是强行统一。 5. 输出格式只输出段落正文和引用标记不输出标题、解释或额外说明。第 2 条和第 4 条是我认为最核心的。第 2 条保证了引用可追踪第 4 条是让模型不要为了“看起来顺”而掩盖文献之间的矛盾这在学术综述里尤其重要——综述的价值往往就在于指出不同研究之间的分歧。任务指令部分每次生成时动态拼入用户选择的章节标题、子提纲、以及检索到的文献笔记。结构约束部分则是拼接一个输出示例告诉模型什么样的格式是合格的。三层缺一不可只给系统提示词模型容易跑偏只给任务指令模型容易忽略规则只给输出示例模型会照葫芦画瓢但理解不了规则背后的意图。3.5 审校模块润色、降 AI 味与格式校验写完初稿只是第一步审校模块承担的是质控职责。这里要特别说一下“降 AI 味”这个功能——不是网上那些所谓“降重工具”的套路而是真从语言模型容易犯的毛病入手做修正。AI 生成的学术文本有三个典型特征一是过度使用连接词比如“此外”“值得注意的是”“综上所述”满天飞二是句式结构高度雷同每句话都是“A 提出了 BC 证明了 D”的单一模式三是逻辑跳跃看似通顺但实际上缺少应有的论证步骤。ScholarMatrix 的审校 Agent 会专门针对这三类问题做检测和改写。它会先扫描全文标记出高频连接词密度超过阈值的段落再做句式多样性分析把连续的相似结构句打散重排最后让模型检查每个论证步骤的前后衔接关系。我在调试时发现一个很有意思的规律用 temperature 参数控制在 0.3 左右生成的内容最“像人写的”。温度太高输出天马行空学术场景不可接受温度太低输出就变成单调的模板。0.3 这个值在逻辑严谨性和句式自然度之间取得了比较好的平衡。引用格式校验则是纯规则驱动。系统内置了几种常见期刊的引文格式规则比如标准 ACM、标准 IEEE、标准 APA 等做字符串级别的检查。正文里引用了某一篇文献参考文献列表里就必须有对应的完整记录反过来未在正文引用的参考文献也会被标记提醒。这些规则逻辑很简单但极其有用能把投稿前的格式返工时间压缩到几乎为零。4. 运行效果与关键指标ScholarMatrix 实际跑起来怎么样4.1 功能实测从研究方向到综述初稿我们拿一个实际场景跑了一次完整流程用来验证系统到底能不能“一站搞定”。场景是这样的假设一个刚入学的研究生研究方向是“图神经网络在分子性质预测中的应用”目标是在一周内产出一篇 mini-review 的初稿。文献采集阶段系统通过公开数据库接口拉取了一批相关论文经过预判相关度筛选保留了其中 60 篇进入精读队列。此时用户要做的事只是扫一眼列表把明显无关的几篇标记排除。知识构建阶段60 篇论文的解析和笔记生成大约耗时 40 分钟——大部分时间花在 PDF 解析和 OCR 上真正的模型推理时间反而不长。这个速度可以接受因为是一次性投入后续所有写作任务都复用这批笔记。写作阶段用户选择了“综述引言”和“方法概述”两个章节并勾选了相关文献集。规划 Agent 输出了一份包含 8 个子章节的提纲用户直接调整了其中两处小标题的顺序。然后生成正式开始每个子章节平均生成耗时约 20 秒8 个章节总共用时不到 3 分钟。首次生成的初稿质量和成熟度大约相当于一个有经验的研究生认真写两到三天的水平——这个评价并不夸张尤其是引言部分关于研究背景的脉络梳理AI 把文献之间的演进关系串得非常清楚。不过初稿离可投稿状态还有距离。审校模块检查出了几乎全部的引用格式错误、十几处句式重复、以及个别结论表述过于绝对的问题。用户花了大半天时间逐节修改补充了一些 AI 不知道的最新进展最终稿在第 5 天完成。值得强调的是这个流程里用户不是一个被动接受者而是全程参与决策——每个 AI 生成的段落都经过人工审阅修改AI 真正的价值是把大量扫描、归纳、翻译、格式整理的机械性工作压缩掉了。4.2 不同角色使用 ScholarMatrix 的差异对比用户角色核心诉求使用模式效率提升表现博士生快速了解新领域文献速读 结构化笔记文献调研时间从 2 周压缩到 3 天青年学者撰写综述和论文初稿写作 Agent 审校模块初稿产出时间缩短约 60%实验室导师审阅学生工作、把握研究动态知识库盘点和可视化组会前准备时间大幅下降科研助理处理大量文献管理事务文献采集 自动打标每天节省约 2 小时重复劳动这张表不是我们自说自话而是从真实使用反馈里总结的。最让我意外的是博士生用法的差异——他们用得最多、评价最高的功能不是 AI 写论文而是“文献速读”也就是让 Agent 按统一模板把文献拆解成结构化笔记。因为这个功能解决了科研新人面对文献海洋时的第一焦虑不是不会读而是不知道哪些值得精读、哪些泛读即可。有了标准化笔记之后他们可以快速浏览几十篇文献的核心信息再决定哪几篇需要回到原文精读。4.3 成本与性能算力消耗和响应时长的真实数据很多想自建 AI 工作台的人最关心的就是成本。我把 ScholarMatrix 在实验室里跑了一个月的真实数据放出来。一张 4090 显卡跑 14B 量化模型支撑一个 20 人的课题组日常使用——主要是文献笔记生成、短文本润色、问答检索——GPU 利用率平均在 40% 左右响应时长大致是文献速读一篇 3 到 5 秒短文本润色 1 到 2 秒2000 字章节生成 20 到 40 秒。对于内部工具这个速度完全可以接受。如果完全用云端 API按我们的使用量折算一个月大约需要几千元的 token 费用。本地部署的初始成本是一张显卡加一台主机之后只有电费。到底选哪条路核心判断标准是数据敏感性。公开数据、非敏感内容的场景用云端 API 反而省心本地不用维护涉及课题组核心数据、未发表成果那就老老实实本地部署。ScholarMatrix 的双通道设计就是为了在两者之间灵活切换实际使用中用户可以根据单篇文献的敏感程度手动选择处理通道。5. 避坑指南从模型幻觉到格式错误的五类典型问题5.1 模型幻觉它不是“读”过文献而是“猜”过文献模型幻觉是所有学术 AI 工具最大的敌人。最令人后怕的一次发生在测试早期系统生成综述初稿时编造了一篇引用[23]的文献正文描述得有模有样——作者名字、年份、主要结论全都像真的但我们去数据库里核查根本不存在这篇论文。这个问题的根源是大模型没有真正的记忆能力它本质上是概率性地预测下一个词当知识库里某个观点信息不足时它会“脑补”一个最可能的出处。解决思路要双管齐下。第一道防线是提示词约束明确要求模型“只使用给定笔记中的信息不得自行补充来源不明的事实”。这套措辞能从概率上降低幻觉发生的频率但无法完全杜绝。真正的兜底手段是引入引用核验流程。ScholarMatrix 的处理方式是在初稿生成后自动把所有引用标记抽出来与知识库中的文献条目进行双向比对——正文引用的每一篇文献都必须在知识库里有完整元数据如果发现引用了不存在的文献 ID直接标记为错误并剔除。这套规则引擎能在后处理阶段拦截绝大部分幻觉引用。5.2 检索召回质量差OpenAI 的 Embedding 也不是万能的知识库检索的召回质量直接决定生成质量的边界。如果你的 Agent 根本检索不到相关信息再聪明的大模型也写不出来。我们最早用的是通用领域表现很好的一个 Embedding 模型但在学术文献场景下表现平平。一个典型场景是搜索“半监督学习在医学影像分割中的应用”模型召回的文献里掺杂了大量泛泛的深度学习论文而真正相关的反而不在顶部。这个问题的解法是一次性替换了 Embedding 模型并专门构造了一套学术领域测试集来做效果验证。测试集包含 200 对查询-文档对覆盖计算机、医学、材料几个主要方向计算 Recall10 指标。换用学术优化的 Embedding 模型后Recall10 从 0.51 提升到 0.78效果非常明显。另一个容易被忽略的细节是查询语句在送入检索器之前需要先做一次“查询改写”。用户往往用很短的话表达需求直接拿这句话去向量检索效果不好。可以让一个小模型先把用户简短的需求改写成一段更完整、更多样的学术表达再送入检索器召回质量会有肉眼可见的提升。5.3 长文档上下文爆炸32K context 也不够用长文档处理是经常让人头疼的问题。一篇 20 页的论文全文进入上下文窗口就要消耗几万 token如果还要让模型基于整篇论文做总结对 14B 这个量级的模型来说中间信息基本会丢失。我们要明白一件事大模型的注意力是有限的连续跟踪几十页的文本早期内容很容易被忽略。解决思路不是无限加长上下文而是改变信息投喂方式。ScholarMatrix 的做法是先粗略地把 PDF 按章节抽取为多个块然后把检索到的相关块按“阅读顺序”排列后送入模型做总结只把真正相关的内容放进去。比如要总结某篇论文的实验方法系统只提取论文方法章节对应的块而不是把整篇论文塞给模型。这个策略和 RAG 的常规用法类似但在细节上多了一些匠心文献笔记生成后会缓存起来下次再问相关问题时直接检索笔记而不是重新解析 PDF响应速度提升了一个数量级。5.4 输出格式失控怎么办让大模型输出严格的结构化数据文本还好一到代码级格式就出问题。有段时间我们让 Agent 输出 JSON 格式的文献笔记经常遇到两种情况一是 JSON 里出现了带格式的注释二是某个字段值里包含了没有转义的引号结果整个 JSON 解析失败。排查下来零样本情况下模型本身就能输出比较规整的 JSON但任务复杂度和第 4 条叠加时模型会倾向于偷懒简化。解决办法是把格式约束从“提示词里的大白话”变成“可执行的校验器”。我们在模型生成的原始输出之后加了一层格式校验中间件它不是用正则去解 JSON而是用真正的 JSON 解析器去做容错处理。如果解析失败会自动把错误信息反馈给模型要求它重新生成。这样形成了一段循环模型生成 → 校验失败 → 带着错误信息重新生成 → 再校验。通常最多循环 3 次就能输出一个合法的 JSON成功率在 99% 以上。5.5 加强认知边界AI 是协作伙伴不是替身最后聊聊一个不那么“技术”但更重要的问题自建学术 AI 工作台真正改变的不是你的写作速度而是你对 AI 能力的认知方式。我在整个项目过程中最大的收获是——AI 最适合干的是“不需要太多创造力但需要大量耐心的活”比如文献去重、格式整理、参考文献对齐、大纲骨架生成。而在真正的创新性环节——提出一个好的研究问题、设计有说服力的实验对比、给出独特的洞见——AI 目前只是一个不错的“讨论伙伴”可以帮你发散思路但最终拍板的还是人。这也是为什么 ScholarMatrix 刻意保留了大量“人在回路”的节点。系统生成大纲后必须由用户手动确认才进入下一步初稿生成后每一段都需要经过审阅修改才能合并到正式文稿中。“AI 先行、人工终审”不只是流程设计更是一种态度工具是为人服务的不是反过来。想明白这一点你就不会因为过度依赖 AI 而丢失对研究内容的深度理解也不会犯“投稿时才发现某处引用的文献根本不存在”这种低级错误。踩过这些坑后我的体感是科研属地的 AI 工具化正在走向一个不可逆的趋势但真正好用的一定是贴合科研习惯、尊重数据主权、把流程控制权留给用户的系统。ScholarMatrix 这个项目还会继续迭代下一步计划加入多语言混合引用支持和课题组共享知识空间。如果你也在做类似方向的尝试希望这篇文章能帮你省掉几个月的试错时间。
返回列表