dsh-at-file
FSMargoo/dsh-at-fileCodex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
Codex 风格 /side 侧边对话插件:在当前对话旁开一个浮动分叉面板,继承上下文、不打断主任务。
Codex-style /side side conversations for the DeepSeek Harness Web GUI.
While your main task runs, open a temporary fork of the current chat in a floating panel: it inherits the main thread's completed context, never interrupts the running task, and never pollutes the main thread's model context. Perfect for "ask while working" — "why did you implement it this way?", "what does this error mean?", "what was the signature again?"
/side command — open a side conversation beside the current session
(inherits context up to the last completed turn/end).session.prompt), stream in real time, and can be stopped.MarkdownText the
main conversation uses (headings, code blocks, tables, math), with
follow-the-latest auto-scroll.#N, hovering shows the side chat's own first question./side leaves only a command card in the main log,
never model context.dsh plugin --profile web add @zhuchenglong/dsh-side-chat
Or install from GitHub:
dsh plugin --profile web add github:zclDragon/dsh-side-chat#main
Restart dsh web (or refresh the browser) to pick it up.
/side.src/index.ts): registers the /side-chat routes
(open/list/close) and the /side command. open reuses DSH's fork
semantics — the seed is the parent's complete log prefix from the last
turn/end up to (not including) the next turn/start — then creates a
child agent with ctx.agents.create, inheriting the parent's agent-preset
composition and model selection. The panel header title is derived from the
side chat's own first user message (bounded by seedLength, so inherited
parent messages are never used).src/client/): binds side sessions through ctx.sessions,
opens their event window (session.open()), subscribes to the live
conversation snapshot, and renders a compact markdown transcript; messages
post via session.prompt().Map<sideSessionId, parentSessionId> records
grouping; when a parent session is disposed, every descendant side chat is
disposed too (orphan cleanup).pnpm install
pnpm typecheck # tsc --noEmit
pnpm test # vitest (host + client)
pnpm build # tsc declarations + tsdown artifacts (lib/index.js + lib/client.js)
pnpm pack # publish tarball
ctx.storageDomain is planned./side
appears within ~3s).turn/end
(same as a DSH fork); an in-flight turn cannot be inherited.