dsh-wkgeo-ops 0.2.1 → 0.2.2
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/LICENSE +21 -0
- package/README.md +12 -12
- package/client/client.js +10 -6
- package/lib/index.js +1 -1
- package/package.json +3 -2
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 wkgeo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# dsh-wkgeo-ops · DSH 插件「网站运营」
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
**agent 16 个工具** +
|
|
3
|
+
把 `wkgeo` CLI(仓库内 `cli/wkgeo.mjs`,或用 `WKGEO_CLI` 指到你本机 CLI)的站点运营能力接进 DeepSeek Harness:
|
|
4
|
+
**agent 16 个工具** + **左侧栏「悟空GEO-网站运营」入口(点开是中央面板)** + **右侧边栏「网站运营」面板(含三步建站向导)**。不新增任何 npm 依赖,插件内**不重写**任何 HTTP / SQL 业务逻辑——工具只负责 `spawn node cli/wkgeo.mjs … --json` 再解析信封。
|
|
5
5
|
|
|
6
6
|
- key / 包名 / cordis 插件名:`dsh-wkgeo-ops`
|
|
7
|
-
- 版本:**0.2.
|
|
7
|
+
- 版本:**0.2.2**(2026-10-30 发布到公共 npm,可直接 `npm i dsh-wkgeo-ops`;0.2.2 内容:左栏入口文字改为老板拍定的「悟空GEO-网站运营」、补 `LICENSE`、README 去掉本机绝对路径。历史:0.2.0 被 npm 判 staged 冲突,首个正式版是 0.2.1)
|
|
8
8
|
- 宿主:DSH Web 客户端(`dsh.client.platform = "web"`)+ cordis 服务端插件
|
|
9
9
|
- v2 口径(老板 2026-10-30):**三步向导**(①站点名 ②语言 ③内容来源)+ **模板 / 网址 / 文件 三选或多选**
|
|
10
10
|
- v4 口径(老板 2026-10-30):「初始化先选**站点根目录** → **站点卡片**一个一个显示(能点进去)→ 详情里有**本地文件夹**」;不再用一张表铺列表
|
|
@@ -91,7 +91,7 @@ v0.2.0 新增的 9 个工具都是**薄封装**:`spawn node cli/wkgeo.mjs …
|
|
|
91
91
|
- **DSH schema 子集(v0.2.0 硬约束)**:宿主 `dsh-tools/lib/types/json-schema.js` 只认 `type / oneOf / properties / required / additionalProperties / items / enum / const` + 注解 `description/title/default/examples`;其它键(`format/pattern/minLength/minItems/anyOf/allOf/$ref/...`)一律报 `JsonSchemaError: unsupported JSON schema`。**属性级 `required: true` 只能出现在 `type:'object'` 的属性上**——加在 boolean/integer/array/string 上就是老板 2026-10-30 装插件失败的那条错(`schema.properties.ok.required is not supported on type "boolean"`);必填一律用顶层 `required: [...]`。`verify/schema-subset.mjs` 复刻了这套校验器,`verify/dsh-compat.mjs` 会拦住违规写法。
|
|
92
92
|
- 一律 `spawn(node, [cli, ...args])`(`shell:false`、`windowsHide:true`);**普通命令硬超时 30s**,**长任务(模板生成 / 建站 / 导入)300s**(`LONG_TIMEOUT_MS`),超时 `SIGKILL` 回 `code:"TIMEOUT"`;stdout 上限 4MB。
|
|
93
93
|
- 只解析 CLI 的 JSON 信封;失败只回 `error.code/message/hint`,**不打印任何 token、不落日志**。
|
|
94
|
-
- node 解析顺序:`WKGEO_NODE_BIN` → `process.execPath`(仅当是 `node.exe`)→ `node`;CLI 路径可用 `WKGEO_CLI`
|
|
94
|
+
- node 解析顺序:`WKGEO_NODE_BIN` → `process.execPath`(仅当是 `node.exe`)→ `node`;CLI 路径可用 `WKGEO_CLI` 覆盖,默认取仓库内 `cli/wkgeo.mjs`。
|
|
95
95
|
- **能力探测**(10 分钟缓存):读 `template init --help` / `sites create --help` / `import --help` 文本,判断 `--from-url`、`--from-dir`、`--lang`、`--url` 是否真的存在;**探测不到就不硬塞参数**,改走降级路径并在返回里标 `capabilities`。
|
|
96
96
|
- 模板中心下拉的选项来自 `WKGEO_TEMPLATE_KEYS`(逗号分隔的内置模板名/uuid)+ 一个「默认模板(不指定)」+ 手填框;CLI 没有「列模板」的命令,缺口见 §7。
|
|
97
97
|
|
|
@@ -123,7 +123,7 @@ v0.2.0 新增的 9 个工具都是**薄封装**:`spawn node cli/wkgeo.mjs …
|
|
|
123
123
|
|
|
124
124
|
## 5. 安装(老板侧)
|
|
125
125
|
|
|
126
|
-
前置:`wkgeo` CLI 已登录(`node
|
|
126
|
+
前置:`wkgeo` CLI 已登录(`node <仓库>\cli\wkgeo.mjs login`,或直接用 `WKGEO_CLI` 指到你本机的 CLI),DSH 已在运行。
|
|
127
127
|
|
|
128
128
|
**A. 从 npm 安装(v0.2.0 起,推荐 —— 老板要的就是这条路)**
|
|
129
129
|
|
|
@@ -137,16 +137,16 @@ dsh-wkgeo-ops
|
|
|
137
137
|
|
|
138
138
|
```powershell
|
|
139
139
|
npm i dsh-wkgeo-ops # 或 npm i -g / 在 DSH profile 目录里装
|
|
140
|
-
npm view dsh-wkgeo-ops version # 0.2.
|
|
140
|
+
npm view dsh-wkgeo-ops version # 0.2.2
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
> **唯一本机相关项**:工具要调 `wkgeo` CLI
|
|
143
|
+
> **唯一本机相关项**:工具要调 `wkgeo` CLI。插件默认取仓库内 `cli/wkgeo.mjs`;装到别的机器 / 别的仓库时,设环境变量 `WKGEO_CLI=<你那边的仓库>\cli\wkgeo.mjs`(可选 `WKGEO_NODE_BIN`)后重启 DSH。没配也能装、能激活,只是工具调用会回 `SPAWN_FAILED` 并给出提示。
|
|
144
144
|
|
|
145
145
|
**B. 从本地目录安装(开发期改动还没发包时用)**
|
|
146
146
|
|
|
147
|
-
1.
|
|
147
|
+
1. 拷目录(在仓库根目录执行):
|
|
148
148
|
```powershell
|
|
149
|
-
Copy-Item -Recurse -Force '
|
|
149
|
+
Copy-Item -Recurse -Force '.\integrations\dsh-wkgeo-ops' "$env:USERPROFILE\.dsh\plugins-src\dsh-wkgeo-ops"
|
|
150
150
|
```
|
|
151
151
|
2. 二选一:
|
|
152
152
|
- 插件安装 UI「从本地目录安装」选到 `%USERPROFILE%\.dsh\plugins-src\dsh-wkgeo-ops`;
|
|
@@ -159,7 +159,7 @@ npm view dsh-wkgeo-ops version # 0.2.1
|
|
|
159
159
|
|
|
160
160
|
| 位置 | 现象 |
|
|
161
161
|
|---|---|
|
|
162
|
-
| **左侧栏** | 第 5 个图标(显示器+双卡片,`order: 30
|
|
162
|
+
| **左侧栏** | 第 5 个图标(显示器+双卡片,`order: 30`,排在「工作台」后面),文字为 **「悟空GEO-网站运营」**(`client/client.js` 的 `SIDEBAR_ROW_LABEL`);点它 → 中央区渲染「网站运营」面板 |
|
|
163
163
|
| 右侧栏 | 「网站运营」页签(与左栏入口并存,两条路都能进) |
|
|
164
164
|
| 对话 | 让 agent「列一下我的站点」→ 调 `wkgeo_sites_list`,回 `{ok:true,count:25,sites:[…]}` |
|
|
165
165
|
|
|
@@ -170,7 +170,7 @@ npm view dsh-wkgeo-ops version # 0.2.1
|
|
|
170
170
|
**D. 别人(另一台机器 / 另一个 profile)首次安装的差异**
|
|
171
171
|
|
|
172
172
|
- 左栏 / 右栏入口与工具都随包走,**换机器一样出现**;`client` 侧不依赖本机路径。
|
|
173
|
-
- ⚠️ **唯一本机相关的东西是 wkgeo CLI 路径**:`lib/index.js` 的 `DEFAULT_CLI_PATH`
|
|
173
|
+
- ⚠️ **唯一本机相关的东西是 wkgeo CLI 路径**:`lib/index.js` 的 `DEFAULT_CLI_PATH` 默认指向仓库内 `cli/wkgeo.mjs`。别人机器上 CLI 调不通时,设环境变量 `WKGEO_CLI=<其仓库>/cli/wkgeo.mjs`(`WKGEO_NODE_BIN` 可指定 node)后重启 DSH 即可——左栏图标仍然在,只是面板取数会报 `SPAWN_FAILED`。
|
|
174
174
|
- 插件中心卡片**没有图标和本地化描述**(包内暂无 `locale/` 与 `icon` 导出),不影响功能。
|
|
175
175
|
- 已发布公共 npm:`npm i dsh-wkgeo-ops` / 插件中心填 `dsh-wkgeo-ops`(v0.2.0 起可装);本仓库目录安装仍可拷目录 / `file:` 依赖。
|
|
176
176
|
|
|
@@ -221,4 +221,4 @@ node .tmp-build\t161\shoot.mjs # 自动起服务 + Chrome headless(CDP) 1440
|
|
|
221
221
|
8. 面板截图里的列表用**真实站点**(`shot-real.png`),不是造的数据;卡片网格/详情/初始化三张用固定的 5 个假站点。
|
|
222
222
|
9. **站点 ↔ 本地文件夹是本机私有映射**:wkgeo 站点模型里没有「本地目录」字段,映射只存在 `<DSH_PROFILE_DIR>/wkgeo-ops/config.json`(根目录只能设一个、文件夹必须在根目录之内)。换机器 / 换 profile 要重新设根目录并重绑;不会随站点同步。
|
|
223
223
|
10. **发布到 npm 要用官方 registry**:本机 `~/.npmrc` 默认 `registry=https://registry.npmmirror.com`(镜像无凭证),发布必须 `npm publish --registry https://registry.npmjs.org`(账号 `wkgeocn`);`npm view` 同理。
|
|
224
|
-
11. **`wkgeo_domains_list` 无 `site` 时走聚合**:CLI 没有 `domain list` 子命令,聚合用 `sites list` 的 `domain/domains[]` 字段,拿不到 TXT/CNAME/证书明细(要明细就传 `site`)。
|
|
224
|
+
11. **`wkgeo_domains_list` 无 `site` 时走聚合**:CLI 没有 `domain list` 子命令,聚合用 `sites list` 的 `domain/domains[]` 字段,拿不到 TXT/CNAME/证书明细(要明细就传 `site`)。
|
package/client/client.js
CHANGED
|
@@ -58,6 +58,10 @@ window.__ModuleLoader__.load({
|
|
|
58
58
|
{ key: 'file', label: '文件', role: '结构与内容来源', hint: '本地目录里的 *.html,或 zip 路径' },
|
|
59
59
|
]
|
|
60
60
|
|
|
61
|
+
// 左栏入口那一行显示的文字(老板 2026-10-30 定「悟空GEO-网站运营」)。
|
|
62
|
+
// 与 MESSAGES.zh.title 分开:title 仍给右侧面板页签用(「网站运营」),改这里不影响页签。
|
|
63
|
+
const SIDEBAR_ROW_LABEL = '悟空GEO-网站运营'
|
|
64
|
+
|
|
61
65
|
const MESSAGES = {
|
|
62
66
|
zh: {
|
|
63
67
|
title: '网站运营',
|
|
@@ -2065,7 +2069,7 @@ window.__ModuleLoader__.load({
|
|
|
2065
2069
|
name: 'sidebar.panellist',
|
|
2066
2070
|
id: PANEL_ID,
|
|
2067
2071
|
order: 30,
|
|
2068
|
-
label: () =>
|
|
2072
|
+
label: () => SIDEBAR_ROW_LABEL,
|
|
2069
2073
|
locale: NS,
|
|
2070
2074
|
},
|
|
2071
2075
|
(owner = {}) => h(OpsIcon, { size: owner.size }),
|
|
@@ -2121,8 +2125,8 @@ window.__ModuleLoader__.load({
|
|
|
2121
2125
|
})
|
|
2122
2126
|
|
|
2123
2127
|
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
|
|
2131
|
+
|
|
2132
|
+
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* dsh-wkgeo-ops · DSH 插件「网站运营」——服务端 cordis 插件
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* 作用:把 wkgeo CLI(仓库内 cli/wkgeo.mjs,默认值见 DEFAULT_CLI_PATH)的站点运营能力,
|
|
5
5
|
* 以 16 个 DSH agent 工具 + 6 条同源 HTTP 路由(面板取数 / 建站向导 / 模板选项 / 根目录 / 浏览 / 站点文件夹)暴露给 DSH。
|
|
6
6
|
*
|
|
7
7
|
* v0.2.0(2026-10-30 老板「接收 dsh,完成 cli 后续能力对接,然后发布一个包」):
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-wkgeo-ops",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "DSH 插件「网站运营」:把 wkgeo CLI 的站点运营能力接进 DSH(16 个 agent 工具 + 右侧面板)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"skill",
|
|
11
11
|
"skills",
|
|
12
12
|
"cordis.patch.yml",
|
|
13
|
-
"README.md"
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
14
15
|
],
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public",
|