kevin9327/dsh-hwp ↗★ 0

dsh-hwp

DeepSeek Harness plugin: a read_hwp tool that reads Korean Hangul word processor documents (.hwp HWP 5.x and .hwpx) as Markdown or plain text, with no native binaries. 适合需要让Agent阅读和解析韩文Hangul办公文档并转为Markdown的任务。

パッケージ
dsh-hwp
互換性
未検証
Harness ピア範囲
>=0.1.5-rc.1 <0.2.0-0
Cordis ピア範囲
^4.0.2
バージョン
0.1.0
ライセンス
MIT
最終更新
2026/09/15

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:kevin9327/dsh-hwp

ドキュメント

README 全文を読む ↗

Usage

Ask the agent to read a document, for example:

공고문.hwpx 파일을 읽고 신청 자격과 마감일을 정리해 줘.

The model calls read_hwp:

{ "file_path": "공고문.hwpx" }

and receives something like:

공고문.hwpx (hwpx 5.1.1.0, builtin reader, markdown) — lines 1-42 of 42

2026년 지원사업 모집 공고
...
| 구분 | 신청 기간 | 비고 |
| --- | --- | --- |
| 1차 | 3.2.~3.20. | 온라인 접수 |

Configuration

Every field has a default. Override fields in your profile's cordis.patch.yml; remember that a patch replaces a row's whole config, so restate every field you want to keep non-default.

- id: dsh-hwp
  name: dsh-hwp
  config:
    readLimit: 500
    maxOutputChars: 30000
FieldDefaultDescription
maxFileBytes52428800 (50 MiB)Largest file read by one call.
maxDecompressedBytes268435456 (256 MiB)Largest total decompressed size of one document (decompression-bomb guard).
readLimit1000Default and maximum number of lines per call.
maxOutputChars40000Character budget of one returned window.
maxLineChars4000Longer lines are cut and marked. Must not exceed maxOutputChars.
timeoutMs120000Cooperative timeout of one call.
converter.command""Absolute path of an external converter executable. Empty disables it.
converter.args["{input}"]Converter arguments; {input} is replaced by the path of a temporary copy of the document.
converter.modefallbackfallback: use the converter only when the built-in reader reports HWP_UNSUPPORTED_FORMAT or HWP_MALFORMED. always: use it for every file.
converter.timeoutMs60000Converter timeout.
converter.maxOutputBytes33554432 (32 MiB)Largest converter output accepted.

External converter

You can plug in any command-line converter you trust that prints Markdown or text to stdout. The plugin:

  1. reads the document through ctx.fs (size-checked),
  2. writes those bytes to a private temporary directory as document.hwp / .hwpx / .hml,
  3. spawns converter.command directly, without a shell, with {input} in converter.args replaced by that temporary path — nothing from the model's arguments or the document ends up on the command line,
  4. enforces the timeout and output cap, and deletes the temporary directory.

Encrypted and distribution documents are never sent to the converter. On Windows, .cmd / .bat wrappers are rejected because they would need a shell; point command at the real executable (for a Node.js converter, use node.exe and put the script path first in args). The converter runs with the harness process's permissions, outside any sandbox — configure only programs you trust.