@rooode/dsh-suite 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # DeepSeek Harness - 一键全功能增强套件 (`@rooode/dsh-suite`)
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@rooode/dsh-suite.svg?style=flat-square)](https://www.npmjs.com/package/@rooode/dsh-suite)
4
+ [![license](https://img.shields.io/npm/l/@rooode/dsh-suite.svg?style=flat-square)](https://github.com/rooode)
5
+
6
+ `@rooode/dsh-suite` 是 **DeepSeek Harness (DSH)** 的一键全功能聚合增强套件与多模态启动器。通过聚合 4 大生产级核心插件,为用户提供对齐 **WorkBuddy** 与 **WebStorm** 的完整交互体验。
7
+
8
+ 无需繁琐地逐个安装插件,任何机器只需 **一条 `npx` 命令**,即可自动装配全套插件,支持直接运行 `web` 浏览器模式、`cli` 终端模式或 `headless` 无头后台模式!
9
+
10
+ ---
11
+
12
+ ## 🎁 套件包含的插件 (Bundled Plugins)
13
+
14
+ | 插件名称 | 说明 | 核心能力 |
15
+ | :--- | :--- | :--- |
16
+ | **[`@rooode/dsh-plugin-automation`](https://www.npmjs.com/package/@rooode/dsh-plugin-automation)** | 自动化任务与调度中心 | ⚡ 24/7 Node.js 服务端常驻后台周期/定时调度、Headless 会话执行引擎、模型/模式选择器、全量审计历史 |
17
+ | **[`@rooode/dsh-plugin-git`](https://www.npmjs.com/package/@rooode/dsh-plugin-git)** | WebStorm 风格 Git 提交插件 | 🗂️ 变更文件分层目录树、三态复选框、双栏 (Side-by-Side) 与单栏 (Unified) Diff 视窗、Conventional Commits 智能生成 |
18
+ | **[`@rooode/dsh-plugin-preview`](https://www.npmjs.com/package/@rooode/dsh-plugin-preview)** | 代码与文档多标签预览插件 | 📝 参考 WorkBuddy FileTabs 的右侧抽屉、工作空间文件树、多语言代码高亮与符号大纲、JSON 交互树、GFM 渲染 |
19
+ | **[`@rooode/dsh-plugin-quickbar`](https://www.npmjs.com/package/@rooode/dsh-plugin-quickbar)** | 对话输入框快捷指令栏 | 📌 常驻输入框正上方 Dock 栏、工作空间隔离绑定、自定义提示词创建/编辑、一键触发对话 |
20
+
21
+ ---
22
+
23
+ ## 🚀 快速使用 (Quick Start)
24
+
25
+ ### 1. 启动 Web 界面 (默认模式)
26
+
27
+ 支持直接运行,或传入参数自定义端口、主机及工作空间路径:
28
+
29
+ ```bash
30
+ # 默认启动 Web 界面 (http://localhost:3080)
31
+ npx @rooode/dsh-suite
32
+
33
+ # 显式使用 web 子命令
34
+ npx @rooode/dsh-suite web
35
+
36
+ # 指定自定义端口与工作空间
37
+ npx @rooode/dsh-suite web --port 8080 --workspace C:/Users/user/Documents/wb
38
+
39
+ # 指定监听所有网卡并在启动后自动打开浏览器
40
+ npx @rooode/dsh-suite web --host 0.0.0.0 --port 3080 --open
41
+ ```
42
+
43
+ ---
44
+
45
+ ### 2. 启动终端命令行模式 (CLI Mode)
46
+
47
+ 除了 Web 模式外,亦可直接拉起具备全套套件能力的终端交互对话会话:
48
+
49
+ ```bash
50
+ # 启动 CLI 对话模式
51
+ npx @rooode/dsh-suite cli
52
+
53
+ # 启动 Headless 后台模式
54
+ npx @rooode/dsh-suite headless
55
+ ```
56
+
57
+ ---
58
+
59
+ ### 3. 固化安装到本地 Profile (可选)
60
+
61
+ 如果您希望将套件永久固化安装到本地 DSH 的 `web` profile 中:
62
+
63
+ ```bash
64
+ # 方式 A:使用套件内置一键安装指令
65
+ npx @rooode/dsh-suite install
66
+
67
+ # 方式 B:使用 DSH 官方 CLI 安装
68
+ npx @deepseek-ai/dsh plugin --profile web add @rooode/dsh-suite
69
+
70
+ # 安装后,后续启动常规 dsh web 均会自动携带全套插件:
71
+ npx @deepseek-ai/dsh web
72
+ ```
73
+
74
+ ---
75
+
76
+ ### 4. 离线分发包安装(内网/断网环境)
77
+
78
+ ```bash
79
+ # 下载或打包 rooode-dsh-suite-*.tgz 后执行:
80
+ npx @deepseek-ai/dsh plugin --profile web add ./rooode-dsh-suite-0.1.0.tgz
81
+ ```
82
+
83
+ ---
84
+
85
+ ## ⚙️ 套件聚合配置 (Configuration)
86
+
87
+ 本套件内置了各子插件的最佳实践默认配置。如需个性化自定义,可在项目的 `cordis.patch.yml` 中覆盖对应配置:
88
+
89
+ ```yaml
90
+ - insert:
91
+ # 1. 对话快捷栏配置
92
+ - id: ui-quickbar
93
+ name: '@rooode/dsh-plugin-quickbar'
94
+ config:
95
+ allowCustomIcons: true
96
+
97
+ # 2. 自动化调度配置
98
+ - id: ui-automation
99
+ name: '@rooode/dsh-plugin-automation'
100
+ config:
101
+ defaultPollingIntervalMs: 5000
102
+ maxStoredRecords: 100
103
+
104
+ # 3. 预览面板配置
105
+ - id: ui-preview
106
+ name: '@rooode/dsh-plugin-preview'
107
+ config:
108
+ defaultViewMode: 'preview'
109
+ defaultPanelWidth: 560
110
+ maxFileSizeMb: 10
111
+
112
+ # 4. Git 提交配置
113
+ - id: ui-git
114
+ name: '@rooode/dsh-plugin-git'
115
+ config:
116
+ enableCommitDockButton: true
117
+ autoRefreshIntervalMs: 10000
118
+ defaultDiffViewMode: 'split'
119
+ commitAiStyle: 'conventional'
120
+ ```
121
+
122
+ ---
123
+
124
+ ## 📁 项目结构 (Directory Structure)
125
+
126
+ ```text
127
+ dsh-suite/
128
+ ├── package.json # 套件元信息、bin 可执行命令与 dependencies 依赖声明
129
+ ├── cordis.patch.yml # DSH 组合包聚合 patch 描述文件
130
+ ├── README.md # 套件使用与快速启动文档
131
+ ├── bin/
132
+ │ └── cli.js # 多模态启动器 (支持 web / cli / headless / install)
133
+ ├── lib/
134
+ │ ├── index.js # Bundle 模块导出入口
135
+ │ └── index.d.ts # 类型声明
136
+ ├── src/
137
+ │ └── index.ts # 组合包源码入口
138
+ └── scripts/
139
+ └── build.js # 编译与本地 Profile 自动同步脚本
140
+ ```
141
+
142
+ ---
143
+
144
+ ## 🛠️ 本地开发与二次构建 (Development)
145
+
146
+ ```bash
147
+ # 1. 构建套件并同步至本地 DSH 运行环境
148
+ npm run build
149
+
150
+ # 2. 本地调试启动
151
+ npm run dev
152
+
153
+ # 3. 打包生成离线 tarball 压缩包
154
+ npm run package
155
+ ```
156
+
157
+ ---
158
+
159
+ ## 📄 开源许可证 (License)
160
+
161
+ MIT License © 2026 rooode
package/bin/cli.js ADDED
@@ -0,0 +1,144 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * DeepSeek Harness All-in-One Suite CLI Launcher
5
+ * Package: @rooode/dsh-suite
6
+ */
7
+
8
+ import { spawn } from 'child_process';
9
+ import path from 'path';
10
+ import fs from 'fs';
11
+ import { fileURLToPath } from 'url';
12
+
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ const __dirname = path.dirname(__filename);
15
+ const rootDir = path.resolve(__dirname, '..');
16
+ const patchPath = path.join(rootDir, 'cordis.patch.yml');
17
+ const pkgPath = path.join(rootDir, 'package.json');
18
+
19
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
20
+
21
+ const rawArgs = process.argv.slice(2);
22
+
23
+ function printBanner() {
24
+ console.log(`
25
+ \x1b[36m===============================================================================\x1b[0m
26
+ \x1b[1m\x1b[32m🚀 DeepSeek Harness All-in-One Suite\x1b[0m \x1b[90m(v${pkg.version})\x1b[0m
27
+ \x1b[90mPackage: @rooode/dsh-suite | Powered by Cordis & DSH\x1b[0m
28
+ \x1b[36m===============================================================================\x1b[0m
29
+ \x1b[33m⚡ [@rooode/dsh-plugin-automation]\x1b[0m 24/7 Node 服务端常驻自动化与调度中心
30
+ \x1b[35m🗂️ [@rooode/dsh-plugin-git]\x1b[0m WebStorm 风格 Git 提交与双栏 Diff 对比
31
+ \x1b[34m📝 [@rooode/dsh-plugin-preview]\x1b[0m 多标签代码/文档预览与工作空间文件树
32
+ \x1b[32m📌 [@rooode/dsh-plugin-quickbar]\x1b[0m 输入框上方工作空间快捷指令栏
33
+ \x1b[36m-------------------------------------------------------------------------------\x1b[0m
34
+ `);
35
+ }
36
+
37
+ // Check for help or version flags
38
+ if (rawArgs.includes('--help') || rawArgs.includes('-h')) {
39
+ printBanner();
40
+ console.log(`\x1b[1m使用说明 (Usage):\x1b[0m
41
+ npx @rooode/dsh-suite [subcommand] [options...]
42
+
43
+ \x1b[1m常用子命令 (Subcommands):\x1b[0m
44
+ \x1b[32mweb\x1b[0m 启动 DSH Web 浏览器界面并加载全套插件 (默认模式)
45
+ \x1b[32mcli\x1b[0m 启动 DSH 交互式命令行终端会话 (含全套增强能力)
46
+ \x1b[32mheadless\x1b[0m 启动 DSH Headless 无头后台运行模式
47
+ \x1b[32minstall\x1b[0m 一键将 @rooode/dsh-suite 固化安装到当前用户的 web profile
48
+ \x1b[32mplugin\x1b[0m 管理 DSH 插件 (透传至 dsh plugin 命令)
49
+ \x1b[32mprofile\x1b[0m 管理 DSH Profile 配置文件 (透传至 dsh profile 命令)
50
+
51
+ \x1b[1mWeb 模式常用参数 (Web Options):\x1b[0m
52
+ --port, -p <port> 指定 Web 监听端口 (默认 3080,例如: --port 8080)
53
+ --host, -H <host> 指定 Web 监听地址 (例如: --host 0.0.0.0 或 127.0.0.1)
54
+ --workspace, -w <path> 指定初始打开的工作空间目录绝对或相对路径
55
+ --patch <file> 附加额外的 Cordis Patch 配置文件 (与 Suite Patch 叠加)
56
+ --open 启动后自动在默认浏览器中打开 Web 页面
57
+
58
+ \x1b[1m示例 (Examples):\x1b[0m
59
+ \x1b[90m# 1. 默认直接启动 Web 界面 (端口 3080)\x1b[0m
60
+ npx @rooode/dsh-suite
61
+
62
+ \x1b[90m# 2. 显式指定 web 子命令并修改端口与工作空间\x1b[0m
63
+ npx @rooode/dsh-suite web --port 8080 --workspace ./my-project
64
+
65
+ \x1b[90m# 3. 启动命令行 CLI 对话模式\x1b[0m
66
+ npx @rooode/dsh-suite cli
67
+
68
+ \x1b[90m# 4. 固化安装到本地环境\x1b[0m
69
+ npx @rooode/dsh-suite install
70
+ `);
71
+ process.exit(0);
72
+ }
73
+
74
+ if (rawArgs.includes('--version') || rawArgs.includes('-v')) {
75
+ console.log(`@rooode/dsh-suite v${pkg.version}`);
76
+ process.exit(0);
77
+ }
78
+
79
+ printBanner();
80
+
81
+ // Parse subcommands
82
+ const KNOWN_SUBCOMMANDS = new Set(['web', 'cli', 'headless', 'install', 'plugin', 'profile']);
83
+ let subcommand = 'web'; // default subcommand
84
+ let remainingArgs = [...rawArgs];
85
+
86
+ if (rawArgs.length > 0 && !rawArgs[0].startsWith('-')) {
87
+ const firstArg = rawArgs[0].toLowerCase();
88
+ if (KNOWN_SUBCOMMANDS.has(firstArg)) {
89
+ subcommand = firstArg;
90
+ remainingArgs = rawArgs.slice(1);
91
+ }
92
+ }
93
+
94
+ // 1. Handle 'install' mode
95
+ if (subcommand === 'install' || rawArgs.includes('--install')) {
96
+ console.log('\x1b[33m📦 Installing @rooode/dsh-suite into DSH web profile...\x1b[0m\n');
97
+ const installArgs = ['@deepseek-ai/dsh', 'plugin', '--profile', 'web', 'add', '@rooode/dsh-suite'];
98
+ const child = spawn('npx', installArgs, {
99
+ stdio: 'inherit',
100
+ shell: true,
101
+ });
102
+ child.on('exit', (code) => {
103
+ if (code === 0) {
104
+ console.log('\n\x1b[32m✅ Successfully installed @rooode/dsh-suite! You can now run:\x1b[0m');
105
+ console.log(' \x1b[1mnpx @deepseek-ai/dsh web\x1b[0m\n');
106
+ } else {
107
+ console.error(`\n\x1b[31m❌ Installation failed with exit code ${code}\x1b[0m`);
108
+ }
109
+ process.exit(code || 0);
110
+ });
111
+ }
112
+ // 2. Handle 'plugin' or 'profile' pass-through commands
113
+ else if (subcommand === 'plugin' || subcommand === 'profile') {
114
+ const passthroughArgs = ['@deepseek-ai/dsh', subcommand, ...remainingArgs];
115
+ const child = spawn('npx', passthroughArgs, {
116
+ stdio: 'inherit',
117
+ shell: true,
118
+ });
119
+ child.on('exit', (code) => {
120
+ process.exit(code || 0);
121
+ });
122
+ }
123
+ // 3. Handle 'web', 'cli', 'headless' execution with bundle patch injected
124
+ else {
125
+ const modeName = subcommand.toUpperCase();
126
+ console.log(`\x1b[32m✨ Starting DeepSeek Harness in \x1b[1m${modeName}\x1b[22m mode with All-in-One Suite...\x1b[0m\n`);
127
+
128
+ const dshArgs = [
129
+ '@deepseek-ai/dsh',
130
+ subcommand,
131
+ '--patch',
132
+ `"${patchPath}"`,
133
+ ...remainingArgs,
134
+ ];
135
+
136
+ const child = spawn('npx', dshArgs, {
137
+ stdio: 'inherit',
138
+ shell: true,
139
+ });
140
+
141
+ child.on('exit', (code) => {
142
+ process.exit(code || 0);
143
+ });
144
+ }
@@ -0,0 +1,53 @@
1
+ # ==============================================================================
2
+ # DeepSeek Harness - All-in-One Plugin Suite Bundle Patch (@rooode/dsh-suite)
3
+ # ==============================================================================
4
+
5
+ - insert:
6
+ # 1. 对话快捷栏插件 (Workspace Quick Prompts Bar)
7
+ - id: ui-quickbar
8
+ name: '@rooode/dsh-plugin-quickbar'
9
+ config:
10
+ allowCustomIcons: true
11
+
12
+ # 2. 自动化任务与调度中心插件 (24/7 Node Server-Side Scheduler)
13
+ - id: ui-automation
14
+ name: '@rooode/dsh-plugin-automation'
15
+ config:
16
+ defaultPollingIntervalMs: 5000
17
+ maxStoredRecords: 100
18
+
19
+ # 3. 多功能文档与工作空间代码预览插件 (FileTabs & Tree Explorer)
20
+ - id: ui-preview
21
+ name: '@rooode/dsh-plugin-preview'
22
+ config:
23
+ autoPreviewExtensions:
24
+ - .md
25
+ - .markdown
26
+ - .txt
27
+ - .json
28
+ - .yaml
29
+ - .yml
30
+ - .js
31
+ - .ts
32
+ - .java
33
+ - .cpp
34
+ - .c
35
+ - .h
36
+ - .hpp
37
+ - .py
38
+ - .go
39
+ - .rs
40
+ - .sh
41
+ - .sql
42
+ maxFileSizeMb: 10
43
+ defaultViewMode: 'preview'
44
+ defaultPanelWidth: 560
45
+
46
+ # 4. WebStorm 风格 Git 提交与差异对比插件 (Side-by-Side Diff & Conventional Commits)
47
+ - id: ui-git
48
+ name: '@rooode/dsh-plugin-git'
49
+ config:
50
+ enableCommitDockButton: true
51
+ autoRefreshIntervalMs: 10000
52
+ defaultDiffViewMode: 'split'
53
+ commitAiStyle: 'conventional'
package/lib/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+
3
+ export declare const name: string;
4
+ export declare function apply(ctx: Context): void;
5
+
6
+ declare const _default: {
7
+ name: string;
8
+ apply: (ctx: Context) => void;
9
+ };
10
+ export default _default;
package/lib/index.js ADDED
@@ -0,0 +1,10 @@
1
+ export const name = 'dsh-suite';
2
+
3
+ export function apply(ctx) {
4
+ console.log('[dsh-suite] All-in-One Plugin Suite bundle initialized successfully.');
5
+ }
6
+
7
+ export default {
8
+ name,
9
+ apply,
10
+ };
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@rooode/dsh-suite",
3
+ "version": "0.1.0",
4
+ "description": "DeepSeek Harness 一键全功能增强套件 (自动化调度 + WebStorm Git 提交对比 + 代码文档多标签预览 + 对话快捷栏)",
5
+ "type": "module",
6
+ "main": "lib/index.js",
7
+ "types": "lib/index.d.ts",
8
+ "bin": {
9
+ "dsh-suite": "./bin/cli.js",
10
+ "dsh-all": "./bin/cli.js"
11
+ },
12
+ "files": [
13
+ "bin",
14
+ "lib",
15
+ "cordis.patch.yml",
16
+ "README.md"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "node scripts/build.js",
23
+ "dev": "node bin/cli.js",
24
+ "package": "node scripts/build.js && npm pack",
25
+ "prepublishOnly": "node scripts/build.js"
26
+ },
27
+ "keywords": [
28
+ "deepseek-harness",
29
+ "dsh",
30
+ "dsh-suite",
31
+ "cordis-plugin",
32
+ "bundle",
33
+ "workbuddy",
34
+ "automation",
35
+ "git",
36
+ "preview",
37
+ "quickbar"
38
+ ],
39
+ "author": "rooode",
40
+ "license": "MIT",
41
+ "dependencies": {
42
+ "@rooode/dsh-plugin-automation": "^0.2.0",
43
+ "@rooode/dsh-plugin-git": "^0.1.1",
44
+ "@rooode/dsh-plugin-preview": "^0.1.8",
45
+ "@rooode/dsh-plugin-quickbar": "^0.1.2"
46
+ },
47
+ "dsh": {
48
+ "bundle": {
49
+ "patch": "./cordis.patch.yml"
50
+ }
51
+ },
52
+ "exports": {
53
+ ".": {
54
+ "types": "./lib/index.d.ts",
55
+ "default": "./lib/index.js"
56
+ },
57
+ "./package.json": "./package.json"
58
+ }
59
+ }