a903067276-rgb / dsh-file-mentions

목록에 있음

Clickable file paths in DSH replies: Codex-style inline open, 📂 reveal in file manager, mentioned-files chip list. DSH web plugin (zero-dependency).

main도구 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:a903067276-rgb/dsh-file-mentions

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 a303b81동기화 2026. 8. 18.

dsh-file-mentions 📎

English | 简体中文

License: MIT

Clickable file paths in DSH replies — a DeepSeek Harness (DSH) web plugin with a Codex-style experience.

Unofficial project: independently developed and maintained by a community member, not an official DeepSeek product.

Screenshot

dsh-file-mentions in action

Inline paths wrapped in backticks (`~/...`, absolute, relative, or Chinese paths) become click-to-open; each clickable path carries a small folder-icon button that reveals the file in your file manager; a "📎 mentioned files" chip list at the turn tail covers the rest. URLs are already auto-linked by the official renderer, so this plugin leaves them alone.

Features

WhereWhatEffect
Inline path textclickOpen with default app / open directory
folder icon after inline pathclickReveal in file manager
"📎 mentioned files" chipclick namePreview content inside DSH
folder icon in the chip listclickReveal in file manager
Inline URLclickBrowser opens it (official autolink)

Supports ~/ expansion, relative paths (resolved against the session cwd), and absolute paths in macOS / Linux / Windows forms. Non-existent paths silently do nothing.

Install

This repository is an official bundle plugin (dsh.bundle + dsh.client in the root package.json), installed through the official profile manager:

dsh plugin --profile web add "github:a903067276-rgb/dsh-file-mentions#main"

Then restart dsh web (bundle layers are composed at startup; HMR does not apply). Requires pnpm on PATH (dsh plugin forwards to pnpm).

Manual mount fallback: see docs/install.md.

Usage

Have the agent wrap paths in backticks (e.g. `~/docs/plan.md`) to make them clickable inline. The tail chip list appears automatically — no configuration.

Platform support

PlatformStatus
macOS✅ Fully tested (incl. Chinese paths)
Linux⚠️ Not tested — expected to work (command branching and path parsing implemented)
Windows⚠️ Not tested — expected to work (command branching and path parsing implemented)

Requirements

  • DSH web (run with npx @deepseek-ai/dsh web)
  • Pure Node stdlib — no runtime dependencies
  • Opening files uses the system default app / file manager (per-platform command branching)

How it works

  • Host (lib/index.js): two routes — /api/file-mentions/check (existence check) and /api/file-mentions/open (system open, mode: open/reveal, per-platform command). Pure Node stdlib; execFile avoids shell injection.
  • Client (lib/client.js): a conversationEvents collector extracts paths from each reply → publishes them to turn data → the tail list filters non-existent paths before rendering; inline clicks use a document-level click delegation (the official render entry is occupied by the official "deliverables" plugin, so DOM delegation is the only viable path); inline folder-icon buttons are inserted by a MutationObserver and restored automatically after React re-renders.

See docs/architecture.md.

Notes

  • Use either the official bundle install or the manual mount — never both.
  • Manual mounting needs a single entry in ~/.dsh/cordis.patch.yml; a double entry applies the plugin twice and crashes on duplicate route registration.

Compatibility notes

  • Inline clicks rely on backtick-wrapped paths (the agent-output convention, same as Codex); bare paths in prose are intentionally not clickable.
  • The official "produced files" list and this plugin coexist: official wins when it has output, otherwise this plugin shows.
  • Windows / Linux validation via issue or PR is welcome.

License

MIT

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

문서감지됨
예제감지됨

저장소 정보

언어
JavaScript
라이선스
MIT
최신 릴리스
v1.0.3
마지막 업데이트
2026. 8. 18. 오후 1:19

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.