# AGENTS.md — Guide for AI agents This file helps AI coding agents and LLM tooling understand and work with this repository quickly. ## What this repo is `dsh-drop-any-file` is a **packaged Cordis plugin for DeepSeek Harness (DSH)** that lets the web chat accept **any** file type via drag-and-drop. The built-in composer only attaches images inline; this plugin intercepts drops containing non-image files (capture-phase `window` listeners), saves them into the active session's workspace, and toasts the result. It is a real profile-bundled plugin: `dsh.bundle` (`cordis.patch.yml`) mounts the host half, and the `dsh.client` declaration + `exports["./client"]` register the browser half — install once with `dsh plugin add`, loads on every DSH boot, no cordis_define. ## Repository layout | Path | Role | | --- | --- | | `src/index.ts` | Host half: a real Node module — `node:http` body read (80 MB cap), `sessions.get(sessionId).header.cwd` resolution, `path.basename` + illegal-char sanitisation, base64 decode, `node:fs` `writeFile` (60 MB cap), `webServer` route `GET|POST /drop-any-file/api`. | | `src/client/index.tsx` | Client bundle: `conversation.input.dock` registration (id `drop-any-file`, carries `sessionId`), capture-phase `dragenter`/`dragover`/`dragleave`/`drop` listeners on `window`, `FileReader` → base64 → `fetch` POST, drop overlay + toast, `