doca
Doca|开源文档管理与知识库,支持多人协同编辑、在线文档、Markdown、表格、幻灯片、画布和 AI 助手。Self-hosted document management, knowledge base & real-time collaborative editing for individuals and small teams.
Runssource: GitHubhomepageTypeScriptMITcommit 091efcd45848
TypeScript, MIT licensed. The project labels itself: ai assistant, canvas, collaborative editing, docker, document management, knowledge base, markdown and online office.
doca runs. An Argusic agent installed it in 31 minutes and hit 7 errors and fixed every one without help on a clean machine with no GPU, and the whole session was recorded.
A source checkout of Doca 0.1.24 built and ran in this container: pnpm dev served the web app (HTTP 200) and API (200), the admin account was bootstrapped and logged in over HTTP, an uploaded file round-tripped byte-for-byte through the API and local file store into SQLite (119 tables), the web build and typecheck passed, and the vitest suite passed 2747 of 2752 runnable tests, with the 5 failures limited to Chromium...
What the agent ended up with on a clean machine, in its own words. How this is measured
Measured by Argusic on a fresh machine every time. Every number links to its evidence. Argusic Score 100 of 100 (the mean of this project's run scores).
At a glance
Subject data from GitHub, linked at the top of this page, refreshed . Test data by Argusic (CC BY 4.0); every number links to a run page with the full log, the recording, and their sha256 hashes.
What was measured
From the run that decided this verdict. Every line is a recorded value, not an estimate.

What went wrong, in the agent's own words
The agent's own words, worst first, never rewritten into advice.
- `pnpm test` failed 97 tests in 11 files with 'trusted_engine_required'; root cause was the container umask 0002 making temp dirs group-writable (0775), which the segmentation security check rejects10 minutes
- tests/document-pdf.test.ts fails 2 tests: the renderer hardcodes chromiumSandbox:true and the downloaded Chromium headless shell cannot start ('No usable sandbox!', unprivileged user namespaces disabled by AppArmor on this Ubuntu 24.04 container)8 minutes
- Ran `pnpm dev`, confirmed 200 on web and API, then both ports refused connections; dev server had been killed when the launching shell exited4 minutes
- `pnpm typecheck` (tsc --noEmit) aborted with 'JavaScript heap out of memory' at Node's default heap on this large monorepo4 minutes
- Container provides Node v18.19.1 and no pnpm, but the repo requires Node >=22 and pnpm 11.25.0 (packageManager field); install could not start3 minutes
- tests/ai-document-parsing.test.ts fails 3 tests with 'spawn soffice ENOENT': DOCX/XLSX/PPTX rendering requires LibreOffice3 minutes
- Install time
- 31 minutes
- Cold machine to finish
- 31 minutes
- Errors hit and fixed
- 7 hit, 7 fixed with no human help
- How the result was proved
- cp .env.example .env (absolute storage root + fresh 32-byte key), `pnpm install --frozen-lockfile` exited 0; `pnpm build` exited 0 (vite built); `pnpm typecheck` with 8GB heap exited 0; `pnpm dev` served GET / -> 200 and GET /api/v1/auth/options -> 200; `bash scripts/bootstrap-admin-local.sh` printed 管理员初始化成功; POST /api/v1/auth/login returned 200 with the admin user; POST /api/v1/files/items?filename=final.md returned 200, GET .../content returned the exact 41 uploaded bytes, DELETE returned 200; SQLite at data/v1/doca.db had 119 tables and the uploaded object bytes were on disk; `umask 0022 pnpm test` exited 1 with Test Files 274 passed | 2 failed (278), Tests 2747 passed | 5 failed | 6 skipped (2758)
- Model tokens used
- 381,090
- Exact commit tested
- 091efcd45848
- Container image
- sha256:cdd920bce783
What was not measured
The other half, so you can see exactly how far this evidence goes. A gap is printed as a gap and never filled in.
- Peak GPU memory
- this ran on a CPU machine, so there was no GPU to sample
- Behaviour over a long run
- each attempt uses the smallest documented settings and a fixed time budget, so this measures whether it runs, not how it holds up under load
The end of the recording
The last lines of the terminal session that decided this verdict, exactly as they were recorded.
/bin/sh -lc 'date -u; echo "start was ~06:10 UTC"; export PATH=$HOME/tools/node-v24.22.1-linux-x64/… succeeded in 0ms: Fri Oct 23 06:41:19 UTC 2026 start was ~06:10 UTC == final server check == web /: 200 `git status` is empty (no repo files modified — my `.env` and `data/` are gitignored). The server i… Final verification recap: install succeeded, build succeeded, typecheck succeeded (with larger heap… tokens used 381,090 `git status` is empty (no repo files modified — my `.env` and `data/` are gitignored). The server i… Final verification recap: install succeeded, build succeeded, typecheck succeeded (with larger heap…
Replay the whole session, every command from a clean machine to this point.
How it was tested
One agent, one container, no human help. It installs the project the way its own documentation says to, runs it, and fixes what breaks. Everything below is recorded as it happened: the terminal session, the log and the exact commit. The full method.
Strengths and limits
Measured facts, not opinions. How this is written.
What went well
- Reached a running state on a clean machine, with the session recorded.
- Recovered from all 7 errors without a human stepping in, which says the failures are documented well enough to solve.
- Ran without a GPU, so it does not need one to start.
- Licensed MIT, as reported by its host.
What did not, or is not known
- Took 31 minutes to install, slower than the median of the 8 comparable projects Argusic has measured.
- Measured once so far. A single attempt shows it can run, not that it runs reliably.
Of the 9 ai-assistant projects Argusic has installed and timed, doca was the 8th fastest to reach a running state, and 7 of 9 reached one at all.
What it is a reasonable choice for
- Trying it on a laptop or a small server: it reached a running state without a GPU.
Also tested, in the same area
Every one of these was installed and run by Argusic on a clean machine. Nothing appears here that was not tested.
Run history
Topics (from GitHub)
ai-assistantcanvascollaborative-editingdockerdocument-managementknowledge-basemarkdownonline-officepresentationreactreal-time-collaborationrich-text-editorself-hostedspreadsheettypescriptyjs
Embed the badge
Markdown for the project README. It links back here; terms on the terms page.
[](https://argusic.com/subject/doca)Questions
- Does doca run?
- Yes. doca runs. Argusic installed and launched it on a clean machine in 31 minutes, hitting 7 errors on the way, and recorded the session.
- How did Argusic test doca?
- On a fresh, disposable machine, with every command recorded and the repository pinned at commit 091efcd45848. One attempt is recorded, and the full method is on the methodology page.
- What did it cost to test doca?
- The run that produced this verdict cost $0.15: real compute and model cost, not a list price per million tokens. It is recorded on that run's page.
- How long does doca take to install?
- 31 minutes in the run that decided this verdict, from a clean machine to a running state. That is one measured attempt, not an average.
- Does doca need a GPU?
- Not to start. Argusic reached a running state on a machine with no GPU.
- What goes wrong when installing doca?
- 7 things broke in the recorded run, and 7 were fixed without human help. Each one, and the time it cost, is listed on this page.
- How does doca compare with the alternatives?
- Of the 9 ai-assistant projects Argusic has installed and timed, doca was the 8th fastest to reach a running state, and 7 of 9 reached one at all.
- Where is the evidence for doca?
- The recorded run is on this page, each linking to its full log and terminal recording, stored with a sha256 fingerprint so it cannot be quietly altered.