bothouse-dsh 0.1.50 → 0.1.52
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.en.md +1 -1
- package/README.md +2 -2
- package/collab/cli-member.mjs +9 -1
- package/collab/devices.html +319 -0
- package/collab/dsh-member.mjs +2 -1
- package/collab/pages-migrate.mjs +50 -0
- package/collab/plugin.mjs +11 -1
- package/collab/team-mode-rules.md +5 -5
- package/collab/wiki-galaxy/index.html +345 -0
- package/cordis.patch.yml +15 -2
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/{client → node_modules/bothouse-dsh-channels}/client.js +3 -99
- package/node_modules/bothouse-dsh-channels/index.js +2 -0
- package/node_modules/bothouse-dsh-channels/locale/en.json +6 -0
- package/node_modules/bothouse-dsh-channels/locale/zh.json +6 -0
- package/node_modules/bothouse-dsh-channels/package.json +29 -0
- package/node_modules/bothouse-dsh-desk/client.js +36 -0
- package/node_modules/bothouse-dsh-desk/index.js +2 -0
- package/node_modules/bothouse-dsh-desk/locale/en.json +6 -0
- package/node_modules/bothouse-dsh-desk/locale/zh.json +6 -0
- package/node_modules/bothouse-dsh-desk/package.json +34 -0
- package/node_modules/bothouse-dsh-devices/client.js +44 -0
- package/node_modules/bothouse-dsh-devices/index.js +2 -0
- package/node_modules/bothouse-dsh-devices/locale/en.json +6 -0
- package/node_modules/bothouse-dsh-devices/locale/zh.json +6 -0
- package/node_modules/bothouse-dsh-devices/package.json +34 -0
- package/node_modules/bothouse-dsh-panel/client.js +42 -0
- package/node_modules/bothouse-dsh-panel/index.js +2 -0
- package/node_modules/bothouse-dsh-panel/locale/en.json +6 -0
- package/node_modules/bothouse-dsh-panel/locale/zh.json +6 -0
- package/node_modules/bothouse-dsh-panel/package.json +34 -0
- package/package.json +15 -16
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bothouse-dsh-channels",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Discord-style shell for the Web GUI: server rail, channel list, and Agent member list",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./index.js",
|
|
9
|
+
"./client": "./client.js",
|
|
10
|
+
"./locale/*.json": "./locale/*.json",
|
|
11
|
+
"./package.json": "./package.json"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"dsh": {
|
|
15
|
+
"client": {
|
|
16
|
+
"inject": [
|
|
17
|
+
"@deepseek-ai/dsh-api-session-controller",
|
|
18
|
+
"@deepseek-ai/dsh-api-workspace-controller",
|
|
19
|
+
"@deepseek-ai/dsh-client-locale",
|
|
20
|
+
"@deepseek-ai/dsh-client-ui-conversation",
|
|
21
|
+
"@deepseek-ai/dsh-client-ui-layout",
|
|
22
|
+
"@deepseek-ai/dsh-client-ui-primitives",
|
|
23
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
24
|
+
"@deepseek-ai/dsh-client-ui-workspace"
|
|
25
|
+
],
|
|
26
|
+
"platform": "web"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
window.__ModuleLoader__.load({
|
|
2
|
+
id: "bothouse-dsh-desk",
|
|
3
|
+
factory: (require) => {
|
|
4
|
+
var module = { exports: {} };
|
|
5
|
+
var exports = module.exports;
|
|
6
|
+
"use strict";
|
|
7
|
+
const { jsx } = require("react/jsx-runtime");
|
|
8
|
+
const primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
|
+
const NS = "bothouse-dsh-desk";
|
|
10
|
+
const DICT = {"zh":{"label":"团队工作台"},"en":{"label":"Team desk"}};
|
|
11
|
+
const BG = "var(--dsw-alias-bg-base)";
|
|
12
|
+
// Same frame as client-ui-discord EmbedPage: same-origin page, relative to document.baseURI so
|
|
13
|
+
// the panel proxy's /dsh/ prefix is kept.
|
|
14
|
+
function EmbedPage({ path, title }) {
|
|
15
|
+
const src = new URL(path, document.baseURI).toString();
|
|
16
|
+
return jsx("div", { style: { boxSizing: "border-box", display: "flex", width: "100%", height: "100%", minHeight: 0, paddingTop: "var(--dsh-frame-top-clearance, 0px)", background: BG },
|
|
17
|
+
children: jsx("iframe", { src, title, loading: "lazy", referrerPolicy: "no-referrer", style: { flex: 1, width: "100%", height: "100%", border: 0, background: BG } }) });
|
|
18
|
+
}
|
|
19
|
+
function Icon({ size }) { return jsx(primitives.IconChecklistOutlineRegular, { size }); }
|
|
20
|
+
exports.inject = ["slots", "locale", "layout"];
|
|
21
|
+
exports.apply = function apply(ctx) {
|
|
22
|
+
ctx.effect(() => ctx.locale.register(NS, DICT), NS + ": dictionaries");
|
|
23
|
+
const t = ctx.locale.bind(NS);
|
|
24
|
+
ctx.slots.inject("main", () => ctx.slots.register({
|
|
25
|
+
name: "main", key: "collab-desk", locale: NS,
|
|
26
|
+
inject: () => ({ path: "collab/desk", title: t("label") }),
|
|
27
|
+
}, EmbedPage));
|
|
28
|
+
ctx.slots.inject("sidebar.panellist", () => ctx.slots.register({
|
|
29
|
+
name: "sidebar.panellist", id: "collab-desk", order: 6, locale: NS, label: () => t("label"),
|
|
30
|
+
}, Icon));
|
|
31
|
+
if (location.hash === "#collab-desk") ctx.layout.selectPanel("collab-desk");
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
return module.exports;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bothouse-dsh-desk",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Live board of tasks and events.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./index.js",
|
|
9
|
+
"./client": "./client.js",
|
|
10
|
+
"./locale/*.json": "./locale/*.json",
|
|
11
|
+
"./package.json": "./package.json"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"files": [
|
|
15
|
+
"index.js",
|
|
16
|
+
"client.js",
|
|
17
|
+
"locale/*.json"
|
|
18
|
+
],
|
|
19
|
+
"dsh": {
|
|
20
|
+
"client": {
|
|
21
|
+
"inject": [
|
|
22
|
+
"@deepseek-ai/dsh-api-session-controller",
|
|
23
|
+
"@deepseek-ai/dsh-api-workspace-controller",
|
|
24
|
+
"@deepseek-ai/dsh-client-locale",
|
|
25
|
+
"@deepseek-ai/dsh-client-ui-conversation",
|
|
26
|
+
"@deepseek-ai/dsh-client-ui-layout",
|
|
27
|
+
"@deepseek-ai/dsh-client-ui-primitives",
|
|
28
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
29
|
+
"@deepseek-ai/dsh-client-ui-workspace"
|
|
30
|
+
],
|
|
31
|
+
"platform": "web"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
window.__ModuleLoader__.load({
|
|
2
|
+
id: "bothouse-dsh-devices",
|
|
3
|
+
factory: (require) => {
|
|
4
|
+
var module = { exports: {} };
|
|
5
|
+
var exports = module.exports;
|
|
6
|
+
"use strict";
|
|
7
|
+
const { jsx } = require("react/jsx-runtime");
|
|
8
|
+
const primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
|
+
const NS = "bothouse-dsh-devices";
|
|
10
|
+
const DICT = {"zh":{"label":"其他电脑"},"en":{"label":"Other computers"}};
|
|
11
|
+
const BG = "var(--dsw-alias-bg-base)";
|
|
12
|
+
// Same frame as client-ui-discord EmbedPage: same-origin page, relative to document.baseURI so
|
|
13
|
+
// the panel proxy's /dsh/ prefix is kept.
|
|
14
|
+
function EmbedPage({ path, title }) {
|
|
15
|
+
const src = new URL(path, document.baseURI).toString();
|
|
16
|
+
return jsx("div", { style: { boxSizing: "border-box", display: "flex", width: "100%", height: "100%", minHeight: 0, paddingTop: "var(--dsh-frame-top-clearance, 0px)", background: BG },
|
|
17
|
+
children: jsx("iframe", { src, title, loading: "lazy", referrerPolicy: "no-referrer", style: { flex: 1, width: "100%", height: "100%", border: 0, background: BG } }) });
|
|
18
|
+
}
|
|
19
|
+
function Icon({ size }) { return jsx(primitives.IconLinkOutlineRegular, { size }); }
|
|
20
|
+
exports.inject = ["slots", "locale", "layout"];
|
|
21
|
+
exports.apply = function apply(ctx) {
|
|
22
|
+
ctx.effect(() => ctx.locale.register(NS, DICT), NS + ": dictionaries");
|
|
23
|
+
const t = ctx.locale.bind(NS);
|
|
24
|
+
ctx.slots.inject("main", () => ctx.slots.register({
|
|
25
|
+
name: "main", key: "collab-devices", locale: NS,
|
|
26
|
+
inject: () => ({ path: "collab/devices", title: t("label") }),
|
|
27
|
+
}, EmbedPage));
|
|
28
|
+
ctx.slots.inject("sidebar.panellist", () => ctx.slots.register({
|
|
29
|
+
name: "sidebar.panellist", id: "collab-devices", order: 9, locale: NS, label: () => t("label"),
|
|
30
|
+
}, Icon));
|
|
31
|
+
ctx.effect(() => {
|
|
32
|
+
const beat = () => {
|
|
33
|
+
globalThis.fetch?.(new URL("collab/api/remote/alive", document.baseURI), { method: "POST", credentials: "same-origin" }).catch(() => {});
|
|
34
|
+
};
|
|
35
|
+
beat();
|
|
36
|
+
const timer = setInterval(beat, 3000);
|
|
37
|
+
return () => clearInterval(timer);
|
|
38
|
+
}, NS + ": remote link heartbeat");
|
|
39
|
+
if (location.hash === "#collab-devices") ctx.layout.selectPanel("collab-devices");
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return module.exports;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bothouse-dsh-devices",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Pair another computer by a one-time number and drive its channels, desk and panel.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./index.js",
|
|
9
|
+
"./client": "./client.js",
|
|
10
|
+
"./locale/*.json": "./locale/*.json",
|
|
11
|
+
"./package.json": "./package.json"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"files": [
|
|
15
|
+
"index.js",
|
|
16
|
+
"client.js",
|
|
17
|
+
"locale/*.json"
|
|
18
|
+
],
|
|
19
|
+
"dsh": {
|
|
20
|
+
"client": {
|
|
21
|
+
"inject": [
|
|
22
|
+
"@deepseek-ai/dsh-api-session-controller",
|
|
23
|
+
"@deepseek-ai/dsh-api-workspace-controller",
|
|
24
|
+
"@deepseek-ai/dsh-client-locale",
|
|
25
|
+
"@deepseek-ai/dsh-client-ui-conversation",
|
|
26
|
+
"@deepseek-ai/dsh-client-ui-layout",
|
|
27
|
+
"@deepseek-ai/dsh-client-ui-primitives",
|
|
28
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
29
|
+
"@deepseek-ai/dsh-client-ui-workspace"
|
|
30
|
+
],
|
|
31
|
+
"platform": "web"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
window.__ModuleLoader__.load({
|
|
2
|
+
id: "bothouse-dsh-panel",
|
|
3
|
+
factory: (require) => {
|
|
4
|
+
var module = { exports: {} };
|
|
5
|
+
var exports = module.exports;
|
|
6
|
+
"use strict";
|
|
7
|
+
const { jsx } = require("react/jsx-runtime");
|
|
8
|
+
const primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
9
|
+
const NS = "bothouse-dsh-panel";
|
|
10
|
+
const DICT = {"zh":{"label":"bothouse 面板","galaxy":"Wiki 星河"},"en":{"label":"bothouse panel","galaxy":"Wiki galaxy"}};
|
|
11
|
+
const BG = "var(--dsw-alias-bg-base)";
|
|
12
|
+
// Same frame as client-ui-discord EmbedPage: same-origin page, relative to document.baseURI so
|
|
13
|
+
// the panel proxy's /dsh/ prefix is kept.
|
|
14
|
+
function EmbedPage({ path, title }) {
|
|
15
|
+
const src = new URL(path, document.baseURI).toString();
|
|
16
|
+
return jsx("div", { style: { boxSizing: "border-box", display: "flex", width: "100%", height: "100%", minHeight: 0, paddingTop: "var(--dsh-frame-top-clearance, 0px)", background: BG },
|
|
17
|
+
children: jsx("iframe", { src, title, loading: "lazy", referrerPolicy: "no-referrer", style: { flex: 1, width: "100%", height: "100%", border: 0, background: BG } }) });
|
|
18
|
+
}
|
|
19
|
+
function Icon({ size }) { return jsx(primitives.IconGaugeOutlineRegular, { size }); }
|
|
20
|
+
exports.inject = ["slots", "locale", "layout"];
|
|
21
|
+
exports.apply = function apply(ctx) {
|
|
22
|
+
ctx.effect(() => ctx.locale.register(NS, DICT), NS + ": dictionaries");
|
|
23
|
+
const t = ctx.locale.bind(NS);
|
|
24
|
+
ctx.slots.inject("main", () => ctx.slots.register({
|
|
25
|
+
name: "main", key: "bothouse-panel", locale: NS,
|
|
26
|
+
inject: () => ({ path: "collab/panel/", title: t("label") }),
|
|
27
|
+
}, EmbedPage));
|
|
28
|
+
ctx.slots.inject("sidebar.panellist", () => ctx.slots.register({
|
|
29
|
+
name: "sidebar.panellist", id: "bothouse-panel", order: 7, locale: NS, label: () => t("label"),
|
|
30
|
+
}, Icon));
|
|
31
|
+
ctx.slots.inject("main", () => ctx.slots.register({
|
|
32
|
+
name: "main", key: "wiki-galaxy", locale: NS,
|
|
33
|
+
inject: () => ({ path: "collab/panel/wiki-galaxy", title: t("galaxy") }),
|
|
34
|
+
}, EmbedPage));
|
|
35
|
+
// After the registrations: selecting a panel whose main entry is not registered yet fails.
|
|
36
|
+
if (location.hash === "#wiki-galaxy") ctx.layout.selectPanel("wiki-galaxy");
|
|
37
|
+
if (location.hash === "#bothouse-panel") ctx.layout.selectPanel("bothouse-panel");
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return module.exports;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bothouse-dsh-panel",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "bothouse management panel: roles, usage, wiki galaxy.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./index.js",
|
|
9
|
+
"./client": "./client.js",
|
|
10
|
+
"./locale/*.json": "./locale/*.json",
|
|
11
|
+
"./package.json": "./package.json"
|
|
12
|
+
},
|
|
13
|
+
"license": "Apache-2.0",
|
|
14
|
+
"files": [
|
|
15
|
+
"index.js",
|
|
16
|
+
"client.js",
|
|
17
|
+
"locale/*.json"
|
|
18
|
+
],
|
|
19
|
+
"dsh": {
|
|
20
|
+
"client": {
|
|
21
|
+
"inject": [
|
|
22
|
+
"@deepseek-ai/dsh-api-session-controller",
|
|
23
|
+
"@deepseek-ai/dsh-api-workspace-controller",
|
|
24
|
+
"@deepseek-ai/dsh-client-locale",
|
|
25
|
+
"@deepseek-ai/dsh-client-ui-conversation",
|
|
26
|
+
"@deepseek-ai/dsh-client-ui-layout",
|
|
27
|
+
"@deepseek-ai/dsh-client-ui-primitives",
|
|
28
|
+
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
29
|
+
"@deepseek-ai/dsh-client-ui-workspace"
|
|
30
|
+
],
|
|
31
|
+
"platform": "web"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bothouse-dsh",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.52",
|
|
4
4
|
"description": "BotHouse channels for DeepSeek Harness: Discord-style rooms where DSH models and local CLIs (Claude Code, Codex, Gemini) are members",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./collab/plugin.mjs",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./collab/plugin.mjs",
|
|
9
|
-
"./
|
|
9
|
+
"./locale/*.json": "./locale/*.json",
|
|
10
10
|
"./package.json": "./package.json"
|
|
11
11
|
},
|
|
12
12
|
"keywords": [
|
|
@@ -28,8 +28,10 @@
|
|
|
28
28
|
"collab/*.json",
|
|
29
29
|
"collab/team-mode-rules.md",
|
|
30
30
|
"collab/desk/index.html",
|
|
31
|
+
"collab/devices.html",
|
|
32
|
+
"collab/wiki-galaxy/index.html",
|
|
31
33
|
"collab/avatars/*.png",
|
|
32
|
-
"
|
|
34
|
+
"locale/*.json",
|
|
33
35
|
"cordis.patch.yml",
|
|
34
36
|
"README.md",
|
|
35
37
|
"README.en.md"
|
|
@@ -37,19 +39,6 @@
|
|
|
37
39
|
"dsh": {
|
|
38
40
|
"bundle": {
|
|
39
41
|
"patch": "./cordis.patch.yml"
|
|
40
|
-
},
|
|
41
|
-
"client": {
|
|
42
|
-
"inject": [
|
|
43
|
-
"@deepseek-ai/dsh-api-session-controller",
|
|
44
|
-
"@deepseek-ai/dsh-api-workspace-controller",
|
|
45
|
-
"@deepseek-ai/dsh-client-locale",
|
|
46
|
-
"@deepseek-ai/dsh-client-ui-conversation",
|
|
47
|
-
"@deepseek-ai/dsh-client-ui-layout",
|
|
48
|
-
"@deepseek-ai/dsh-client-ui-primitives",
|
|
49
|
-
"@deepseek-ai/dsh-client-ui-sidebar",
|
|
50
|
-
"@deepseek-ai/dsh-client-ui-workspace"
|
|
51
|
-
],
|
|
52
|
-
"platform": "web"
|
|
53
42
|
}
|
|
54
43
|
},
|
|
55
44
|
"engines": {
|
|
@@ -63,8 +52,18 @@
|
|
|
63
52
|
"dependencies": {
|
|
64
53
|
"@agentclientprotocol/sdk": "1.4.0",
|
|
65
54
|
"@zed-industries/claude-code-acp": "^0.16.2",
|
|
55
|
+
"bothouse-dsh-channels": "0.1.0",
|
|
56
|
+
"bothouse-dsh-desk": "0.1.0",
|
|
57
|
+
"bothouse-dsh-devices": "0.1.0",
|
|
58
|
+
"bothouse-dsh-panel": "0.1.0",
|
|
66
59
|
"ws": "8.22.1"
|
|
67
60
|
},
|
|
61
|
+
"bundleDependencies": [
|
|
62
|
+
"bothouse-dsh-channels",
|
|
63
|
+
"bothouse-dsh-desk",
|
|
64
|
+
"bothouse-dsh-panel",
|
|
65
|
+
"bothouse-dsh-devices"
|
|
66
|
+
],
|
|
68
67
|
"optionalDependencies": {
|
|
69
68
|
"@agentclientprotocol/codex-acp": "^2.2.2"
|
|
70
69
|
}
|