dshbase

Plugin directory / Developer / dsh-rxresume

dsh-rxresume

Unverified Triple3h

✓ Actively maintained 2 contributors Builds on 4 official DSH packages

View on GitHub ↗ ← Back to plugin directory

0Stars
0Forks
0Open issues
Language
2026-08-23Last push
Cross-platformPlatform

What it does

DSH plugin that talks to the Reactive Resume REST API directly: create, read, patch, and manage resumes over /api/openapi with an API key. 直接对接 Reactive Resume REST API 管理简历的 DSH 插件。

Our take
Unverified — not yet verified

DSH plugin that talks to the Reactive Resume REST API directly: create, read, patch, and manage resumes over /api/openapi with an API key. 直接对接 Reactive Resume REST API 管理简历的 DSH 插件。 Not yet verified — install and test it yourself.

“Unverified” means our automated CI has not yet installed this plugin. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

Plugin author? Get the “Verified” label — submit your own evidence (screenshots, logs, or a short demo) and we'll review and flip the badge.

Submit verification evidence ↗

README

dsh-rxresume

English | 中文

GitHub stars
GitHub license

A DeepSeek Harness (dsh) plugin that manages your resumes on Reactive Resume — by talking to its REST API directly (/api/openapi, x-api-key auth), with no MCP hop.

Create and edit resumes right from a harness session. Every operation is a native, schema-validated tool the model can call — read before patching, edit content with JSON Patch, roll back to any version.

Install

# from the parent directory of this package:
dsh plugin --profile <name> add ./dsh-rxresume

Or straight from the repo:

dsh plugin --profile <name> add github:Triple3h/dsh-rxresume

The bundle patch reads RXRESUME_API_KEY from the environment. Without a key the plugin installs inert (a warning, no tools), so adding it before configuring never leaves a profile unbootable.

What you get

The plugin registers a set of first-party tools (native tool cards, schema-validated args) that mirror the Reactive Resume REST surface:

Tool What it does
resume_list List resumes (metadata, tag filter, sort) — the way to discover IDs
resume_get Read one resume's full data document
resume_create Create a resume (optionally pre-filled with sample data)
resume_import Create a resume from a complete ResumeData document
resume_patch Edit content via RFC 6902 JSON Patch operations
resume_update Change metadata: name, slug, tags, public visibility
resume_duplicate Copy a resume (e.g. job-specific variants)
resume_delete Permanently delete a resume
resume_lock / resume_unlock Protect / unprotect a resume against edits
resume_versions / resume_restore_version Version history and non-destructive rollback

The plugin also contributes a system-prompt section teaching the model the workflow that matters for resume editing: read before patching, UUID-keyed section items, valid-HTML rich text, atomic multi-op patches, and unlock → edit → re-lock for locked resumes.

Configure

Mint an API key in the web app at <url>/dashboard/settings/api-keys, then:

export RXRESUME_API_KEY=rrk_...
dsh --profile <name>

To override any option, patch the row by id in your profile's cordis.patch.yml:

- id: rxresume
  config:
    apiKey: !!js process.env.RXRESUME_API_KEY
    url: http://localhost:3000   # self-hosted origin (Docker 3000; pnpm dev 3001; no trailing slash)
    timeoutMs: 30000
Key Default Description
apiKey '' API key from <url>/dashboard/settings/api-keys. Empty mounts nothing.
url http://localhost:3000 Server origin. Docker/compose self-hosting listens on 3000; the pnpm dev server on 3001; hosted service https://rxresu.me.
timeoutMs 30000 Per-request timeout.

For a local instance of reactive-resume: Docker/compose serves the whole app on port 3000 (docker compose up), the dev server (pnpm --filter @reactive-resume/server dev) on 3001. Sign in through the web app and mint a key in settings.

How it works

  • Each tool wraps one REST endpoint of the server's OpenAPI surface (packages/api in the reactive-resume monorepo defines them): GET/POST /api/openapi/resumes, PATCH /api/openapi/resumes/{id} (JSON Patch), PUT (metadata), /duplicate, /lock, /versions/....
  • Tool parameters are validated by the dsh-tools schema DSL before execution; outputs are narrow, plugin-constructed envelopes validated against a declared schema — a server response can never silently break the tool contract.
  • API failures are converted to actionable errors (locked → resume_unlock first, 404 → resume_list, slug conflicts, version conflicts).
  • Every request carries x-api-key, a per-request timeout, and honors the harness's cancellation signal.

Compared to the official dsh-plugin-reactive-resume (which bridges the server's MCP endpoint): this plugin needs no MCP client runtime, registers plain first-party tools (native tool cards, schema-validated args), and adds lock/version workflows in the prompt guide.

Requirements

  • Node ^22.19.0 || >=24.0.0
  • A Reactive Resume instance (hosted https://rxresu.me or self-hosted) reachable from the harness host

Development

pnpm install
pnpm test         # vitest (fetch stubbed; also locked against the live error shape)
pnpm run typecheck
pnpm run build    # tsdown -> dist/

Version notes: @deepseek-ai/* packages must come from the next dist-tag line (^0.1.1-rc.2); the latest tag is stale. Cordis is a peer dependency — the host provides it.

License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-rxresume for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:Triple3h/dsh-rxresume

Headless (CLI) profile:

dsh plugin --profile headless add github:Triple3h/dsh-rxresume

Test report

Not yet L3-verified — see failure note below if we already ran it.

Status: pending · last test 2026-08-27
Note: 验证: runtime-fail Browse all pending failures →
Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7795 plugins →