docspell

eikekAGPL-3.0活跃维护

把扫描件、邮件附件等来源的杂乱文档集中管理,自动做 OCR 和 NLP 分析并打标签归类,减少手工整理成本。

Assist in organizing your piles of documents, resulting from scanners, e-mails and other sources with miminal effort.

v0.43.0发布于 2025-03-15 15:27 UTC2,349star +3 / 7 天186fork同步于 2026-11-10 11:44 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/docspell/docker docspell-docker
cd docspell-docker/docker-compose
docker-compose up -d
硬件要求按 README 说明

README 未说明具体硬件要求;文件处理依赖 tesseract、unoserver/unoconvert、ocrmypdf 等外部工具

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

个人文档管理工具,把扫描件和邮件统一归档,用机器学习自动打标签、猜日期

把扫描件、邮件附件等来源的杂乱文档集中管理,自动做 OCR 和 NLP 分析并打标签归类,减少手工整理成本。

核心能力

  • 用 Stanford CoreNLP 从已有文档学习元数据并推荐标签、通信方和日期
  • 对扫描件执行 OCR 并支持全文检索
  • 统一管理扫描仪、邮件等多来源文件
  • 提供 REST/HTTP API 与移动端友好的 SPA 界面
  • 附带 Android 客户端和命令行工具上传文件

容易踩的坑

启动后需访问 http://localhost:7880 注册,且 collective 与用户名暂时要填相同;OCR 和文档转换依赖 tesseract、unoserver/unoconvert、ocrmypdf 等外部工具需另行安装;机器学习功能依赖 Stanford CoreNLP 库

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.43.0
  1. nightlyDocspell Nightlypre-release2026-10-27 · 2026-10-27 04:50 UTC
    查看更新说明

    Commits

    • 751b0b8: Update dependency autoprefixer to v10.6.2 (#3367) (renovate[bot]) #3367
  2. v0.43.0Docspell 0.43.0最新正式版2025-03-15 · 2025-03-15 15:27 UTC

    What’s Changed

    🐛 Bug Fixes

    • Fix scrolling in side bar @eikek (#3002)
    • nix: unpin weasyprint from python310Packages @VTimofeenko (#2981)
    • replaced deprecated "--optimize-size" with "--optimize-images" @jjkrone (#2972)
    • Correction German Word Dokumene to Dokumente. @andbez (#2941)
    • Fix duplicate task on reboot @tiborrr (#2902)
    • Use http4s' new Part.filename method @pschichtel (#2853)
    • Remove --optimize-size option from default weasyprint @eikek (#2784)

    💚 Maintenance

    • Remove docker workflows @eikek (#2956)
    • These things live over at docspell/docker now @pschichtel (#2911)
    • Add metals and bloop to gitignore @tiborrr (#2898)
    • Update .gitignore for vscode users @tiborrr (#2778)

    🧱 Dependencies

  3. v0.42.0Docspell 0.42.02024-08-18 · 2024-08-18 12:15 UTC
    查看更新说明

    What’s Changed

    🚀 Features

    • Nix module: secure config file @ivanbrennan (#2699)
    • Add logout-url option to Nix module @VTimofeenko (#2646)
    • Add package option to Nix modules @VTimofeenko (#2630)
    • Add Japanese Vertical Support Branch for Tesseract and Ocrmypdf OCR @tenpai-git (#2505)
    • Extend nix setup, including dev environments @eikek (#2539)
    • Extend config for external commands @eikek (#2536)

    🐛 Bug Fixes

    • Honor default value true for collectOutput @eikek (#2663)
    • FIx extracting addons with only a single file @eikek (#2660)
    • Move arg-mappings underneath command section @eikek (#2659)
    • Change docker base images to 3.19.1 @eikek (#2519)
    • fix(webapp): downstream keep-alive events to backend preventing timeout @nekrondev (#2500)
    • Fix some Kubernetes Kustomize deployment issues @TheAnachronism (#2501)
    • tesseract english data is now a separate package @programmerq (#2479)

    💚 Maintenance

    • Update flake @eikek (#2736)
    • Adding CJK and Custom Mapping Documentation @tenpai-git (#2669)
    • docs(development.md): Fix minor typos @ChanceHarrison (#2613)
    • Add page to website about contributing to docs @ChanceHarrison (#2612)
    • Fix renamed elm package @eikek (#2547)
    • Redocly tailwind setup @eikek (#2540)
    • Pushing a minor fix to the bash commands. @tenpai-git (#2523)
    • Add documentation for backup and restore process for PostgreSQL. @tenpai-git (#2508)

    🧱 Dependencies

    • Update dependency @fontsource/montserrat to v5.0.19 @renovate (#2734)
    • Update dependency tailwindcss to v3.4.10 @renovate (#2733)
    • Update dependency cssnano to v7.0.5 @renovate (#2726)
    • Update postgres Docker tag to v16.4 @renovate (#2725)
    • Update dependency tailwindcss to v3.4.9 @renovate (#2724)
    • Update dependency tailwindcss to v3.4.8 @renovate (#2723)
    • Update dependency postcss to v8.4.41 @renovate (#2722)
    • Update dependency autoprefixer to v10.4.20 @renovate (#2719)
    • Update dependency tailwindcss to v3.4.7 @renovate (#2714)
    • Update dependency postcss to v8.4.40 @renovate (#2713)
    • Update alpine Docker tag to v3.20.2 @renovate (#2712)
    • Update mariadb-java-client to 3.4.1 @eikek-scala-steward (#2708)
    • Update dependency @fortawesome/fontawesome-free to v6.6.0 @renovate (#2707)
    • Update dependency tailwindcss to v3.4.6 @renovate (#2706)
    • Update dependency tailwindcss to v3.4.5 @renovate (#2704)
    • Update circe-yaml to 0.15.3 @eikek-scala-steward (#2703)
    • Update jsoup to 1.18.1 @eikek-scala-steward (#2702)
    • Bump braces from 3.0.2 to 3.0.3 in /modules/webapp @dependabot (#2684)
    • Update sbt to 1.10.1 @eikek-scala-steward (#2700)
    • Update dependency cssnano to v7.0.4 @renovate (#2698)
    • Update dependency postcss to v8.4.39 @renovate (#2695)
    • Update sbt-sonatype to 3.11.0 @eikek-scala-steward (#2693)
    • Update circe-yaml to 0.15.2 @eikek-scala-steward (#2691)
    • Update alpine Docker tag to v3.20.1 @renovate (#2689)
    • Update dependency cssnano to v7.0.3 @renovate (#2687)
    • Update scalafmt-core to 3.8.2 @eikek-scala-steward (#2686)
    • Update testcontainers-scala-mariadb, ... to 0.41.4 @eikek-scala-steward (#2685)
    • Update actions/checkout action to v4.1.7 @renovate (#2683)
    • Update pureconfig, pureconfig-ip4s to 0.17.7 @eikek-scala-steward (#2680)
    • Update imageio-jpeg, imageio-tiff to 3.11.0 @eikek-scala-steward (#2679)
    • Update scala-java-time to 2.6.0 @eikek-scala-steward (#2677)
    • Update dependency tailwindcss to v3.4.4 @renovate (#2676)
    • Update dependency cssnano to v7.0.2 @renovate (#2675)
    • Update scribe, scribe-slf4j2 to 3.15.0 @eikek-scala-steward (#2674)
    • Update scribe, scribe-slf4j2 to 3.14.0 @eikek-scala-steward (#2671)
    • Update swagger-ui to 5.17.14 @eikek-scala-steward (#2670)
    • Update dependency flag-icons to v7.2.3 @renovate (#2665)
    • Update munit to 1.0.0, munit-cats-effect to 2.0.0 @eikek (#2664)
    • Update calev-circe, calev-core, calev-fs2 to 0.7.3 @eikek-scala-steward (#2662)
    • Update swagger-ui to
  4. v0.41.0Docspell 0.41.02024-01-29 · 2024-01-29 21:02 UTC
    查看更新说明

    🎉 Changelog • Documentation • Milestone 🎉

    • Add khmer language (#2011)
    • Replace blaze with ember (http stack) (#2221, #2348)
    • Updated several dependencies (#2348, #2354, 2355)
    • Fix AddonExecutionResult monoid (#2363)
    • Setting item date from addons (#2345)
    • Fix sql queries where a space was missing (#2367, #2368)
    • Change AWS region for minio file backend (#2386)
    • Allow additional metadata to be passed on upload for addons and hooks (#2334)
    • Add support for Slovak language
    • Fix possibility to configure too large session-valid values (#2309)
    • Consider emails when flattenArchives is true (#2063)
    • Allow new file upload without hitting reset (#2323)

    Solr needs analysis-extra module

    With the addition of khmer language, solr needs now to load its analysis-extra module. It is (usually) packaged with the solr distribution, so it only requires to change the startup command. The docker-compose file has been changed accordingly. You might need to check your setup.

    H2 Update

    The in-process database H2 was updated in this release: from 2.1.214 to 2.2.224. You need to migrate your data to make it work with the new release. Exporting using the old version and importing using the new version should work fine. For details, please refer to the h2 documentation. There is a script tools/h2-util.sh to help with this process. Also this comment might be useful.

    Big thanks to:

    • @eikek
    • @madduck
    • @mprasil
    • @rehanone
    • @v6ak
    • @xshadowlegendx
  5. v0.40.0Docspell 0.40.02023-03-11 · 2023-03-11 19:17 UTC
    查看更新说明

    🎉 Changelog • Documentation • Milestone 🎉

    This release contains some bug fixes and improvements.

    • Add Ukrainian language (#1835, @GooRoo)
    • webui: normalize , to . for numeric fields (#1975)
    • improve error reporting when file backend fails (#1976)
    • docker: remove exlpicit zlib install (#1863)
    • nix: implement nix flake (#1869, @VTimofeenko)
    • nix: replace wkhtmltopdf with weasyprint (#1873, #1895, @VTimofeenko)
    • fix listing shares with no name (#1840)
    • fix html conversion of text files (#1915)
    • fix: remove test-scoped dependencies from artifacts (#1856)
    • fix deletin users (#1941)
    • fix notification for collective scoped tasks (#1987)

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Scala Steward badge License Docker Pulls Gitter chat

    Docspell - Document Management System (DMS)

    Docspell is a personal document organizer. Or sometimes called a "Document Management System" (DMS). You'll need a scanner to convert your papers into files. Docspell can then assist in organizing the resulting mess :wink:. It can unify your files from scanners, emails and other sources. It is targeted for home use, i.e. families, households and also for smaller groups/companies.

    You can associate tags, set correspondends and lots of other predefined and custom metadata. If your documents are associated with such meta data, you can quickly find them later using the search feature. But adding this manually is a tedious task. Docspell can help by suggesting correspondents, guessing tags or finding dates using machine learning. It can learn metadata from existing documents and find things using NLP. This makes adding metadata to your documents a lot easier. For machine learning, it relies on the free (GPL) Stanford Core NLP library.

    Docspell also runs OCR (if needed) on your documents, can provide fulltext search and has great e-mail integration. Everything is accessible via a REST/HTTP api. A mobile friendly SPA web application is the default user interface. An Android app exists for conveniently uploading files from your phone/tablet and a cli. The feature overview lists some more points.

    Impressions

    Checkout the short demo videos (<1min), present on the project page. Here are some screenshots:

    screenshot-1 screenshot-2 screenshot-3 screenshot-4 screenshot-5 screenshot-7 screenshot-8

    Try it

    Docspell consists of several components. The probably quickest way to get started is to use the docker setup as described in the get started page. This is only three commands away:

    git clone https://github.com/docspell/docker docspell-docker
    cd docspell-docker/docker-compose
    docker-compose up -d
    

    Then go to http://localhost:7880, sign up and login. Use the same name for collective and user for now. More on that can be found here.

    Other ways are documented here:

    Documentation

    The project page has lots of information on how to use and setup docspell.

    Contributions/Support

    Feedback and other contributions are very welcome! There is a gitter room for chatting and questions. You can also open an issue for questions, problems and other feedback; or make a mail to info [at] docspell.org. I'll try to answer in time. You may want to check Contributing.md for some starting points, too.

    If you find this project any useful and want to support it via other means, giving a :star: is always encouraging and much appreciated. You can also support activity by donating via liberapay or paypal.

    Thank you so much!

    Tech Stack

    Backend

    The servers is written in Scala in a pure functional style, based on libraries from the typelevel stack: Cats, FS2, Doobie, Http4s, Circe and Pureconfig.

    There are more libraries and technologies used, of course. Docspell is only a orchestration of great tools and libs. One important is the Stanford-NLP, that provides the ML features. Furthermore, file processing relies on external tools like tesseract, unoserver/unoconvert and ocrmypdf. All dependencies can be looked up in project/Dependencies.scala.

    Frontend

    The web frontend is a SPA written in Elm. The UI framework in use is tailwind.

    License

    Docspell is free software, distributed under the AGPLv3 or later.