ScanVault

发布: (2026年2月16日 GMT+8 15:24)
4 分钟阅读
原文: Dev.to

Source: Dev.to

概览

ScanVault 是一个 CLI 为先的文档智能平台,能够将非结构化文件——收据、发票、PDF、截图、白板照片——转化为结构化、可搜索的数据。它解决了跨设备累积大量文档却没有快速方式定位特定信息的问题(例如 “那张发票号是多少?” 或 “我上个月在差旅上花了多少钱?”)。

架构

  • 全栈 TypeScript 单仓库

    • Azure Functions 无服务器 API(Cosmos DB、Blob Storage、Azure AI Search)
    • 带有分类管理 UI 的 Next.js Web 仪表盘
    • 作为主要用户界面的 Commander.js CLI
  • 共享 ai-extract 抽象了对 OpenAI、Anthropic、Google 的提取,并提供使用 Tesseract.js OCR 的零配置回退方案。

  • 分类系统 & 字段提取 支持强大的查询,例如:

    vault search "total > 50 category:finance"

Copilot CLI 的影响

基础设施 & API 开发

  • 使用 Copilot 的建议搭建 Azure 资源(Cosmos DB、Blob Storage、Azure AI Search、Key Vault 的 Bicep 模块),大幅减少冗长的模板代码。
  • 快速创建 Azure Functions HTTP 处理程序、身份验证中间件、Zod 验证以及 Cosmos DB 查询。
  • 自动生成资产、分类和设置的 CRUD 接口。

搜索查询解析器

  • Copilot 帮助构建基于正则的分词器,并为 category:finance status:ready total>50 等过滤条件编写了完整的测试用例。

CLI 增强

  • 加速了 Commander.js 命令树和输出格式化(--json--quiet、表格模式)的构建。
  • 在 Copilot 提取集成上提供帮助:子进程启动、JSON 响应解析以及用于分类推断的回退启发式。

Web 仪表盘

  • Tailwind CSS 样式、可折叠区块、上下文菜单以及 API 客户端的连接都通过 Copilot 的代码建议得到简化。

在整个单仓库——从共享的 Zod schema 到基础设施模板——Copilot CLI 消除了大量样板代码,使团队能够专注于架构和产品决策。

Copilot 提取集成

当未配置第三方 API 密钥时,vault upload 命令会自动将提取工作委托给 Copilot,通过自定义提取技能实现开箱即用的结构化字段提取、实体识别和自动分类,无需额外费用或配置。

  • 输入/输出 JSON 合约
    • 输入: 一个文件(二进制或 base64)。
    • 输出: 摘要、带置信度分数的提取字段、命名实体以及建议的分类。

CLI 将文件内容传递给 Copilot,解析结构化响应,并将其注入与其他提供商相同的上传‑确认流水线。因此,无论是由 OpenAI、Anthropic 还是 Copilot 完成的提取,搜索、导出和 Web 仪表盘的行为都是一致的。

使用示例

  • 带过滤条件的搜索

    vault search "total > 50 category:finance"
  • 汇总一个 vault

    vault summarize --category finance --since 1w
  • 自然语言提问

    vault ask --category finance --since 1w "how much did I spend last week?"

这些命令在运行时利用 Copilot 对已索引文档进行自然语言查询并返回答案。

仓库

https://github.com/ronak-guliani/scanvault

视频

(如果有的话,链接到演示视频)

0 浏览
Back to Blog

相关文章

阅读更多 »

n8n 是纯粹的精彩

!Miguel Valdeshttps://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2...