Skip to content
dsh.fish
Bundle

dsh-document-parser

A DeepSeek Harness document parsing tool powered by LiteParse

Source
miaobuao
stars
1 stars
License
MIT
Updated
Updated yesterday

Readme

# dsh-document-parser

A DeepSeek Harness Cordis bundle that registers the `parse_document` tool backed by LiteParse.

## What it provides

The plugin lets an Agent parse a document in the current workspace into Markdown. It supports formats handled by LiteParse, including PDF, Office/OpenDocument files, and images.

The first version runs on the DSH Host side. It does not add a browser UI or a generic chat-attachment protocol.

## Development

Requirements:

- Node.js 18 or newer
- pnpm
- A DSH installation compatible with `@deepseek-ai/dsh-*` version `0.1.0-rc.6`

Install and build:

```sh
pnpm install
pnpm run check
```

Quality checks run automatically through Lefthook on commit and push:

- `prettier --check` validates staged formatting.
- `oxlint` validates TypeScript source.
- `typecheck` and `build` run before push.

The generated `lib/` directory is ignored by Git and recreated by `postinstall` and `build`. It is included in the npm package through the `files` field, but should not be committed to source control.

## Install into a local DSH profile

From the workspace where DSH should resolve document paths:

```sh
dsh plugin --profile web add file:/absolute/path/to/dsh-document-parser
dsh --profile web --dump-config
dsh web
```

The package declares a `dsh.bundle` entry, so DSH automatically adds its `cordis.patch.yml` layer after installation. For a headless profile, install it separately:

```sh
dsh plugin --profile headless add file:/absolute/path/to/dsh-document-parser
```

## Agent usage

Ask the Agent to parse a file:

```text
Parse docs/manual.pdf and summarize the main points.
```

Optional page selection is supported:

```json
{
	"file_path": "docs/manual.pdf",
	"target_pages": "1-5"
}
```

## Tool parameters

The `parse_document` tool accepts:

- `target_pages`: optional 1-based selection such as `1-5,10`.
- `ocr_enabled`: whether to run OCR; defaults to `true`.
- `ocr_language`: Tesseract language code such as `eng` or `chi_sim`.
- `output_format`: `markdown`, `text`, or `json`; defaults to `markdown`.

DSH owns tool timeout, output retention, spill, and compaction policies. This plugin passes the requested parsing options to LiteParse without adding another plugin-level resource-limit configuration.

Office parsing may require LibreOffice on the host, as required by LiteParse.

Install

dsh plugin --profile web add github:miaobuao/dsh-document-parser#e022e2ac79c95efd319457a5610365e6288021f0

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
Source