使用 ov-add-paper 技能:将研究论文编译为 ARA 工件并摄入 OpenViking

发布时间:2026/9/10 10:47:19

使用 ov-add-paper 技能:将研究论文编译为 ARA 工件并摄入 OpenViking 使用 ov-add-paper 技能将研究论文编译为 ARA 工件并摄入 OpenViking【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking导读本文讲解 OpenViking 仓库中ov-add-paper技能的完整用法它把一份研究论文PDF 或 URL编译为符合 ARAAgent-Native Research Artifact规范的 Markdown/Python 工件目录经过scripts/validate_ara.py确定性校验后再通过ov add-resource摄入 OpenViking 成为可检索的知识资源。读完本文你将掌握 ARA 工件的目录结构、逐字段编译规范、校验脚本的检查逻辑以及ovCLI 完整摄取流程含目录上传的常见坑与断连恢复方案。技能定位与适用场景ov-add-paper位于 examples/skills/ov-add-paper/SKILL.md是一个面向 AgentLLM 助手的技能说明文档。其描述明确要求当用户提出添加、导入、编译或摄入研究论文/PDF时加载该技能尤其是当用户提到ov-add-paper、ARA、claims、evidence、figures、tables 等关键词时。从技能 frontmatter 可见其运行前提与权限边界name: ov-add-paper description: Load when the user asks to add, import, compile, or ingest a research paper/PDF into OpenViking... compatibility: OpenViking CLI configured at ~/.openviking/ovcli.conf version: 0.1.1 last_updated: 2026-06-10 allowed-tools: - Read - Write - Edit - Bash - Glob - Grep tags: - openviking - paper-ingestion - research - ara技能的核心目标一句话把论文变成 OpenViking 就绪的结构化资源然后完成ov add-resource摄取——工件目录被校验并提交到 OpenViking 之前任务不算完成。输入与工作流总览输入必需论文来源通常是本地 PDF 路径或论文 URL可选输出目录、OpenViking 目标 URI、领域备注、相关仓库/源文件以及是否等待 OV 处理完成若论文来源缺失或不可访问必须先向用户索要再开始。六步工作流完整阅读论文包括附录和所有编号的图Figure与表Table依据 references/ara-compiler-profile.md 编译 ARA 风格工件目录用scripts/validate_ara.py校验工件修复校验失败项除非用户明确接受这些错误直接用ov add-resource摄入校验通过的工件目录用ov stat/ov tree确认目标并向用户返回工件路径、OV 目标/根 URI、校验结果、摄入结果和未解决的缺口。ARA 工件目录规范核心输出契约ARA 编译规范源自 Agent-Native Research Artifact 编译器模式但ov-add-paper将其适配为 OV 资源目录保留 ARA 的知识论结构最终交付物却是 OpenViking 可直接摄入的资源目录。必须包含的文件工件必须包含以下文件PAPER.md及各级子目录PAPER.md logic/ problem.md claims.md concepts.md experiments.md related_work.md solution/ constraints.md src/ environment.md trace/ exploration_tree.yaml evidence/ README.md figures/ tables/此外只有当论文确实需要时才允许附加文件例如logic/solution/algorithm.md、logic/solution/architecture.md、data/dataset.md、src/configs/或evidence/proofs/——不允许为凑结构而凭空制造文件。编译原则Evidence First把论文当作证据优先、叙述其次通读全文包括源材料中可获得的附录与补充章节在综合之前先保留原始证据严格区分精确源事实、视觉估计、模型推断、不可用信息强声明必须有直接证据证据较窄时使用更弱的措辞每个源引用都应指向真实的页码、章节、图、表、公式或仓库文件。证据整理Evidence Pass在撰写 claims 之前先建立证据账本按顺序枚举论文中所有编号的Figure N和Table N对每个已归档对象同时保存裁剪或整页的 PNG保留原始视觉 Markdown 转录或结构化描述无法归档的对象必须在evidence/README.md中说明原因原始源证据与派生子集分离存放。Figure Markdown 应包含Source、Caption、Figure typequantitative_plot/diagram/qualitative_sample/mixed、Extraction methodexact_from_labels/digitized_estimate/visual_description、Reading confidence、Supports、转录或视觉描述。Table Markdown 应包含Source、Caption、Supports、忠实的表格转录。认知层Cognitive Layer各logic/文件职责清晰logic/problem.md记录观察、缺口、关键洞见与假设logic/claims.md使用C01、C02… 标题每条声明需包含 Statement、Status、Falsification criteria、Proof引用E01等实验 ID、Evidence basis、Interpretation可选、Dependencies、Tagslogic/experiments.md使用E01、E02… 标题描述验证计划而非精确结果数字精确数字属于证据文件logic/concepts.md仅定义论文特有概念不填充通用术语logic/related_work.md描述类型化依赖关系如 imports、extends、baseline、bounds、refuteslogic/solution/constraints.md始终必需陈述边界条件、假设与局限。工件层与探索轨迹src/environment.md始终必需其余src/文件只在论文或源材料中确实存在对应产物时才记录。不得从纯文本方法中臆造代码桩若包含代码必须标注是“从源码转录”还是“根据显式打印的伪代码/公式重构”。trace/exploration_tree.yaml记录研究 DAG中心问题、实验、决策、死胡同、转向点以及support_level: explicit或inferred。不得虚构失败或决策若论文隐藏了研究过程使用更小的 trace 并将重构节点标记为 inferred。覆盖循环Coverage Loop校验前最多进行三轮覆盖检查重读源标题、图、表、公式、附录章节与参考文献对照工件排查缺失项修补遗漏、弱化的声明措辞、缺失的证据链接或未解决的源引用若某轮未发现实质缺口可提前停止。Done State编译完成判定只有同时满足以下条件ARA 编译阶段才算完成必需文件存在且非空已归档的图/表证据同时具有 Markdown 与 PNGclaims 与 experiments 交叉引用正确PAPER.md包含有用的 Layer Index工件通过scripts/validate_ara.py。校验器源码解读validate_ara.py 的确定性检查scripts/validate_ara.py 是技能自带的确定性校验器依赖标准库 argparse/json/re/sys/pathlib无需第三方包。其校验逻辑可分为六组与上述工件规范一一对应1. 必需文件检查REQUIRED_FILES列表中的 10 个文件必须存在且非空缺文件或空文件都会记 ERROR。2. PAPER.md 检查必须含 YAML frontmatter且 frontmatter 中title、authors、year三个字段齐全正文必须包含Layer Index字样。3. Claims 检查用正则^##\s(C\d{2,})切分C01风格块每条声明必须含 Statement、Status、Falsification criteria、Proof、Evidence basis 五个字段Proof 字段必须引用至少一个E##实验且被引用的实验 ID 必须真实存在于logic/experiments.md否则报“references missing experiment”。4. Experiments 检查用^##\s(E\d{2,})切分块每条实验必须含 Verifies、Setup、Procedure、Metrics、Expected outcome 五个字段Verifies 字段必须引用至少一个C##声明且引用必须存在否则报“Verifies references missing claim”。5. 证据文件检查evidence/figures/、evidence/tables/目录缺失只记 WARNING目录存在时统计 md/png 数量每个 figure/table 的 Markdown 必须含Source字段否则 ERRORfigure 缺少Figure type、Extraction method、Reading confidence字段记 WARNING每个 evidence Markdown 必须存在同名 PNG 兄弟文件否则 ERROR。6. 探索轨迹检查trace/exploration_tree.yaml必须包含support_level条目否则 ERROR无明显的id:节点条目记 WARNING。最后输出 summary含 required_files、claims、experiments、figure_md/figure_png、table_md/table_png 计数。main()中--json参数可输出机器可读 JSON便于 Agent 解析退出码 0 表示 PASS1 表示 FAIL。摄入契约ov add-resource 完整流程references/openviking-ingest.md 规定ov-add-paper必须以ov add-resource将论文工件导入 OpenViking 收尾。推荐的 CLI 流程# 1. 校验工件 python3 scripts/validate_ara.py artifact-dir # 2. 预检目标是否已存在新目标应返回 NOT_FOUND ov -o json stat viking://resources/papers/slug # 3. 摄入工件--wait 等待处理完成 ov add-resource artifact-dir --to viking://resources/papers/slug --wait # 4. 事后确认 ov -o json stat viking://resources/papers/slug ov tree viking://resources/papers/slug关键细节slug 生成若用户未提供目标 URI从论文标题、arXiv ID、DOI 或文件名派生出稳定 slug超时中等篇幅论文建议--timeout 300或更大值ov add-resource artifact-dir --to viking://resources/papers/slug --wait --timeout 300预检语义stat对新目标应返回NOT_FOUND若预检成功目标已存在必须先询问用户避免覆盖或换一个目标 URI前置条件ovCLI 已安装配置、~/.openviking/ovcli.conf或等价环境配置存在、工件目录本地存在、校验通过或用户明确接受所列校验错误。底层实现目录上传的 zip 语义从 crates/ov_cli/src/client.rs 可以看到add_resource的实现当路径是目录时CLI 会先调用zip_directory/zip_directory_with_progress将整个目录打包为 zip再upload_temp_file上传为临时文件随后 POST 到/api/v1/resourcesbody 携带temp_file_id、source_name、to、parent、reason、instruction、wait、timeout、strict、include、exclude、processing_mode、args等字段。这意味着--include/--exclude只是请求参数不会减少客户端 zip 的载荷若目录上传反复以Could not reach OpenViking结束而ov health正常、单文件导入正常应怀疑上传超时或大目录载荷不稳定。上传瘦身缓解措施保持 OV 上传工件精简必要的 ARA Markdown/YAML 已归档的图/表 PNG 证据不要在上传目录内重复存放大型原始 PDF、源压缩包或抽取的临时文件除非用户明确需要它们进入 OV原始源文件保留在本地source/或完整artifact/工作副本中并在src/environment.md记录其路径在保证可读性的前提下优化 PNG例如全页渲染用 1.5x 代替 2x如需可创建独立上传副本如artifact-dir-ov/而不要改动完整本地工件upload.mode shared有助于分布式部署但不会让超大目录载荷变小。断连恢复把等待中断与摄入失败区分开若ov add-resource --wait在目标已创建后因连接错误退出应视为等待中断而非摄入失败执行恢复检查ov -o json stat viking://resources/papers/slug ov wait --timeout 300 ov observer queue ov tree viking://resources/papers/slug判定规则若stat显示isLockedfalse、count非零、队列为空且tree/read能访问内容则报告摄入已完成但原--wait连接中断若目标不可见则缩小上传载荷后重试。权限与边界技能对 Agent 的权限边界定义明确允许用户要求添加/摄入论文时可写入新的 OpenViking 资源必须先询问故意复用可能覆盖/替换已有资源的目标 URI--skip-validation仅当用户明确接受所列校验错误时可用禁止ov add-skill本技能创建的是论文资源而非 OV 技能不得静默跳过ov add-resource摄入失败必须报告命令、错误与恢复路径不得虚构claims、evidence、源引用、代码、数字或研究历史不得覆盖用户未指定的既有 OV 目标不支持或不可读的内容标记为 unavailable而不是编造填充。收尾报告契约ov-add-paper的最终回复必须包含ov add-resource命令结果或证明目标在--wait中断后仍然落地的恢复检查证据或阻止摄入的确切阻塞点。references/openviking-ingest.md进一步要求报告工件目录路径、目标 URI或返回的根 URI、--wait是否完成或需要恢复检查、校验摘要、以及摄入失败时的确切错误与恢复路径。同时不得隐藏异步摄入状态——若未使用--wait必须说明处理在后台继续不得在 CLI 失败时虚构成功的 OV URI。在仓库中继续深入技能本体与工作流 examples/skills/ov-add-paper/SKILL.mdARA 编译规范证据账本、认知层、探索轨迹 examples/skills/ov-add-paper/references/ara-compiler-profile.mdOpenViking 摄入契约推荐 CLI 流、上传坑、断连恢复 examples/skills/ov-add-paper/references/openviking-ingest.md确定性校验器10 个必需文件、C##/E## 交叉引用、证据 PNG 兄弟文件检查 examples/skills/ov-add-paper/scripts/validate_ara.pyov add-resource命令入口wait/timeout/include/exclude/strict 等参数 crates/ov_cli/src/commands/resources.rs目录 zip 打包与上传的底层实现 crates/ov_cli/src/client.rs仓库中的其他 ov-* 技能如 examples/skills/ov-server-operate、examples/skills/ov-experience-memory、examples/skills/ov-resources与 ov-add-paper 共同构成 OpenViking 面向 Agent 的技能体系可以对照学习资源管理的不同侧面。【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/10 10:47:19

Python汽车价格分析系统开发实战与优化策略

1. 项目背景与核心价值汽车价格分析系统是当前汽车行业数字化转型中的关键工具。我去年为某二手车交易平台开发的这套系统,成功帮助他们将定价准确率提升了37%。这个基于Python的解决方案之所以有效,是因为它完美结合了数据爬取、清洗分析和可视化呈现三…

2026/9/10 10:47:19

单片机毕业设计-基于 STM32 或 51 单片机的温室土壤湿度光照综合监测控制系统设计 基于 STM32 或 51 单片机的农田环境参数采集与自动养护系统设计(020607)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/10 11:52:31

Phase Goal

Phase Goal 【免费下载链接】get-shit-done A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TCHES. 项目地址: https://gitcode.com/GitHub_Trending/getshi/get-shit-done As a new user, I…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/10 11:16:38

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/10 0:00:55

目录对比去重实战:用哈希算法精准清理重复文件

我电脑里现在还有一块换了三次机的“数据墓地”硬盘,里面存着2016年以前所有旧笔记本的完整备份。平时不觉得有什么,直到前阵子想把它整理归档,发现同一个安装包、同一批照片、同一份论文草稿,在几个不同的备份目录里反复出现。更…

2026/9/10 0:00:55

Leaflet离线地图完整Demo合集:内网部署与坐标纠偏实战

简介:这是一份面向Web GIS开发者的LeafLet离线地图示例合集,帮助开发者快速掌握离线地图从搭建到交互的完整流程。压缩包共723个文件,大小14.06MB,以319个js脚本、175个html页面和29个css样式文件为主体,配合png/svg图…

2026/9/10 0:00:55

MATLAB读取Rinex 3.02观测文件:多系统GNSS数据解析实战

简介:基于MATLAB开发的Rinex3.02版观测文件(o文件)读取代码包,面向卫星定位导航方向的学习者与研究人员,用于解决新版观测文件的数据解析、历元提取与时间转换问题。压缩包共4个文件,包含两个m脚本、一个19…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码