Connect multiple Overleaf projects to DSH through OverleafMCP for browsing, analysis, and Git-based file updates.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-overleaf
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:fly233338/dsh-overleaf
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Connect multiple Overleaf projects to DeepSeek Harness (DSH) through @fly233338/overleaf-mcp.
dsh-overleaf installs @fly233338/overleaf-mcp as an npm dependency, starts it through MCP stdio, and exposes its tools to DSH. The OverleafMCP source is not copied into this project.
Features
Browse and read files from multiple Overleaf projects, inspect document sections and section content, write files or sections back to Overleaf through Git, and use the DSH MCP Client provided by the host. Based on my experience, it is especially useful in the following scenarios: understanding an entire LaTeX project, automatically fixing LaTeX compilation errors, and unifying terminology and symbols throughout the document.
Requirements
- DSH
0.1.0-rc.5or0.2.x(verified against0.2.0-rc.2). - Node.js
22.19.0or newer. - An Overleaf Git integration token.
Install
If the DSH CLI is installed and available on PATH:
dsh plugin --profile web add dsh-overleaf
dsh web
From a DSH source checkout:
cd /path/to/deepseek-harness
pnpm install
pnpm run build
pnpm dsh plugin --profile web add /path/to/dsh-overleaf
pnpm dsh web
The npm installation command becomes available after this package is published.
Configure
The plugin stores dsh-overleaf.config.json under $DSH_HOME/dsh-overleaf/. If DSH_HOME is not set, it uses ~/.dsh/dsh-overleaf/. The directory and file are created on startup when missing. Fill in one shared token and one project ID per line:
{
"gitToken": "your-overleaf-git-token",
"projectIds": [
"project-id-a",
"project-id-b"
]
}
Get project IDs from the <id> in the Overleaf project URL. Create the Git token under Overleaf Account Settings → Git Integration.
Restart DSH after editing the file. The plugin reads it once at startup and generates the internal .dsh-overleaf.projects.json OverleafMCP project configuration in the same directory. Do not edit the generated file.
The plugin does not read .env and does not require Overleaf environment variables.
Use with the model
Tell the model which project to handle:
Please work on Overleaf project project-id-a and read its main.tex.
The model first calls mcp__overleaf__list_projects, then passes the selected ID as projectName to subsequent Overleaf tools. Write operations require an explicit commitMessage and push a Git commit to Overleaf.
Keep the token out of public source repositories and published package contents.
Scope
The current version supports multiple Overleaf projects through one MCP tool group. It does not compile documents, review PDFs, or automate a browser.
Links
- Project repository
- @fly233338/overleaf-mcp (npm)
- DSH plugin guide
- insert:
- id: dsh-overleaf name: dsh-overleaf
Links
More in this category
tt-a1i/archify#integrations/deepseek-harness★ 92724
Generate validated, self-contained interactive architecture, workflow, sequence, data-flow, and lifecycle diagrams from repositories or system descriptions.
dream-num/dsh-univer-office★ 657
Give DeepSeek Harness a real office environment. Univer Office Plugin brings spreadsheets, docs, slides, canvases, relational tables, and more into one runtime — with connected data, validation, versioned changes, and isolated worktrees for multi-agent collaboration.
ECNU/EduWork#dsh-knowledge-studio★ 275
A workspace-based Studio for source-grounded reports, slides, tables, mind maps, quizzes, flashcards, audio and video, using DSH models and shared artifact services. Office generation requires Python 3.12+ with its dependencies and DSH_OFFICE_PYTHON configured; media rendering requires Chromium, and local ASR additionally requires whisper.cpp and a model.
PerryLink/dsh-industry-research★ 215
Deterministic industry research reports for DeepSeek Harness — company and industry research flows produce structured, verifiable reports from staged evidence.
HuanLinOTO/dsh-plugin-mineru★ 51
Expose MineRU document parsing tools to the model.
PolinniZhong/dsh-knit★ 48
Puts the Markdown documents, source files, images and video that already exist anywhere in the session workspace into the DSH sidebar, ranked by relevance to the current conversation. The default lexical mode matches your recent messages against title, summary and body locally with IDF weighting (BM25) — no model calls, no network, nothing leaves the machine. The list comes from scanning the workspace rather than from a recent-files list, so restarting DSH or opening a new session does not empty it. Results are organised into a three-tier reading order (primary / supporting / related) with a verifiable reason on every row — which field matched, which document cites this one — and one click opens an in-place preview: Markdown as rendered text, relative-path images actually drawn, source code with the host's own syntax highlighting, video streamed over HTTP Range. The same Context Pack is exposed to the agent as a knit_docs tool. Later versions added read evidence and lifecycle tracking (attribution is frozen at the moment of reading), pin / exclude (exclusion applies before retrieval, and is undoable), relation evidence (references / imports / tests, with line numbers) and an incremental index reused across restarts. Since v0.23 there is also an optional hybrid mode: it is off by default and only runs once you configure an Ollama or OpenAI-compatible embedding provider yourself. When it runs, what leaves the machine is your query text plus each candidate file's title and summary — a Markdown summary is an excerpt of the body's first paragraph (at most 60 characters), a code file's summary is its workspace-relative directory, and an image or video contributes its file name; full bodies and absolute paths are not sent, and a loopback provider keeps everything on this machine. Since v0.24 it also associates uncommitted changes: a read-only git status (fixed argv, no shell, whitelisted child-process environment) combined with the same reference / import / test / mention evidence shows which files a change is likely to drag along, and it is off by default. The benefit of semantic retrieval still awaits a real-provider run, so no recall improvement is claimed.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.