deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:hTangle/voice-interview-coach
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A DSH (DeepSeek Harness) plugin that turns the chat into a voice-driven mock interview. Give it your project, language, resume, and target role in natural language; it asks progressively harder questions, listens to your spoken answers, and finishes with a gap-analysis review you can export to Markdown and persist to memory.
.txt, .md, .json, .csv natively, plus PDF and DOCX parsed in the Host with no native dependencies (a tiny built-in FlateDecode / zip-XML reader)..interview-memory/interview-<timestamp>.md inside the current workspace so future sessions can read it.>= 0.1.0-rc.6 (Cordis dynamic-plugin runtime)llm Provider in your DSH deploymentOnce the package is published, install it from the Plugins settings page in DSH.
# 1. clone or download this repo into your DSH plugin path
git clone https://github.com/<your-org>/dsh-voice-interview-coach.git
# 2. add a row to your agent preset or host composition (cordis.yml):
# - id: voice-interview-coach
# apply: ./dsh-voice-interview-coach
Because the plugin is plain JavaScript with zero npm dependencies, there is no npm install step. The Host requires Node's built-in zlib (already available).
cordis_define / cordis_run card (or the plugin's own entry point).┌─────────────── Browser (Client) ───────────────┐ ┌──────────── Host (Node) ────────────┐
│ React UI in `tool.view.cordis` slot │ │ harness.handle(): │
│ • SpeechRecognition / SpeechSynthesis │ RPC │ • startInterview / submitAnswer │
│ • File upload (base64 for PDF/DOCX) ─────────┼─────►│ • parseResume (PDF/DOCX via zlib) │
│ • Markdown download, history selection │ │ • listHistory / compareHistory │
│ │ │ • saveMemory → <workspace>/.interview-memory/ │
└────────────────────────────────────────────────┘ │ ctx.llm.stream(...) for Q&A/review │
└─────────────────────────────────────┘
The plugin follows the standard Cordis lifecycle — every side effect is tied to the plugin fiber, so stopping/uninstalling removes all listeners and UI registrations cleanly.
| Field | Where | Default | Description |
|---|---|---|---|
| Memory directory | Host | <workspace>/.interview-memory/ |
Where review Markdown files are stored |
| Resume size limit | Client | 5 MB upload, 20 000 chars after parsing | Larger resumes are truncated before being sent to the model |
| LLM provider | Host | first registered provider | Selected via ctx.llm.listProviders()[0]; change in code or configure your deployment's default |
| Speech language | Client | zh-CN |
Change rec.lang / SpeechSynthesisUtterance.lang in src/client.js |
# Verify package metadata
npm run lint:meta
# Dry-run the npm tarball
npm run pack
To iterate inside a live DSH session, edit src/host.js / src/client.js and either:
cordis_define call to test instantly..
├── package.json # plugin manifest (the `dsh` block is the DSH entry)
├── src/
│ ├── host.js # Node half: LLM, PDF/DOCX parsing, memory, history
│ └── client.js # Browser half: React UI, speech I/O, file upload
├── assets/icon.svg # plugin icon
├── scripts/verify-package.js
├── docs/ # longer design notes
├── README.md
└── LICENSE
Resumes and interview transcripts are sent to whichever llm provider your DSH deployment is configured to use. They are also stored as plain Markdown under .interview-memory/ inside the workspace. Do not use this plugin with sensitive personal data unless you trust both the model provider and the workspace storage.
MIT © 2025
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。