Bundle
dsh-irmia-devkit
Curated Irmia DevKit tools ported to the DeepSeek Harness: safe_edit / safe_rollback / multi_edit / http_get / http_post / code_index / code_explore / code_diff_impact / db_query.
- Source
- irmia2026
- stars
- 2 stars
- License
- AGPL-3.0
- Updated
- Updated 10 days ago
Readme
# dsh-irmia-devkit
[](https://www.npmjs.com/package/dsh-irmia-devkit)
[](LICENSE)
[](https://github.com/topics/dsh-plugin)
Curated **Irmia DevKit** tools for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH). Nine battle-tested tools ported as-is from [Irmia DevKit](https://github.com/irmia2026/irmia_devkit_open) v2.6.4, covering the gaps the Harness runtime does not ship natively.
## Features
| Group | Tools | What they do |
|---|---|---|
| Safe editing | `safe_edit` · `safe_rollback` · `multi_edit` | Backup → edit → syntax gate → auto-rollback on failure. `safe_rollback(list=true)` lists backups; `multi_edit` does atomic cross-file batch edits |
| Networking | `http_get` · `http_post` | SSRF-guarded HTTP (private-network blocking + per-hop redirect re-check) |
| Code understanding | `code_index` · `code_explore` · `code_diff_impact` | Symbol indexing (AST + SQLite + FTS5) with BFS call-graph queries; `code_index(status=true)` checks index health |
| Read-only DB | `db_query` | SELECT/PRAGMA whitelist + engine-level `mode=ro` read-only |
Zero third-party Python dependencies — pure standard library (`chardet` / `tree-sitter` are optional enhancements with graceful fallback).
## Install
Requires Node.js ≥ 18 and `python3` (≥ 3.9) on `PATH`. This package ships as a DSH **bundle** (`dsh.bundle`), installed into a profile via `dsh plugin`:
```sh
# From npm (recommended)
npx @deepseek-ai/dsh plugin --profile web add dsh-irmia-devkit
# From GitHub (pin a version)
npx @deepseek-ai/dsh plugin --profile web add github:irmia2026/dsh-irmia-devkit#v0.1.0
```
Verify the layer landed before launching:
```sh
npx @deepseek-ai/dsh --profile web --dump-config # look for a "# == dsh-irmia-devkit" layer
npx @deepseek-ai/dsh web
```
## Configuration
| Field | Default | Description |
|---|---|---|
| `pythonPath` | `python3` | Executable used to run the bundled Python tools |
## How it works
```
Model → Cordis tool (index.js / src/tools.js)
│ execFile("python3", python/runner.py <tool> '<json-args>')
▼
python/runner.py → python/tools/*.py (DevKit modules, unchanged)
▼
JSON result back to the model
```
- The JS layer only defines tool schemas and bridges to subprocesses.
- The Python core comes from [irmia_devkit_open](https://github.com/irmia2026/irmia_devkit_open) v2.6.4, unmodified.
- Per-tool behavior (arguments, guards, return protocol) is preserved exactly.
## Development
```bash
node test/smoke.mjs # requires node_modules with @deepseek-ai/dsh-tools
```
Repo-internal design docs: `docs/COMPARISON.md` (DevKit ↔ Harness tool comparison) and `docs/PORTING.md` (port blueprint).
## License
**AGPL-3.0**. Python tool core © 2026 伊尔弥亚 / irmia2026, from [Irmia DevKit](https://github.com/irmia2026/irmia_devkit_open), AGPL-3.0. This repository is a derivative work distributed under AGPL-3.0.
Install
dsh plugin --profile web add github:irmia2026/dsh-irmia-devkit
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-irmia-devkit from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.