agentworkshop 0.7.7 → 0.7.8
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/.AgentWorkShop/prompts/host-tools.json +1 -1
- package/.output/.AgentWorkShop/prompts/host-tools.json +1 -1
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{CQiKcuoG.js → Dc46i75T.js} +3 -3
- package/.output/public/_nuxt/R_Wv_Nd9.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/e5bb1803-86d9-43b3-85be-dc787dc9a978.json +1 -0
- package/.output/public/_nuxt/{entry.DvlXlPwx.css → entry.5qf6EqfN.css} +1 -1
- package/.output/public/_nuxt/workshop.3kAcLB_M.css +1 -0
- package/.output/server/chunks/_/nitro.mjs +2468 -2407
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/TownView-B5KifIaT.mjs +1 -1
- package/.output/server/chunks/build/_id_-C-ewLgfl.mjs +1 -1
- package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs +1 -1
- package/.output/server/chunks/build/daq-D9RA_uze.mjs +1 -1
- package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +1 -1
- package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs +1 -1
- package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs +1 -1
- package/.output/server/chunks/build/{workshop-iCzNRifn.mjs → workshop-D5CQj2A8.mjs} +45 -39
- package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +1 -0
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs +25 -0
- package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +3 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/virtual/entry.mjs +10 -2
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +27 -7
- package/README.md +455 -435
- package/app/pages/workshop/index.vue +25 -6
- package/config.yml +11 -1
- package/i18n/dicts/settings.json +4 -0
- package/i18n/locales/en.ts +4 -0
- package/i18n/locales/zh-CN.ts +4 -0
- package/package.json +1 -1
- package/scripts/_dbg-codex-handshake.ts +30 -0
- package/scripts/_dbg-codex-sandbox.ts +58 -0
- package/scripts/_dbg-codex-turn.ts +65 -0
- package/scripts/_dbg-interval-config.mjs +145 -0
- package/scripts/_dbg-setup-e2e.mjs +88 -0
- package/scripts/e2e-harness-provider-task.mjs +126 -0
- package/server/api/users/setup-status.get.ts +8 -0
- package/server/api/workshop/daq/[id]/samples.get.ts +4 -2
- package/server/data/daqs.json +97 -45
- package/server/data/dcw-lines.json +7 -0
- package/server/data/dcw-products.json +21 -0
- package/server/data/dcw-recipes.json +84 -0
- package/server/data/dcw-rollback.json +39 -6
- package/server/data/dcw-runs.json +81 -75
- package/server/data/dcw-writes.json +36 -0
- package/server/data/dcws.json +374 -299
- package/server/data/line-runs.json +6 -6
- package/server/plugins/security.ts +46 -50
- package/server/repositories/user.repository.ts +384 -414
- package/server/services/system-config.ts +2 -0
- package/server/services/user.service.ts +8 -3
- package/server/services/workshop/agents/adapters/line-spawn.ts +6 -3
- package/server/services/workshop/agents/host-tool-bridge.ts +21 -1
- package/server/services/workshop/agents/industrial-tools.ts +5 -3
- package/server/services/workshop/daq/daq-controller.ts +34 -6
- package/server/services/workshop/daq/daq-node.ts +3 -3
- package/server/services/workshop/daq/daq-runtime.ts +4 -3
- package/server/services/workshop/dcw/dcw-controller.ts +4 -2
- package/server/services/workshop/settings.ts +23 -0
- package/shared/config/schema.json +4 -0
- package/.output/public/_nuxt/C-GarxYC.js +0 -1
- package/.output/public/_nuxt/builds/meta/14df171d-89cb-43ec-ad6f-9df72d6da7f5.json +0 -1
- package/.output/public/_nuxt/workshop.B98sHiJq.css +0 -1
- package/.output/server/chunks/build/workshop-iCzNRifn.mjs.map +0 -1
package/README-zh.md
CHANGED
|
@@ -46,7 +46,9 @@ AgentWorkShop 起家于**多智能体软件工作坊**——Channel 内的编码
|
|
|
46
46
|
| **人工审批的写控** | 数控下发经过「**安全量程 ∩ 活动配方窗口**」联锁 → 可选 **HITL 审批** → PLC 写入 → **回读校验** → 写历史记账。 |
|
|
47
47
|
| **数控读写一体(v0.7)** | 每个控制节点都能沿写链路同一套标定**读回 PLC 当前值**:周期读 + 手动读取 + Agent `dcw_read` 工具,SET 与 ACT 在数控页、孪生面板(绿色 ACT 行)并排呈现 —— 读是被动观测,不受写联锁限制。 |
|
|
48
48
|
| **全量配置驱动运行时(v0.7)** | 全部运行旋钮(记忆预算、上下文压缩、回退护栏、保留策略、备份、日志级别…)在设置描述符注册表声明一次,优先级 **config.yml < runtime-settings < env** —— 历史 env 名作别名兼容,代码零硬编码默认。项目级 `.AgentWorkShop` 优先,`~/.AgentWorkShop` 用户级兜底(安装即种子初始化)。 |
|
|
49
|
-
|
|
|
49
|
+
| **五协议现场总线** | Modbus TCP、Modbus RTU-over-TCP(串口网关)、OPC UA、MQTT、HTTP/REST —— 数采与写控双驱动带连接池、分类错误文案与逐驱动连接测试;`mock` 覆盖演示/CI;驱动注册表接受插件注册新协议。 |
|
|
50
|
+
| **Channel 级 LLM 选择** | 每个 Channel 从 Harness 实时目录中选 **harness → provider → model(+effort)**(如 omp 的 `zhipu-coding-plan/glm-5.3-flash`、dsh 的 `ustc/glm-5.3-flash`)。成员未显式覆盖即继承 —— 一个团队混用多种 harness 是一等公民设定,不是绕行。 |
|
|
51
|
+
| **可配置节拍(v0.7.7)** | 采样默认间隔与下限、时序查询默认桶宽与下限全部是 **live 设置**(`daq.sampling.*`、`daq.query.*`):config.yml、设置页或 `aw config set` 三路同源 —— 热重载、create/patch 钳制,注入 Agent 的工具描述实时携带当前值。 |
|
|
50
52
|
| **多形态数采帧管线(v0.6)** | 测厚仪/扫描仪的多点轮廓与 CCD 图像经模板 sink 处理器加工后入库:向量与元数据入 Timescale(`daq_frames`),像素入对象存储(MinIO,不可达自动降级本地磁盘);派生指标越限走既有告警链路。 |
|
|
51
53
|
| **插件扩展 API(v0.6)** | `ctx.daq.registerDriver / registerProcessor / registerTemplate` 自定义采集与下沉算法(放入 `plugins/` 即生效);`ctx.omp.registerTool` 自定义 agent 工具,注册表变更运行时热注入全部在跑会话。 |
|
|
52
54
|
| **产线运营** | 产线 → 产品 → 配方 → 批次。配方窗口门控采集并联锁写入;每条样本打标 `product/recipe/run`,实现产品级数据隔离。 |
|
|
@@ -104,7 +106,10 @@ flowchart TB
|
|
|
104
106
|
end
|
|
105
107
|
subgraph HB["Harness 适配器"]
|
|
106
108
|
MOCK["mock"]
|
|
107
|
-
OMP["omp —
|
|
109
|
+
OMP["omp — RPC 子进程"]
|
|
110
|
+
CDX["codex — app-server"]
|
|
111
|
+
DSH["dsh — ACP"]
|
|
112
|
+
OC["opencode — serve"]
|
|
108
113
|
CLD["claude — SDK"]
|
|
109
114
|
end
|
|
110
115
|
DB[("SQLite — channels · agents · tasks
|
|
@@ -115,7 +120,7 @@ messages · memories (FTS5) · events")]
|
|
|
115
120
|
REST & A2A & MCP --> MGR
|
|
116
121
|
MGR --> SCH & TE & AR
|
|
117
122
|
AR --> MEM
|
|
118
|
-
AR --> MOCK & OMP & CLD
|
|
123
|
+
AR --> MOCK & OMP & CDX & DSH & OC & CLD
|
|
119
124
|
MGR & TE & MEM & BUS --> DB
|
|
120
125
|
DAQ <--> BR --> TSDB
|
|
121
126
|
DCW --> BR
|
|
@@ -145,7 +150,7 @@ agent ──绑定──▶ 节点 (daq: auto / dcw: manual)
|
|
|
145
150
|
node -v # ≥ 23.4.0(需要内置 node:sqlite)
|
|
146
151
|
```
|
|
147
152
|
|
|
148
|
-
>
|
|
153
|
+
> 真实 Agent harness 需要对应 CLI 在 PATH 中 —— `omp`、`codex`、`opencode`、`dsh`(任选子集;同一 Channel 可混用多种 harness)。`mock` harness 开箱即用,适合演示与 CI。可选数采基础设施(MQTT broker + TimescaleDB)在 Docker 可达时自动拉起(`docker compose up -d`)。
|
|
149
154
|
|
|
150
155
|
### 方式 A —— 从 npm 安装(推荐)
|
|
151
156
|
|
|
@@ -213,10 +218,21 @@ config.yml(默认值) < .AgentWorkShop/runtime-settings.json(运行时
|
|
|
213
218
|
### 设置持久化与热重载
|
|
214
219
|
|
|
215
220
|
- **系统设置 → 运行配置**标签页按描述符渲染每个可编辑键——改服务端口、主题、API 超时、语言或高危复核闸门,点保存即可。
|
|
216
|
-
- `live`
|
|
221
|
+
- `live` 键立即生效(主题、标题、超时、审批闸门、数采采样节拍、时序查询桶宽……),经服务端事件流推送,**无需刷新、无需重启**。
|
|
217
222
|
- `restart` 键(端口、主机)落盘持久化,在下一次以对应模式启动时生效(`aw dev` / `aw start`)。
|
|
218
223
|
- 所有写入方共用一条通道:**设置页、CLI、服务端文件监听**最终都收敛到同一个设置文件——任何一端改,处处生效。
|
|
219
224
|
|
|
225
|
+
示例——在线调节数采与查询节拍:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
aw config set daq.sampling.defaultIntervalMs 2000 # 新节点每 2s 采样
|
|
229
|
+
aw config set daq.sampling.minIntervalMs 500 # 节点级下限(create/patch 钳制)
|
|
230
|
+
aw config set daq.query.defaultBucketMs 3000 # 时序查询缺省 3s 桶
|
|
231
|
+
aw config set daq.query.minBucketMs 500 # 查询下限(samples/产线查询/Agent 工具共用)
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
注入 Agent 的工具描述会在每次装配时以当前配置值重新渲染——LLM 永远看到对自己 `daq_query` 调用真正生效的下限与缺省值。
|
|
235
|
+
|
|
220
236
|
### `aw` CLI
|
|
221
237
|
|
|
222
238
|
| 指令 | 作用 |
|
|
@@ -258,7 +274,8 @@ export async function run(argv, ctx) {
|
|
|
258
274
|
|
|
259
275
|
### 数据采集(DAQ)
|
|
260
276
|
|
|
261
|
-
-
|
|
277
|
+
- **五协议驱动**:Modbus TCP、Modbus RTU-over-TCP(串口网关)、OPC UA、MQTT、HTTP/REST——连接池、分类错误文案、逐驱动连接测试;驱动注册表接受插件注册新协议。
|
|
278
|
+
- **逐节点边缘运行时**:独立采样节拍、下发节拍、节点级在飞互斥——一个慢驱动绝不拖累邻居。采样与查询的默认值/下限由 `daq.sampling.*`、`daq.query.*` live 配置驱动。
|
|
262
279
|
- **管线**:驱动 → 队列(进程内 / MQTT,断连离线缓冲)→ 消费泵乱序防御 → 三路分发:WS 实时直推(节拍门控)、TSDB 批量落库、设备孪生回写。
|
|
263
280
|
- **鲁棒性**:TSDB 单 in-flight 写 + 有界重试,缓冲背压带丢弃计数,真实丢失指标随 `daq.controller` 帧暴露。
|
|
264
281
|
- **报警**:配方级监控窗口,**2% 滞回 + 3 拍去抖**;alarm/offline 切换即时生效(安全优先)。
|
|
@@ -352,7 +369,7 @@ AgentWorkShop/
|
|
|
352
369
|
│ ├── api/ # REST + WS + A2A + MCP 路由
|
|
353
370
|
│ ├── services/workshop/
|
|
354
371
|
│ │ ├── runtime/ # manager · scheduler-loop · task-engine · memory · mailbox
|
|
355
|
-
│ │ ├── agents/ # AgentInterface: mock · omp · claude(+ 工业工具)
|
|
372
|
+
│ │ ├── agents/ # AgentInterface: mock · omp · codex · dsh · opencode · claude(+ 工业工具)
|
|
356
373
|
│ │ ├── daq/ dcw/ # 边缘运行时 · 驱动 · 队列 · 存储
|
|
357
374
|
│ │ └── db/ # node:sqlite 仓储层
|
|
358
375
|
│ ├── mcp/ # MCP 服务(工具)
|
|
@@ -402,6 +419,9 @@ node scripts/_dbg-full-feature-e2e.mjs # 全功能 live E2E(需服务端运
|
|
|
402
419
|
| 全功能 live E2E(Agent 读写真实产线,23 项检查) | 已交付 |
|
|
403
420
|
| 运行时配置系统:设置持久化 · 热重载 · 设置页 UI | 已交付 |
|
|
404
421
|
| `aw` CLI:config · run · init · register · doctor | 已交付 |
|
|
422
|
+
| 多 Harness 注册表:omp · codex · dsh · opencode 子进程引擎 | 已交付 |
|
|
423
|
+
| Channel 级 LLM provider/model 选择(实时 Harness 目录) | 已交付 |
|
|
424
|
+
| 可配置数采/时序节拍(采样与查询的默认值+下限,live 热重载) | 已交付 |
|
|
405
425
|
| Claude Agent SDK 适配器——与 `mock`/`omp` 完全对齐 | 进行中 |
|
|
406
426
|
| 生产硬化:TLS、MQTT 鉴权、OPC UA 签名+加密缺省、结构化审计日志 | 规划中 |
|
|
407
427
|
| 边缘部署形态:独立 edge-agent + 中心 broker | 规划中 |
|