dsh-contextos-devops 0.0.0-stage → 1.48.32
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 +207 -2
- package/assets/avatar.jpg +0 -0
- package/assets/client.css +3316 -0
- package/assets/icon-180.png +0 -0
- package/build/client.mjs +64 -0
- package/client.js +7622 -0
- package/cordis.patch.yml +3 -0
- package/icon.svg +15 -0
- package/index.js +345 -0
- package/lib/base/env.js +22 -0
- package/lib/base/field.js +25 -0
- package/lib/base/http.js +140 -0
- package/lib/base/platform.js +33 -0
- package/lib/base/registry.js +186 -0
- package/lib/base/state.js +66 -0
- package/lib/base/table.js +47 -0
- package/lib/base/texttable.js +26 -0
- package/lib/base/url.js +178 -0
- package/lib/core/README.md +17 -0
- package/lib/core/apps.js +675 -0
- package/lib/core/auth.js +110 -0
- package/lib/core/avatar.js +289 -0
- package/lib/core/backup.js +105 -0
- package/lib/core/codegen.js +401 -0
- package/lib/core/copilot.js +419 -0
- package/lib/core/data.js +157 -0
- package/lib/core/device.js +148 -0
- package/lib/core/files.js +152 -0
- package/lib/core/gobuild.js +63 -0
- package/lib/core/iam.js +122 -0
- package/lib/core/identity.js +22 -0
- package/lib/core/nodes.js +627 -0
- package/lib/core/ops.js +306 -0
- package/lib/core/project.js +393 -0
- package/lib/core/spaces.js +406 -0
- package/lib/core/terminal.js +137 -0
- package/lib/core/terminal2.js +141 -0
- package/lib/core/users.js +51 -0
- package/lib/core/vocab.js +158 -0
- package/lib/misc/async.js +15 -0
- package/lib/misc/shell.js +27 -0
- package/lib/misc/static.js +33 -0
- package/locale/en.json +10 -0
- package/locale/zh.json +10 -0
- package/package.json +92 -4
- package/src/client/README.md +37 -0
- package/src/client/parts/00-prelude.js +315 -0
- package/src/client/parts/05-bootstrap.js +61 -0
- package/src/client/parts/08-store.js +85 -0
- package/src/client/parts/10-ui.js +188 -0
- package/src/client/parts/12-debug.js +361 -0
- package/src/client/parts/15-layout.js +86 -0
- package/src/client/parts/20-devworkspace.js +789 -0
- package/src/client/parts/25-editor-ui.js +28 -0
- package/src/client/parts/30-modals.js +85 -0
- package/src/client/parts/32-cards.js +176 -0
- package/src/client/parts/34-forms.js +176 -0
- package/src/client/parts/36-data.js +267 -0
- package/src/client/parts/40-project.js +430 -0
- package/src/client/parts/45-map.js +109 -0
- package/src/client/parts/46-pm.js +158 -0
- package/src/client/parts/47-three.js +324 -0
- package/src/client/parts/49-msg.js +167 -0
- package/src/client/parts/50-chat.js +1422 -0
- package/src/client/parts/51-pmselection.js +31 -0
- package/src/client/parts/52-pmdata.js +29 -0
- package/src/client/parts/55-pm.js +146 -0
- package/src/client/parts/58-config.js +381 -0
- package/src/client/parts/59-monitor.js +262 -0
- package/src/client/parts/60-page.js +1518 -0
- package/src/client/styles/kit.css +20 -0
- package/src/client/styles/main.css +3294 -0
- package/src/client/styles/tokens.css +2 -0
- package/vendor/leaflet/leaflet.css +661 -0
- package/vendor/leaflet/leaflet.js +6 -0
- package/vendor/three/three.module.js +53044 -0
- package/vendor/xterm/addon-fit.js +2 -0
- package/vendor/xterm/xterm.css +218 -0
- package/vendor/xterm/xterm.js +2 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ContextOS (shylinux)
|
|
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,3 +1,208 @@
|
|
|
1
|
-
#
|
|
1
|
+
# ContextOS DevOps
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<img src="icon.svg" width="72" align="left" hspace="12" vspace="4" alt="ContextOS DevOps">
|
|
4
|
+
|
|
5
|
+
**把 ContextOS 的节点、空间、应用、分身、赛博世界装进 DeepSeek Harness 的对话界面。**
|
|
6
|
+
一句话部署节点,一句话生成应用,一句话写数据——每一步都能在界面上看见、点动、回读验证。
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<img alt="version" src="https://img.shields.io/badge/version-1.48.1-0a8fb0">
|
|
10
|
+
<img alt="ops" src="https://img.shields.io/badge/ops-102-0a8fb0">
|
|
11
|
+
<img alt="gates" src="https://img.shields.io/badge/build%20gates-9-0a8fb0">
|
|
12
|
+
<img alt="client" src="https://img.shields.io/badge/client-24%20parts-0a8fb0">
|
|
13
|
+
<img alt="license" src="https://img.shields.io/badge/license-private-6b7f8c">
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 为什么
|
|
19
|
+
|
|
20
|
+
ContextOS 的核心是三纲五常:**集群化部署**让设备互联互通,**模块化开发**让代码自动生成,**自动化应用**让数据自由流动;五常是代码、文档、会话、团队、市场。
|
|
21
|
+
|
|
22
|
+
这个插件把这三件事搬进对话:你说「部署 9188 节点」,节点就起来了;你说「生成一个审批系统」,模板、五个功能、编译、实例、商店卡片一次到位。**不靠记忆命令,靠说清楚意图。**
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 能力矩阵
|
|
27
|
+
|
|
28
|
+
| 域 | 你能做什么 |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| **节点** | 部署(copy / download / source)、启动、停止、编译时间与体积、运行环境、命令终端、卡片菜单 |
|
|
31
|
+
| **项目空间** | 创建(可指定代码库)、编译、启停、go.work 自动登记、打开首页 |
|
|
32
|
+
| **应用** | 生成模板(AI 调研五个功能)→ 确认 → 编译 → 创建实例 → 打开界面 |
|
|
33
|
+
| **数据** | 添加 / 列表 / 详情 / 修改 / 删除,全部走五种标准 URL,回读校验 |
|
|
34
|
+
| **代码生成** | 加动作、加字段、条件按钮、模块骨架;两类模块(内存 / 数据库)都按框架规范生成 |
|
|
35
|
+
| **数字分身** | 分身与赛博世界、项目管理(目标→计划→任务→报告→反馈)、地图与甘特 |
|
|
36
|
+
| **监控** | Grafana 式看板:任意面板 + 数据源(节点 + 空间 + 命令 + 参数)、iframe 内嵌 |
|
|
37
|
+
| **对话** | 三种工作模式(数字分身 / 软件工厂 / 物联)各自限定能力,写操作先出确认表单 |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 快速开始(60 秒上手)
|
|
42
|
+
|
|
43
|
+
### 前置
|
|
44
|
+
|
|
45
|
+
- DeepSeek Harness 桌面版(本插件以 local bundle 方式 `link:` 安装)
|
|
46
|
+
- Node.js 20+
|
|
47
|
+
- 一个可用的 ContextOS 节点(可选;插件可以自己部署)
|
|
48
|
+
|
|
49
|
+
### 安装
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
cd usr/dsh-plugins/dsh-contextos-devops
|
|
53
|
+
npm run build:client # 构建 + 12 道门禁,必须全绿
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
然后在 DSH 里启用插件,重载后打开 **ContextOS DevOps**:
|
|
57
|
+
|
|
58
|
+
```js
|
|
59
|
+
plugin_manager({ action: 'set_plugin', target: 'include:dsh-contextos-devops', enabled: true })
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### 第一次对话
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
部署 9188 节点
|
|
66
|
+
创建项目空间 demo
|
|
67
|
+
生成应用模板「员工管理」
|
|
68
|
+
创建「员工管理」实例
|
|
69
|
+
给「员工管理」添加数据:张三 / 研发部
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
每一步都会返回一张可点击的卡片或表单,不用记 URL。
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 三种工作模式
|
|
77
|
+
|
|
78
|
+
| 模式 | 能做 | 不能做 |
|
|
79
|
+
| --- | --- | --- |
|
|
80
|
+
| **数字分身** `avatar` | 创建应用实例、读写业务数据、查最近应用 | 生成代码、部署节点 |
|
|
81
|
+
| **软件工厂** `factory` | 部署节点、建空间、生成模板与代码、编译上线 | 读写业务数据、查最近应用 |
|
|
82
|
+
| **物联** `iot` | 扫描 / 连接 / 控制设备 | 业务数据、代码生成 |
|
|
83
|
+
|
|
84
|
+
模式在**调用模型之前**就完成短路,不把「该不该做」交给模型判断。
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## 架构
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
┌──────────────────── DeepSeek Harness ────────────────────┐
|
|
92
|
+
│ Web GUI ── src/client/parts/*.js (24 片段) │
|
|
93
|
+
│ │ api(op, args) │
|
|
94
|
+
│ ▼ │
|
|
95
|
+
│ index.js ── lib/core/ops.js (102 个 op, 唯一注册处) │
|
|
96
|
+
│ │ │
|
|
97
|
+
│ ▼ │
|
|
98
|
+
│ lib/core/*.js ── lib/base/*.js ── ContextOS HTTP │
|
|
99
|
+
└───────────────────────────────────────────────────────────┘
|
|
100
|
+
│
|
|
101
|
+
▼
|
|
102
|
+
┌──────────── ContextOS ────────────┐
|
|
103
|
+
│ 节点 /c/... 空间 /s/<pod>/... │
|
|
104
|
+
│ 门户 /s/<pod>/c/<portal>/action/...│
|
|
105
|
+
└────────────────────────────────────┘
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
- **一条请求**:组件 → `api(op)` → `ops.js` 分发 → `lib/core` → ContextOS → 回执 → 卡片/表单/表格。
|
|
109
|
+
- **一条命令五种形态**:网页 URL、接口 URL、内部 CMD、命令 CLI、会话 MCP,详见 [`docs/INTERFACE.md`](docs/INTERFACE.md)。
|
|
110
|
+
- **URL 单一来源**:`lib/base/url.js` 与客户端的 `cxWebUrl`,禁止手拼。
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 目录
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
.
|
|
118
|
+
├── index.js # 宿主入口:只做查表分发,不写业务分支
|
|
119
|
+
├── lib/
|
|
120
|
+
│ ├── base/ # http / url / registry / 状态目录
|
|
121
|
+
│ └── core/ # ops 注册 + 各域实现(nodes/spaces/apps/data/codegen/…)
|
|
122
|
+
├── src/client/
|
|
123
|
+
│ ├── parts/ # 24 个片段 → build/client.mjs → client.js
|
|
124
|
+
│ └── styles/ # tokens / main / kit → assets/client.css
|
|
125
|
+
├── docs/ # 入口 docs/INDEX.md
|
|
126
|
+
├── scripts/ # 构建与 12 道门禁
|
|
127
|
+
└── build/client.mjs # 唯一的打包入口
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`client.js` 与 `assets/client.css` 是**构建产物**,不要手改。
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 开发
|
|
135
|
+
|
|
136
|
+
```sh
|
|
137
|
+
npm run build:client # 构建 + 全部门禁
|
|
138
|
+
npm run verify:ui # 真浏览器验收(需 Edge CDP 9223),exit 0 才算过
|
|
139
|
+
npm run check:docs # 文档索引 / 链接 / 生成物一致
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
构建链(11 道):
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
gate → load-check → hook-order-check → op-check → store-check
|
|
146
|
+
→ ui-check → ui-probe → i18n-check → context-check → docs-check
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
| 命令 | 检查什么 |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| `check:ops` | op 必须注册在 `ops.js`,`index.js` 不许出现 `if (op === …)` |
|
|
152
|
+
| `check:store` | 持久化状态必须走 `08-store.js` 的 schema |
|
|
153
|
+
| `check:ui` | 字号 / 图标 / 控件尺寸 / 禁用写法 |
|
|
154
|
+
| `check:probe` | 无头浏览器渲染 fixture:消息三行结构、工具条对齐、折叠态高度 |
|
|
155
|
+
| `check:docs` | 文档索引覆盖、链接可解析、生成物不过期 |
|
|
156
|
+
| `verify:ui` | 真开浏览器:结构、尺寸、下拉、本地化、控制台无报错 |
|
|
157
|
+
|
|
158
|
+
**改宿主必须重载插件**(`lib/`、`index.js`);只改客户端刷新页面即可。
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 文档
|
|
163
|
+
|
|
164
|
+
| 文档 | 读它做什么 |
|
|
165
|
+
| --- | --- |
|
|
166
|
+
| [`docs/INDEX.md`](docs/INDEX.md) | **唯一入口**:按任务查表 |
|
|
167
|
+
| [`docs/DOCTRINE.md`](docs/DOCTRINE.md) | 三纲五常、每轮四件套、抽象递减 |
|
|
168
|
+
| [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) | 分层与模块边界 |
|
|
169
|
+
| [`docs/CODE-GEN.md`](docs/CODE-GEN.md) | 代码生成规范:两类模块、词表、参数文法、权限 |
|
|
170
|
+
| [`docs/INTERFACE.md`](docs/INTERFACE.md) | 一条命令五种形态、两层能力、三种认证 |
|
|
171
|
+
| [`docs/URL-SPEC.md`](docs/URL-SPEC.md) | 接口 URL / 网页 URL 形状与禁止清单 |
|
|
172
|
+
| [`docs/AI-CONVERSATION.md`](docs/AI-CONVERSATION.md) | 对话请求参数、动作表、已知缺口 |
|
|
173
|
+
| [`docs/ACCEPTANCE.md`](docs/ACCEPTANCE.md) | 验收标准与证据要求 |
|
|
174
|
+
| [`AGENTS.md`](AGENTS.md) | 给 AI 的工作契约(铁律、工作流、对话流程) |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 状态
|
|
179
|
+
|
|
180
|
+
- **稳定**:节点 / 空间 / 应用 / 数据 CRUD / 代码生成 / 监控看板 / 三种模式对话。
|
|
181
|
+
- **已知限制**:见 [`docs/RSI-LEDGER.md`](docs/RSI-LEDGER.md) 的未闭环项(网页标签会话隔离、远程节点凭证续期、监控无历史数据)。
|
|
182
|
+
- **版本**:以 `package.json` 为准,每次改动必 bump(客户端缓存键)。
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 给智能体(Agent)
|
|
187
|
+
|
|
188
|
+
这个插件本身就是给智能体用的:
|
|
189
|
+
|
|
190
|
+
- **外部智能体**(DSH 代理)可以直接调 15 个 `contextos_*` 工具:部署节点、建空间、建应用、读写数据、跑流水线。
|
|
191
|
+
- **插件内 Copilot** 走 `POST /api?op=chat`:客户端按模式短路 → 宿主拼 prompt → 返回 `{reply, action}` → 执行并渲染。
|
|
192
|
+
- 两者共用同一套约束:每轮走完 **RSI 循环**(目标 → 计划 → 取证 → 改动 → 构建 → 实测 → 抽象 → 报告),并留下四件套(代码 / 文档 / 门禁 / 规范)。
|
|
193
|
+
|
|
194
|
+
契约见 [`AGENTS.md`](AGENTS.md),动作协议见 [`docs/AI-CONVERSATION.md`](docs/AI-CONVERSATION.md)。
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 参与
|
|
199
|
+
|
|
200
|
+
1. 读 [`AGENTS.md`](AGENTS.md) 与 [`docs/INDEX.md`](docs/INDEX.md)。
|
|
201
|
+
2. 每轮四件套:**代码 + 文档 + 门禁 + 规范**,缺一不算完成。
|
|
202
|
+
3. 提交前:`npm run build:client` 全绿、`git status` 只含本轮文件、报告落 `usr/local/WorkBuddy/dsh-reports/`。
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 许可
|
|
207
|
+
|
|
208
|
+
私有项目,未附开源协议文件;未经授权请勿分发。
|
|
Binary file
|