Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,15 +151,15 @@ jobs:
# Pin the DSH CLI the lane mounts into; the profile's bundle stack
# (dsh-base / dsh-web-app) resolves from this installation. Keep in
# step with the plugin's @deepseek-ai/* peer range when bumping.
# DSH 0.1.5-rc.2 is the `next` dist-tag on npm (`latest` still points
# at rc.1); the lanes speak the slash-only RPC dialect
# DSH 0.1.6-alpha.2 is the `alpha` dist-tag on npm (`latest` is still
# the 0.1.5 line); the lanes speak the slash-only RPC dialect
# (tests/e2e/host-protocol.ts).
#
# The larger heap is the fix for one of the two ways this step used to
# die (runs 34490912649 and 34363627184 on the alpha line): the pinned
# version's TRANSITIVES are declared as floating `^` ranges, so while
# upstream publishes a prerelease in stages (0.1.5-rc.2 went out
# 14:43-14:57 on 2026-09-10) npm resolved a mixed rc.1/rc.2 peer graph —
# 14:43-14:57 on 2026-09-10) npm resolved a mixed peer graph —
# 3062 ERESOLVE lines, then "Ineffective mark-compacts near heap limit"
# (exit 134). The other failure mode was a hard ETARGET on a sibling
# package that appeared minutes later; pinning a version that is fully
Expand All @@ -175,7 +175,7 @@ jobs:
- name: Install dsh CLI (pinned)
env:
NODE_OPTIONS: --max-old-space-size=4096
run: npm install -g @deepseek-ai/dsh@0.1.5-rc.2
run: npm install -g @deepseek-ai/dsh@0.1.7-rc.1

# lib/ is gitignored; the tarball is produced from this build.
- name: Build and pack the npm tarball
Expand Down
71 changes: 53 additions & 18 deletions AGENTS.md

Large diffs are not rendered by default.

133 changes: 81 additions & 52 deletions README.md

Large diffs are not rendered by default.

137 changes: 83 additions & 54 deletions README_EN.md

Large diffs are not rendered by default.

13 changes: 3 additions & 10 deletions cordis.patch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,13 @@
# cordis.patch.yml, remove it before switching to the bundle channel to
# avoid double-mounting (two Node halves, two sidebars).
#
# To choose the terminal shell, add `config.shell` to the inserted plugin
# row (or to the profile's manual cordis.patch.yml mount line). When omitted,
# the host keeps resolving $SHELL / the login shell / powershell.exe.
# `config.shellArgs` optionally supplies explicit startup arguments; when
# non-empty they replace the automatic POSIX `-l` login flag:
# The `config.shell` / `config.shellArgs` rows are gone with the plugin's own
# terminal (DSH 0.1.6 ships its own right-Sidebar terminal, and its shell is
# chosen from the shell menu there):
#
# - insert:
# - id: better-sidebar
# name: 'dsh-better-sidebar'
# config:
# shell: /bin/zsh
# shellArgs:
# - --noprofile
# - --no-rc
#
# Aggregate double-mount guard: aggregate bundles (e.g. @linxin666/dsh-web-ui-all)
# may already mount this package under their own entry id (e.g.
Expand Down
166 changes: 119 additions & 47 deletions docs/external-plugin-guide.md

Large diffs are not rendered by default.

130 changes: 130 additions & 0 deletions docs/plans/2026-09-21-dsh-0.1.6-alpha.2-adaptation.md

Large diffs are not rendered by default.

144 changes: 144 additions & 0 deletions docs/plans/2026-09-22-dsh-0.1.7-alpha.1-adaptation.md

Large diffs are not rendered by default.

106 changes: 106 additions & 0 deletions docs/plans/2026-09-23-dsh-0.1.7-rc.1-adaptation.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dsh.plugin.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"id": "dsh-external/dsh-better-sidebar",
"version": "0.19.1",
"version": "0.21.0-rc.1",
"main": "./lib/index.js",
"description": "VSCode 风格右侧侧边栏:文件资源管理器 / 编辑器 / 终端 / Git / 浏览器,按会话隔离。暴露服务供其他插件注册侧边栏页面和文件预览器",
"description": "更好用的右侧边栏——文件树、编辑器、文件变动、任务和侧边对话都收在这一栏里,每个会话互不干扰。暴露服务供其他插件注册侧边栏页面与文件预览器",
"engines": {
"dsh": ">=0.1.5-rc.1"
"dsh": ">=0.1.7-rc.1"
},
"contributes": {
"tools": [],
Expand Down
14 changes: 14 additions & 0 deletions icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions locale/en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"meta": {
"title": "Better Sidebar",
"description": "A better right sidebar — file tree, editor, changes, tasks and side chat in one column, separate for every conversation."
}
}
6 changes: 6 additions & 0 deletions locale/zh.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"meta": {
"title": "Better Sidebar",
"description": "更好用的右侧边栏——文件树、编辑器、文件变动、任务和侧边对话都收在这一栏里,每个会话互不干扰。"
}
}
126 changes: 70 additions & 56 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "dsh-better-sidebar",
"version": "0.19.1",
"description": "DSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.",
"version": "0.21.0-rc.1",
"description": "Better Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.",
"type": "module",
"repository": {
"type": "git",
Expand Down Expand Up @@ -34,7 +34,8 @@
"default": "./lib/client.js"
},
"./src/*": "./src/*",
"./package.json": "./package.json"
"./package.json": "./package.json",
"./locale/*.json": "./locale/*.json"
},
"engines": {
"node": ">=20"
Expand All @@ -53,15 +54,16 @@
"@deepseek-ai/dsh-client-modules"
],
"platform": "web"
}
},
"manifestVersion": 1
},
"files": [
"lib/index.js",
"lib/invariant.js",
"lib/client.js",
"lib/client-registry.js",
"lib/client-terminal.js",
"lib/client-editor.js",
"lib/client-locale.js",
"lib/client-mermaid.js",
"lib/types/**/*.d.ts",
"src",
Expand All @@ -70,7 +72,9 @@
"cordis.patch.yml",
"README.md",
"README_EN.md",
"LICENSE"
"LICENSE",
"icon.svg",
"locale/*.json"
],
"scripts": {
"build": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\" && tsc -p tsconfig.build.json && tsdown",
Expand All @@ -89,21 +93,21 @@
},
"license": "MIT",
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.2",
"@deepseek-ai/dsh-agent": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-locale": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.5-rc.1",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.1",
"@deepseek-ai/dsh-host-webserver": "^0.1.5-rc.1",
"@deepseek-ai/dsh-invariants": "^0.1.5-rc.1",
"@deepseek-ai/dsh-llm": "^0.1.5-rc.1",
"@deepseek-ai/dsh-session": "^0.1.5-rc.1",
"@deepseek-ai/dsh-settings": "^0.1.5-rc.1",
"@deepseek-ai/dsh-subagent": "^0.1.5-rc.1",
"@deepseek-ai/dsh-tools": "^0.1.5-rc.1",
"@deepseek-ai/cordis": "^4.0.4",
"@deepseek-ai/dsh-agent": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-locale": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.1",
"@deepseek-ai/dsh-host-webserver": "^0.1.7-rc.1",
"@deepseek-ai/dsh-invariants": "^0.1.7-rc.1",
"@deepseek-ai/dsh-llm": "^0.1.7-rc.1",
"@deepseek-ai/dsh-session": "^0.1.7-rc.1",
"@deepseek-ai/dsh-settings": "^0.1.7-rc.1",
"@deepseek-ai/dsh-subagent": "^0.1.7-rc.1",
"@deepseek-ai/dsh-tools": "^0.1.7-rc.1",
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
Expand Down Expand Up @@ -138,41 +142,49 @@
"@codemirror/search": "^6.7.1",
"@codemirror/state": "^6.7.1",
"@codemirror/view": "^6.43.8",
"@deepseek-ai/schemastery": "^3.18.4",
"@lezer/highlight": "^1.2.3",
"clsx": "^2.1.1",
"dompurify": "^3.4.14",
"mermaid": "^11.16.1",
"node-pty": "^1.1.0",
"react-icons": "5.7.0",
"rxjs": "^7.8.2",
"schemastery": "^3.18.0",
"ws": "^8.18.0"
"ws": "^8.18.0",
"yaml": "^2.9.1"
},
"devDependencies": {
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
"@deepseek-ai/dsh-agent": "0.1.5-rc.2",
"@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
"@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.5-rc.2",
"@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
"@deepseek-ai/dsh-code-runtime": "0.1.5-rc.2",
"@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
"@deepseek-ai/dsh-invariants": "0.1.5-rc.2",
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
"@deepseek-ai/dsh-scope": "0.1.5-rc.2",
"@deepseek-ai/dsh-session": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-persistence": "0.1.5-rc.2",
"@deepseek-ai/dsh-session-projection": "0.1.5-rc.2",
"@deepseek-ai/dsh-settings": "0.1.5-rc.2",
"@deepseek-ai/dsh-subagent": "0.1.5-rc.2",
"@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2",
"@deepseek-ai/dsh-tools": "0.1.5-rc.2",
"@deepseek-ai/dsh-user-approval": "0.1.5-rc.2",
"@deepseek-ai/dsh-util-time": "0.1.5-rc.2",
"@deepseek-ai/cordis": "4.0.4",
"@deepseek-ai/cordis-plugin-group": "1.0.4",
"@deepseek-ai/cordis-plugin-include": "1.0.9",
"@deepseek-ai/dsh-agent": "0.1.7-rc.1",
"@deepseek-ai/dsh-agent-loop": "0.1.7-rc.1",
"@deepseek-ai/dsh-attachment": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-locale": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-store": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-settings": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.7-rc.1",
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-rc.1",
"@deepseek-ai/dsh-host-webserver": "0.1.7-rc.1",
"@deepseek-ai/dsh-invariants": "0.1.7-rc.1",
"@deepseek-ai/dsh-llm": "0.1.7-rc.1",
"@deepseek-ai/dsh-ptc-runtime": "0.1.7-rc.1",
"@deepseek-ai/dsh-sandbox": "0.1.7-rc.1",
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
"@deepseek-ai/dsh-scope": "0.1.7-rc.1",
"@deepseek-ai/dsh-session": "0.1.7-rc.1",
"@deepseek-ai/dsh-session-persistence": "0.1.7-rc.1",
"@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
"@deepseek-ai/dsh-settings": "0.1.7-rc.1",
"@deepseek-ai/dsh-subagent": "0.1.7-rc.1",
"@deepseek-ai/dsh-system-prompt": "0.1.7-rc.1",
"@deepseek-ai/dsh-tools": "0.1.7-rc.1",
"@deepseek-ai/dsh-user-approval": "0.1.7-rc.1",
"@deepseek-ai/dsh-util-time": "0.1.7-rc.1",
"@deepseek-ai/dsh-util-workspace-path": "0.1.7-rc.1",
"@eslint/js": "^10.0.1",
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
"@playwright/test": "^1.62.1",
"@shikijs/langs": "^4.3.1",
Expand All @@ -181,10 +193,13 @@
"@types/react": "~18.3.1",
"@types/react-dom": "~18.3.1",
"@types/ws": "^8.5.10",
"@xterm/addon-fit": "^0.11.0",
"@xterm/xterm": "^5.5.0",
"anser": "^2.3.5",
"cordis": "^4.0.0-rc.8",
"diff": "^9.0.0",
"eslint": "^10.9.1",
"eslint-plugin-react-hooks": "^7.1.1",
"globals": "^17.12.0",
"immer": "^10.1.1",
"jsdom": "^29.1.1",
"katex": "^0.16.47",
"lightningcss": "^1.32.0",
Expand All @@ -200,17 +215,16 @@
"micromark-util-sanitize-uri": "^2.0.1",
"micromark-util-symbol": "^2.0.1",
"micromark-util-types": "^2.0.2",
"shiki": "^4.3.1",
"react": "^18.2.0",
"react-dom": "18.2.0",
"shiki": "^4.3.1",
"simple-icons": "^16.32.0",
"tsdown": "^0.22.2",
"typescript": "^5.6.0",
"typescript-eslint": "^8.69.0",
"unrun": "^0.2.39",
"vitest": "^4.1.8",
"@eslint/js": "^10.0.1",
"eslint": "^10.9.1",
"eslint-plugin-react-hooks": "^7.1.1",
"globals": "^17.12.0",
"typescript-eslint": "^8.69.0"
}
"zustand": "~4.4.7"
},
"icon": "./icon.svg"
}
Loading
Loading