# dsh-file-links DSH (DeepSeek Harness) conversation file-reference plugin: workspace files referenced by tools or mentioned in each assistant reply render as **Codex-style clickable chips** (type icon + filename); click to open in the built-in preview. > 中文: [README.md](./README.md) ## Features - **Automatic extraction** from three deterministic sources per turn: ① tool-result `locations` (diff/edit cards) ② paths inside tool-call arguments ③ inline-code mentions in the closing prose - **Codex-style chips**: a `文件引用` label + one row of rounded pills (extension-colored icons: TS/JS/MD/spreadsheet/image…), hover highlight, fold to `+N` past 8 - **Click-to-preview**: reuses the chat view's own `openFile` (`workspaces.openPath`) — no bespoke preview - **Safe**: Host-side `fs.stat` keeps only real regular files (directories, noise, missing paths are filtered); absolute paths open directly, relative paths resolve against the session cwd — no double-prefix - **Theme-aware**: styles use DSH theme variables (`--dsw-alias-*`) for light/dark readability ## Install ```bash dsh plugin --profile web add github:/dsh-file-links ``` ## How it works - **Client half**: registers the `conversation.chat.turnTail` chain and accumulates paths via a turn-scoped `ConversationNodeDefinition` (`file-links`), then renders chips. - **Host half**: registers a `/file-links/verify` HTTP route that `fs.stat`s absolute paths and keeps regular files only. - **No business writes, no sensitive data**: the plugin reads path metadata only — never file contents, never uploads anything. ## License MIT