Skip to content
MogroWangStudioPublic

About

萃序。本地优先的信息提取与整理工具。导入,萃取,快速导出。

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

萃序 Collecout

萃序 Collecout

把 Word、Excel 和纯文本,萃成结构化的信息库。

萃序是一款本地优先的信息提取与整理工具:导入 .docx、.xlsx、.csv、.txt、.md 乃至任意文件,选择(或自定义)一个模板,软件会自动分析文档结构、抽取字段并归纳成条目,形成可筛选、可检索、可导出的信息管理系统。适合整理会议纪要、读书笔记、收支流水、工作日志等零散文档。

萃,是萃取;序,是秩序。

功能

  • 多格式导入:Word(.docx)、Excel / CSV(.xlsx / .xlsm / .csv)、纯文本(.txt / .md);其余任意文件可作为附件随库存档;导入第一步会列出「以下文件将被导入」清单
  • Excel 单元格图片:工作表里插入的图片(浮动图片与「嵌入单元格」的新式图片)会随导入一起提取,按所在列归入对应字段——提取确认的预览表里就能看到每行的图片缩略图;单元格图片沿 metadata → richData 的完整引用链逐格对应,不会串图;同一张图被多个单元格引用时只存一份
  • 自动识别:分析标题层级、表格、key: value 行与段首日期,现场推断字段与提取方式;Excel 默认选中工作簿的第一个工作表
  • 手动添加条目:库页面右上角「添加条目」,不依赖导入文件直接录入信息
  • 表格布局预设:每张表可选「自动判断 / 首行为标题栏 / 首列为标题栏」,纵排的字段-值表(左侧列为字段名)会自动转置;Excel 的每个工作表都可选为导入来源(按工作簿原顺序排列)
  • 模板系统:内置会议纪要、读书笔记、收支流水、通用表格四个模板;字段名、类型(文本/日期/数字/标签)与提取方式(自动/关键词/正则/标题分节/表格列)均可自定义,内置模板可一键复制为可编辑副本
  • 置信度确认:每个字段带 0–1 置信度,低置信度在导入预览中高亮;重复与冲突条目在入库前逐条比对(覆盖 / 跳过 / 编辑)
  • 两种视图 + 多选:表格视图与卡片视图;多选启用后可在页面任意空白处拖动框选(按住 Shift 拖拽为在已有选择上追加),支持 Ctrl/Shift 点选,触屏上左右滑动即可批量圈选
  • 筛选:全文搜索、按日期字段的时间段、按数值区间、按标签/包含文字组合筛选
  • 图片放大预览:表格、卡片、条目详情与导入预览里的缩略图都可点击放大;浮层从被点击的缩略图所在方向长出、按同路径缩回,Esc 或点击空白处关闭并把焦点还给缩略图;关闭按钮自带衬底,任何底图上都看得清;尊重「减弱动态效果」(退化为交叉淡变)
  • 导出:Markdown / 纯文本 / CSV / JSON / Word(.docx) / Excel(.xlsx,图片嵌入单元格) / PDF / 图片(每页一张 PNG) / 本地文件夹(每个条目一个 .md 或 .txt 文件 + 索引,图片可选按条目分行或按字段分列组织);支持按「全部 / 筛选结果 / 勾选条目」与所选字段导出
  • 导出携带图片:Word / Excel / PDF / 图片格式的单元格图片直接嵌入或绘制;Markdown / 纯文本 / CSV / JSON 写出图片路径并把图片原文件一同导出(单文件旁 images/ 目录,文件夹导出按所选结构落盘原始文件)
  • 桌面标题栏:纯白底色,左侧 logo、右侧窗口控件、居中显示当前页面标题(库页显示库名);悬停在任意控件上时,标题栏中间会显示该控件的用途说明(可在设置中关闭);按住标题栏即可拖动窗口,启动时等数据就绪再亮出窗口,没有白屏
  • 悬浮侧边栏:侧边栏是与内容区脱开的圆角悬浮卡片,左下角一键收起;折叠后悬浮把手在原位置接替展开(与收起按钮同心对齐,位置不跳变),沿收起方向同路径进出,把空间留给内容
  • 移动端顶栏:右上角显示当前版本号;界面延伸到状态栏下方(edge-to-edge),顶栏与底部标签栏自动避让状态栏和手势区,状态栏图标明暗跟随主题
  • 窗口状态记忆:桌面端记住上次关闭时的窗口位置与大小,下次启动自动恢复
  • 界面字体:跟随系统 / 宋体(衬线)/ 楷体 / 等宽四个预设,或输入任意字体名自定义,设置页实时预览
  • 界面字号:85%–130% 滑块调节全局文字大小,自绘滑块(品牌绿填充轨道 + 描边圆钮)拖动即时生效、松手保存,大字号下不破版
  • 本地存储:所有数据以「文件夹 + JSON」存在本地 collecout-data 文件夹,源文件与图片副本一并随库存档;不联网、不上传
  • 数据位置自定义:首次启动的欢迎向导可将数据文件夹指到任意位置(默认跟随软件),也能检测并原样读取旧版本留下的现有数据;之后随时更改,单个库还可独立存放到你指定的目录
  • 启动界面:白底居中 logo,以非线性曲线淡入、数据就绪后退场(桌面与移动端一致);设置页「启动动画」可选四种退场预设(放大淡出 / 缩小淡出 / 向上滑出 / 直接淡出),0.6–3 秒滑块调节最短展示时长,「预览动画」按钮按当前设置完整播放一遍,无需重启;与安卓启动画面同底色衔接,无白屏跳变,安卓 12+ 系统自带的启动屏大图标已抑制,全程没有原生启动界面感
  • 动效:页面、向导步骤、视图与弹层切换均为快速非线性过渡,弹窗与抽屉的面板本体带轻微上浮缩放的材质运动,图片放大预览从缩略图方向长出、按同路径缩回,窗口亮出时轻微上浮淡入;尊重系统「减弱动态效果」设置

技术栈

层 技术
前端 Vue 3 + TypeScript + Vite
桌面端 Tauri 2(macOS / Windows / Linux)
安卓端 Capacitor 7
解析 mammoth.js(Word)、SheetJS(Excel/CSV)、自研 ZIP 读取与 OOXML 解析(Excel 内嵌图片)
生成 零依赖手写 DOCX / XLSX(stored ZIP + OOXML)与 PDF(canvas 分页 + JPEG 图像页)生成器
提取引擎 自研规则引擎(正则 + 关键词 + 结构启发式),预留 LLM 扩展接口
测试 Vitest(单元测试覆盖解析、图片提取、提取、筛选、导出与库存储)

快速开始

环境要求:Node.js ≥ 20;桌面端构建需要 Rust 工具链;打包安卓 APK 需要 Android Studio。

npm install

# 浏览器预览(数据存于 localStorage,仅供开发调试)
npm run dev

# 桌面端开发(Tauri 窗口)
npm run tauri dev

# 桌面端打包
npm run tauri build

# 安卓:同步 WebView 资源后用 Android Studio 打包
npm run build && npx cap sync android
npx cap open android

示例文件在 samples/ 目录(会议纪要、读书笔记、工作日志、收支流水、个人资料、商品图鉴、阅读清单),导入向导里可直接试用;其中收支流水含两个工作表,个人资料是「首列为标题栏」的纵排字段-值表,可用于体验表格布局预设;商品图鉴的两个工作表分别是浮动图片与「嵌入单元格」图片两种提取路径(npm run samples:demo 重新生成),阅读清单的两个工作表列名对齐内置「读书笔记」模板。

数据存储位置

数据以「文件夹 + JSON」存在软件本地目录下的 collecout-data 文件夹(每个库一个文件夹:library.json 存文本与配置、files/ 存源文件与图片副本),设置页里可查看实际路径并一键打开:

平台 默认位置
Windows exe 所在目录的 collecout-data(绿色便携,数据跟着程序走;目录不可写时自动退回家目录 → AppData)
macOS 家目录 ~/collecout-data(.app 包内写入会破坏应用签名,故探测失败后落回家目录)
Linux exe 所在目录的 collecout-data(AppImage 等只读场景自动落回家目录)
Android 应用外部专属目录 Android/data/<包名>/files/collecout-data
浏览器预览 localStorage(仅开发调试)

默认位置由桌面壳(Rust)在启动时用系统文件系统权威解析——exe 目录优先、逐级回退,结果唯一确定;所选位置记录在默认数据文件夹的指针文件里,每次启动自动恢复,更改数据位置时现有数据会先复制到新位置再切换。

旧版本数据自动迁移:0.1.0 的 AppData / 安卓内部目录、0.3.0 的单文件库(libraries/<id>.json)都会在启动时搬到当前结构,原文件保留直至迁移成功;更晚版本遗落在 AppData / 家目录兜底位置的数据,欢迎向导会探测到并提供「读取现有数据」一键接回。

自 0.3.0 起:

  • 桌面端首次启动会进入欢迎向导(OOBE),可把数据文件夹指到任意位置(默认跟随软件);之后在设置页可随时更改,更改时现有数据会先复制到新位置再切换。
  • 自 0.7.0 起,向导还会探测旧版本留下的现有数据(AppData、家目录等兜底位置),检测到时提供「读取现有数据」选项,原样接回、不移动文件;「选择其他文件夹」也接受一个已有的萃序数据文件夹。
  • 单个库可以独立于数据文件夹存放:新建库时选择「选择其他文件夹」,库文件夹(含 library.json 与附件)直接落到你指定的目录;库页面可随时移动位置。外部库通过数据文件夹内的 libraries/index.json 登记,所在磁盘未挂载时该库自动隐藏。

持续构建

推送或 PR 时,GitHub Actions(.github/workflows/build.yml)会自动构建三个产物并上传到 Actions Artifacts:

产物 运行器 说明
Windows x64 便携版 windows-latest 单文件 exe,免安装,系统需带 WebView2 运行时(Win10/11 默认自带)
macOS arm64 DMG macos-latest 未做公证,首次打开需右键 → 打开,或 xattr -cr /Applications/Collecout.app
安卓 APK ubuntu-latest release 签名;未配置证书时自动退回 debug 签名,可直接安装

安卓正式签名(可选):在仓库 Secrets 里配置 ANDROID_KEYSTORE_BASE64(keystore 文件的 base64)、ANDROID_KEYSTORE_PASSWORD、ANDROID_KEYSTORE_ALIAS 三项即可。

目录结构

├─ src/
│  ├─ core/            # 纯 TS 核心层(无框架依赖,全部有单测)
│  │  ├─ parsers/      # docx / xlsx / 纯文本 → 统一块结构(含 ZIP 读取与单元格图片提取)
│  │  ├─ extract/      # 规则引擎、日期识别、列映射、模板推断、布局预设
│  │  ├─ query/        # 筛选与排序
│  │  ├─ export/       # Markdown / TXT / CSV / JSON / DOCX / XLSX / PDF / 图片 / 文件夹
│  │  └─ storage/      # 存储适配层(Tauri / Capacitor / Web)
│  ├─ stores/          # Pinia 状态(库 / 模板 / 导入向导 / 设置)
│  ├─ views/           # 首页、库详情、导入向导、模板编辑器、设置、关于
│  ├─ components/      # 表格、卡片、筛选、自定义下拉、导出对话框等
│  ├─ styles/          # 设计令牌与基础样式(明暗双主题)
│  └─ locales/         # 界面文案集中管理
├─ src-tauri/          # Tauri 2 桌面壳
├─ android/            # Capacitor 安卓工程
├─ scripts/            # 图标生成(纯 Node SVG 光栅化管线)与示例文件生成
└─ samples/            # 演示与测试用示例文件

设计说明

界面遵循两套原则打磨:Apple 流体界面规范(系统字体栈、半透明材质浮层、同路径进出场动效、尊重「减弱动态效果」与「降低透明度」设置、安全区与触控目标适配),以及反 AI 味准则(单一品牌绿强调色、层级靠字号字重与留白、无渐变无发光无表情符号、每个装饰都有存在理由)。

Roadmap

  • 0.2:表格布局预设与多工作表选择、库字段快照(修复入库信息丢失)
  • 0.3:数据目录自定义、库独立存放、多选与导出升级
  • 0.4:Word / PDF / 图片导出、任意文件导入、Excel 单元格图片、关于页与更新检查
  • 0.5:手动添加条目、Excel 导出(图片嵌入)、全格式导出携带图片、窗口状态记忆、向导与界面打磨
  • 0.6:桌面标题栏与启动即就绪、任意空白处框选、向导步骤可点回、库页表格独立双轴滚动
  • 0.7:OOBE 读取现有数据文件夹、界面字体设置、过渡动画补齐
  • 0.8:数据位置权威解析与持久记忆(根因修复)、任务栏高分图标(WM_SETICON)、字体自定义修复、打开数据文件夹修复
  • 0.9:卡片视图切换修复(单根约束)、标题栏悬停提示与纯白底色、悬浮侧边栏(可收起)、弹窗面板动效、移动端版本号
  • 1.0:安卓状态栏适配(edge-to-edge 避让 + 图标明暗随主题)、启动器图标修复(完整居中、白底衬底)、启动界面(非线性淡入淡出)、界面字号滑块
  • 1.1:桌面启动界面淡出修复、安卓深色模式闪退修复(系统栏桥兜底 + 关闭 force dark)、导入向导移动端适配、界面随窗口拉伸、标题栏提示开关、滑块重绘
  • 1.2:侧边栏收起按钮与折叠把手统一锚定左下角(同心接替、位置不跳变)、把手沿收起方向同路径进出
  • 1.3:嵌入单元格图片逐格对应(metadata → rdrichvalue → richValueRel 引用链修复)、图片放大预览统一为一个组件(方向性长出、Esc 与焦点归还、卡片视图图片也可放大)
  • 1.4:启动动画四预设与时长设置(含预览播放)、安卓 12+ 系统启动屏去图标化、安卓应用名改为 Collecout
  • LLM 提取接口(用户自备 OpenAI 兼容 API,语义化字段抽取)
  • 条目间引用
  • iOS 端(需完整 Xcode 环境)
  • CSV 导入映射的列类型手动指定、模板导入导出

变更日志

见 CHANGELOG.md。

License

MIT © 2026 MogroWang Studio

About

萃序。本地优先的信息提取与整理工具。导入,萃取,快速导出。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages