opencode-agent-skill 9.0.0 → 11.0.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/CHANGELOG.md +116 -0
- package/README.md +742 -675
- package/bin/ocskill.mjs +354 -5
- package/docs/V11-PERCEPTION-ADAPTIVE-EXECUTION.md +75 -0
- package/docs/V11-PERCEPTION-ADAPTIVE.md +220 -0
- package/evals/router-triggers.json +82 -0
- package/evals/routing.json +76 -0
- package/evals/v11/tasks.json +122 -0
- package/global-config/AGENTS.md +78 -163
- package/global-config/agents/merge-arbiter.md +12 -0
- package/global-config/agents/visual-verifier.md +12 -0
- package/global-config/plugins/ues-router/index.js +683 -59
- package/global-config/plugins/ues-router/router.js +62 -3
- package/global-config/plugins/ues-router/runtime-guard.js +265 -0
- package/global-config/skills/browser-qa/SKILL.md +14 -0
- package/global-config/skills/browser-qa/references/workflow.md +11 -0
- package/global-config/skills/browser-security/SKILL.md +12 -0
- package/global-config/skills/component-visual-testing/SKILL.md +10 -0
- package/global-config/skills/design-source/SKILL.md +10 -0
- package/global-config/skills/design-source/references/workflow.md +12 -0
- package/global-config/skills/dynamic-workflow/SKILL.md +18 -0
- package/global-config/skills/dynamic-workflow/references/workflow.md +19 -0
- package/global-config/skills/responsive-verification/SKILL.md +10 -0
- package/global-config/skills/skill-authoring/SKILL.md +12 -0
- package/global-config/skills/skill-evaluation/SKILL.md +17 -0
- package/global-config/skills/visual-fidelity/SKILL.md +14 -0
- package/global-config/skills/visual-fidelity/references/workflow.md +14 -0
- package/lib/benchmark-confidence.mjs +49 -11
- package/lib/browser-adapter.mjs +82 -0
- package/lib/browser-runtime.mjs +193 -0
- package/lib/capability-registry.mjs +109 -0
- package/lib/context-engine-v11.mjs +146 -0
- package/lib/context-manifest.mjs +16 -3
- package/lib/control-center.mjs +12 -2
- package/lib/dynamic-workflow.mjs +179 -0
- package/lib/eval-ablation.mjs +146 -0
- package/lib/eval-report.mjs +83 -0
- package/lib/eval-telemetry.mjs +64 -0
- package/lib/evidence-budget.mjs +84 -0
- package/lib/evidence-store.mjs +178 -0
- package/lib/hermes-bridge.mjs +45 -1
- package/lib/model-config.mjs +9 -1
- package/lib/model-policy.mjs +58 -1
- package/lib/orchestrator-policy.mjs +100 -7
- package/lib/png-diff.mjs +229 -0
- package/lib/prompt-cache.mjs +60 -0
- package/lib/skill-quality.mjs +72 -0
- package/lib/task-engine.mjs +223 -12
- package/lib/ui-inspector.mjs +152 -0
- package/lib/v11-metrics.mjs +64 -0
- package/lib/visual-spec.mjs +159 -0
- package/package.json +11 -5
- package/scripts/eval-ablation.mjs +47 -0
- package/scripts/eval-matrix.mjs +13 -2
- package/scripts/validate-v11-suite.mjs +58 -0
- package/scripts/validate.mjs +16 -4
package/README.md
CHANGED
|
@@ -1,675 +1,742 @@
|
|
|
1
|
-
# OpenCode Universal Engineering System (UES)
|
|
2
|
-
|
|
3
|
-
> **
|
|
4
|
-
> UES là bộ công cụ hỗ trợ OpenCode xử lý dự án lớn, tác vụ dài và quy trình kỹ thuật cần kiểm chứng bằng bằng chứng thực tế.
|
|
5
|
-
|
|
6
|
-
[](https://www.npmjs.com/package/opencode-agent-skill)
|
|
7
|
-
[](LICENSE)
|
|
8
|
-
|
|
9
|
-
## Giới thiệu
|
|
10
|
-
|
|
11
|
-
**OpenCode Universal Engineering System (UES)** là một engineering harness dành cho OpenCode. UES không thay đổi năng lực nền tảng của model, mà tổ chức cách model làm việc để:
|
|
12
|
-
|
|
13
|
-
- giảm lượng thông tin phải giữ trong một context dài;
|
|
14
|
-
- chia tác vụ lớn thành các bước rõ ràng;
|
|
15
|
-
- lưu trạng thái ra filesystem để có thể tiếp tục sau khi session bị ngắt;
|
|
16
|
-
- chạy executor bằng context mới cho từng tác vụ;
|
|
17
|
-
- yêu cầu bằng chứng kiểm thử trước khi đánh dấu hoàn tất;
|
|
18
|
-
- kiểm tra thay đổi ở mức task và mức tích hợp toàn hệ thống;
|
|
19
|
-
- hỗ trợ routing skill, model tier, task policy và recovery theo trạng thái thực tế của repository.
|
|
20
|
-
|
|
21
|
-
Mục tiêu của UES là giúp quá trình làm việc với coding agent **ổn định hơn, có thể kiểm chứng hơn và phù hợp hơn với repository lớn**.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Cài đặt
|
|
26
|
-
|
|
27
|
-
Yêu cầu:
|
|
28
|
-
|
|
29
|
-
- Node.js 20 trở lên;
|
|
30
|
-
- npm;
|
|
31
|
-
- OpenCode.
|
|
32
|
-
|
|
33
|
-
Cài đặt toàn cục từ npm:
|
|
34
|
-
|
|
35
|
-
```cmd
|
|
36
|
-
npm install -g opencode-agent-skill
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Kiểm tra:
|
|
40
|
-
|
|
41
|
-
```cmd
|
|
42
|
-
ocskill version
|
|
43
|
-
ocskill status
|
|
44
|
-
ocskill doctor
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Nếu npm không chạy lifecycle script trong lúc cài đặt, chạy thêm:
|
|
48
|
-
|
|
49
|
-
```cmd
|
|
50
|
-
ocskill install
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Sau khi cài hoặc cập nhật UES, nên mở một OpenCode session mới để các skill, command, subagent và plugin được nạp lại đầy đủ.
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## Bắt đầu nhanh
|
|
58
|
-
|
|
59
|
-
Với tác vụ lớn, dùng:
|
|
60
|
-
|
|
61
|
-
```text
|
|
62
|
-
/ues-run <yêu cầu>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Nếu session bị ngắt hoặc context bị compact:
|
|
66
|
-
|
|
67
|
-
```text
|
|
68
|
-
/ues-resume <slug>
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Một số lệnh hữu ích:
|
|
72
|
-
|
|
73
|
-
```cmd
|
|
74
|
-
ocskill inspect .
|
|
75
|
-
ocskill repo-graph .
|
|
76
|
-
ocskill verification-plan .
|
|
77
|
-
ocskill task-policy "refactor auth across the whole repository"
|
|
78
|
-
ocskill dashboard . --serve
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
##
|
|
84
|
-
|
|
85
|
-
UES
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
- `
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
|
342
|
-
|
|
343
|
-
| `
|
|
344
|
-
|
|
|
345
|
-
| `
|
|
346
|
-
| `
|
|
347
|
-
|
|
|
348
|
-
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
```cmd
|
|
357
|
-
ocskill
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
ocskill
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
```
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
```
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
```cmd
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
```
|
|
656
|
-
|
|
657
|
-
```
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
```cmd
|
|
662
|
-
npm
|
|
663
|
-
```
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
```text
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
1
|
+
# OpenCode Universal Engineering System (UES)
|
|
2
|
+
|
|
3
|
+
> **V11 stable: 11.0.0** — perception-aware adaptive execution engine với evidence-efficient context, capability routing và visual/browser verification.
|
|
4
|
+
> UES là bộ công cụ hỗ trợ OpenCode xử lý dự án lớn, tác vụ dài và quy trình kỹ thuật cần kiểm chứng bằng bằng chứng thực tế.
|
|
5
|
+
|
|
6
|
+
[](https://www.npmjs.com/package/opencode-agent-skill)
|
|
7
|
+
[](LICENSE)
|
|
8
|
+
|
|
9
|
+
## Giới thiệu
|
|
10
|
+
|
|
11
|
+
**OpenCode Universal Engineering System (UES)** là một engineering harness dành cho OpenCode. UES không thay đổi năng lực nền tảng của model, mà tổ chức cách model làm việc để:
|
|
12
|
+
|
|
13
|
+
- giảm lượng thông tin phải giữ trong một context dài;
|
|
14
|
+
- chia tác vụ lớn thành các bước rõ ràng;
|
|
15
|
+
- lưu trạng thái ra filesystem để có thể tiếp tục sau khi session bị ngắt;
|
|
16
|
+
- chạy executor bằng context mới cho từng tác vụ;
|
|
17
|
+
- yêu cầu bằng chứng kiểm thử trước khi đánh dấu hoàn tất;
|
|
18
|
+
- kiểm tra thay đổi ở mức task và mức tích hợp toàn hệ thống;
|
|
19
|
+
- hỗ trợ routing skill, model tier, task policy và recovery theo trạng thái thực tế của repository.
|
|
20
|
+
|
|
21
|
+
Mục tiêu của UES là giúp quá trình làm việc với coding agent **ổn định hơn, có thể kiểm chứng hơn và phù hợp hơn với repository lớn**.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Cài đặt
|
|
26
|
+
|
|
27
|
+
Yêu cầu:
|
|
28
|
+
|
|
29
|
+
- Node.js 20 trở lên;
|
|
30
|
+
- npm;
|
|
31
|
+
- OpenCode.
|
|
32
|
+
|
|
33
|
+
Cài đặt toàn cục từ npm:
|
|
34
|
+
|
|
35
|
+
```cmd
|
|
36
|
+
npm install -g opencode-agent-skill
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Kiểm tra:
|
|
40
|
+
|
|
41
|
+
```cmd
|
|
42
|
+
ocskill version
|
|
43
|
+
ocskill status
|
|
44
|
+
ocskill doctor
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Nếu npm không chạy lifecycle script trong lúc cài đặt, chạy thêm:
|
|
48
|
+
|
|
49
|
+
```cmd
|
|
50
|
+
ocskill install
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Sau khi cài hoặc cập nhật UES, nên mở một OpenCode session mới để các skill, command, subagent và plugin được nạp lại đầy đủ.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Bắt đầu nhanh
|
|
58
|
+
|
|
59
|
+
Với tác vụ lớn, dùng:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
/ues-run <yêu cầu>
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Nếu session bị ngắt hoặc context bị compact:
|
|
66
|
+
|
|
67
|
+
```text
|
|
68
|
+
/ues-resume <slug>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Một số lệnh hữu ích:
|
|
72
|
+
|
|
73
|
+
```cmd
|
|
74
|
+
ocskill inspect .
|
|
75
|
+
ocskill repo-graph .
|
|
76
|
+
ocskill verification-plan .
|
|
77
|
+
ocskill task-policy "refactor auth across the whole repository"
|
|
78
|
+
ocskill dashboard . --serve
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## V11 có gì?
|
|
84
|
+
|
|
85
|
+
V11 chuyển UES từ một reliability harness thành **perception-aware adaptive execution engine**. Mục tiêu là model yếu chỉ nhận đúng bằng chứng cần thiết, dùng đúng capability/model/tool và có thể kiểm chứng UI bằng semantic structure + geometry + pixels thay vì đoán từ screenshot.
|
|
86
|
+
|
|
87
|
+
- content-addressed Evidence Store dưới `.ues-cache/evidence-v1/`; output lớn được lưu theo SHA-256 và context nhận bounded excerpt + `evidence:sha256:...` pointer;
|
|
88
|
+
- adaptive EvidenceBudget chia context cho instructions/task/source/tests/references/history/tools theo rủi ro và loại task thay vì luôn tiêu hết FAST/STANDARD/DEEP budget;
|
|
89
|
+
- prompt-envelope telemetry tách stable prefix và dynamic tail để đo cacheable ratio/repeated stable input;
|
|
90
|
+
- capability-aware model routing bổ sung `vision`, `browser`, `reasoning`, `toolCalling`, `filesystem`, `longContext` nhưng vẫn giữ light/standard/heavy để tương thích;
|
|
91
|
+
- `VISUAL_SPEC.json` + geometry receipt kiểm tra vị trí/kích thước element có tolerance rõ ràng;
|
|
92
|
+
- zero-dependency PNG diff/crop định vị vùng pixel sai rồi chỉ đưa crop cần thiết cho vision model;
|
|
93
|
+
- browser QA dùng targeted semantic/accessibility evidence + bounding boxes + screenshots; webpage content luôn được xem là untrusted;
|
|
94
|
+
- responsive viewport matrix và component visual testing/Storybook routing;
|
|
95
|
+
- dynamic workflow scheduler tách deterministic task khỏi LLM/vision fan-out, serialize overlapping writers và giới hạn concurrency;
|
|
96
|
+
- skill linter đo entrypoint size và description collisions; catalog tăng từ 39 lên **48 skills** nhưng router chỉ load skill có tín hiệu hẹp;
|
|
97
|
+
- hai subagent mới: `ues-visual-verifier` và `ues-merge-arbiter`, tổng **12 subagents**;
|
|
98
|
+
- Hermes được nâng thành optional sidecar: UES vẫn sở hữu durable state/evidence/safety, Hermes chỉ nhận bounded schedule/context khi được dùng;
|
|
99
|
+
- Control Center hiển thị Evidence Store và V11 runtime efficiency state.
|
|
100
|
+
|
|
101
|
+
Các CLI V11 chính:
|
|
102
|
+
|
|
103
|
+
```cmd
|
|
104
|
+
ocskill store status .
|
|
105
|
+
ocskill store get evidence:sha256:<hash> . --max 12000
|
|
106
|
+
ocskill capabilities "match this screenshot in the browser"
|
|
107
|
+
ocskill visual spec VISUAL_SPEC.json
|
|
108
|
+
ocskill visual geometry VISUAL_SPEC.json actual-boxes.json
|
|
109
|
+
ocskill visual compare expected.png actual.png --threshold 16
|
|
110
|
+
ocskill visual crop actual.png failed-region.png --x 10 --y 20 --width 300 --height 120
|
|
111
|
+
ocskill visual viewports
|
|
112
|
+
ocskill browser capability .
|
|
113
|
+
ocskill browser plan http://localhost:3000 --target Checkout
|
|
114
|
+
ocskill browser inspect http://localhost:3000 . --selector "button" --width 1440 --height 900
|
|
115
|
+
ocskill ui tokens src/styles.css
|
|
116
|
+
ocskill ui layout boxes.json --width 390 --height 844
|
|
117
|
+
ocskill workflow-plan PLAN.json --max-concurrent 4
|
|
118
|
+
ocskill skills lint .
|
|
119
|
+
ocskill models capability provider/model --vision on --browser on --quality 0.9
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
V11 stable được promote sau full local CI trên Windows PASS: 234 tests, 232 pass, 0 fail, 2 platform-specific skips; router/contract/package/install smoke đều PASS. Stable npm install dùng `npm install -g opencode-agent-skill`.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## V10 có gì?
|
|
127
|
+
|
|
128
|
+
V10 tập trung vào **minimum context necessary for maximum task success**: giảm context luôn nạp nhưng không cắt các lớp correctness, verification hay recovery.
|
|
129
|
+
|
|
130
|
+
- telemetry đo riêng **initial input tokens** bên cạnh total tokens, tool calls, latency và cost;
|
|
131
|
+
- global `AGENTS.md` được nén đáng kể, giữ lại contract, evidence, verification, safety và long-horizon invariants;
|
|
132
|
+
- FAST context budget giảm từ 12k xuống **8k**, STANDARD từ 24k xuống **20k**, còn DEEP vẫn giữ **48k** cho task rủi ro/lớn;
|
|
133
|
+
- OpenCode V2 runtime dùng policy-aware selective routing: FAST ưu tiên domain/debug/review skill trực tiếp thay vì tự động nạp generic orchestrator;
|
|
134
|
+
- failed attempt tự mở rộng context theo tầng `initial -> diagnose -> deep-recovery`; retry tăng evidence, graph/critic và model tier khi cấu hình cho phép;
|
|
135
|
+
- FAST không tự hạ executor thấp hơn tier đã cấu hình, nên tối ưu context không đồng nghĩa hạ năng lực model;
|
|
136
|
+
- benchmark confidence gate kiểm tra thêm initial-input ratio và total-token ratio;
|
|
137
|
+
- `npm run evals:ablation -- <reference> <candidate> --require-gate` so V10 với một reference run và từ chối candidate giảm pass-rate dù token có thấp hơn;
|
|
138
|
+
- runtime reliability guard phát hiện no-progress/stall, chặn duplicate `read/grep/glob`, phát hiện loop và cắt output exploration quá lớn trước khi nó làm ngập context;
|
|
139
|
+
- pre-compaction checkpoint lưu `currentTaskId`, `runId`, plan hash, workspace fingerprint, evidence pointers và structured `nextAction`; post-compaction bắt buộc thực thi action trước khi session được coi là hoàn tất;
|
|
140
|
+
- provider recovery thử fresh session cùng model một lần, sau lỗi lặp lại dùng configured escalation model/provider nếu có;
|
|
141
|
+
- lease supervisor tự thu hồi executor lease hết hạn sang trạng thái `retryable`, và explicit `long/high-risk` hard-override FAST thành DEEP/heavy.
|
|
142
|
+
|
|
143
|
+
V10 stable kế thừa toàn bộ RC.2 reliability hardening. Local full gate trên Windows/Node 24 đã PASS với 182 test pass, 0 fail, 2 skip cùng package/install smoke PASS trước khi promote.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## UES 9.0.0 có gì?
|
|
148
|
+
|
|
149
|
+
UES 9.0.0 cung cấp các khả năng sau (kế thừa từ 8.0.0):
|
|
150
|
+
|
|
151
|
+
- **39 engineering skills**;
|
|
152
|
+
- **11 slash commands**;
|
|
153
|
+
- **10 subagents**;
|
|
154
|
+
- long-task engine bền vững dưới `.ues-work/<slug>/`;
|
|
155
|
+
- `PLAN.json`, `STATE.json`, `EVIDENCE.json` và append-only `EVENTS.jsonl`;
|
|
156
|
+
- structured plan/integration receipts gắn với plan hash hoặc workspace fingerprint;
|
|
157
|
+
- task lease với `runId`, heartbeat, session owner, lease expiry và task-scoped stale recovery;
|
|
158
|
+
- strict verification cho long/high-risk task: receipt phải PASS đúng active run và đúng workspace hiện tại;
|
|
159
|
+
- context manifest v3 với Git-change awareness, symbol hits, TF-IDF-style relevance, tests/instructions và centered excerpts;
|
|
160
|
+
- task policy `inline / standard / long-horizon` cùng model tier `light / standard / heavy`;
|
|
161
|
+
- bounded fresh executor với hard timeout, interrupt/cancel và recovery;
|
|
162
|
+
- safe-wave scheduling cùng Git worktree isolation/integration có conflict detection;
|
|
163
|
+
- learning v2: failure clustering, explicit acceptance và shadow-benchmark promotion;
|
|
164
|
+
- benchmark matrix standard + long-horizon + polyglot;
|
|
165
|
+
- optional Hermes adapter;
|
|
166
|
+
- UES Control Center hiển thị runtime events, receipts và stale recovery;
|
|
167
|
+
- OpenCode V2 router plugin với multilingual routing, safety gate, cancel/recover tools và fresh-session dispatch.
|
|
168
|
+
|
|
169
|
+
V9 bổ sung:
|
|
170
|
+
|
|
171
|
+
- persistent incremental source index dưới `.ues-cache/semantic-index-v1.json` cùng ACI search/refs/view/text;
|
|
172
|
+
- FAST / STANDARD / DEEP execution profiles với bounded context budget, skill cap và verification depth;
|
|
173
|
+
- context manifest v4 tiêu thụ incremental evidence index trước khi mở rộng graph;
|
|
174
|
+
- redacted operational trajectory dưới `.ues-traces/*.jsonl` để replay/debug mà không lưu hidden chain-of-thought;
|
|
175
|
+
- optional container verification sandbox (Docker/Podman) với network-off, dropped capabilities và resource bounds;
|
|
176
|
+
- paired baseline-vs-UES confidence gate qua `npm run evals:matrix:gate`.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Kiến trúc tác vụ dài
|
|
181
|
+
|
|
182
|
+
Luồng long-horizon chính:
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
Yêu cầu
|
|
186
|
+
↓
|
|
187
|
+
Khảo sát repository / bằng chứng
|
|
188
|
+
↓
|
|
189
|
+
SPEC.md
|
|
190
|
+
↓
|
|
191
|
+
PLAN.json
|
|
192
|
+
↓
|
|
193
|
+
ues-plan-checker
|
|
194
|
+
↓
|
|
195
|
+
Phê duyệt kế hoạch
|
|
196
|
+
↓
|
|
197
|
+
Các task theo dependency graph
|
|
198
|
+
↓
|
|
199
|
+
Fresh ues-executor session cho từng task
|
|
200
|
+
↓
|
|
201
|
+
Task evidence + durable state
|
|
202
|
+
↓
|
|
203
|
+
ues-integration-verifier
|
|
204
|
+
↓
|
|
205
|
+
Integration PASS
|
|
206
|
+
↓
|
|
207
|
+
Kiểm tra workspace không thay đổi
|
|
208
|
+
↓
|
|
209
|
+
Finalize
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Mỗi work item dùng cấu trúc:
|
|
213
|
+
|
|
214
|
+
```text
|
|
215
|
+
.ues-work/<slug>/
|
|
216
|
+
├── SPEC.md
|
|
217
|
+
├── PLAN.json
|
|
218
|
+
├── STATE.json
|
|
219
|
+
├── EVIDENCE.json
|
|
220
|
+
├── EVENTS.jsonl
|
|
221
|
+
├── tasks/
|
|
222
|
+
└── reports/
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
`.ues-work/` là trạng thái thực thi của workflow, không phải hidden chain-of-thought.
|
|
226
|
+
|
|
227
|
+
### Gate 1 — Phê duyệt kế hoạch
|
|
228
|
+
|
|
229
|
+
Sau khi tạo plan, task chưa được chạy ngay. Trạng thái sẽ ở:
|
|
230
|
+
|
|
231
|
+
```text
|
|
232
|
+
awaiting-plan-approval
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Sau khi `ues-plan-checker` trả PASS, với long/high-risk work hãy tạo receipt gắn với đúng plan hiện tại rồi mới approve:
|
|
236
|
+
|
|
237
|
+
```cmd
|
|
238
|
+
ocskill work gate-receipt <slug> plan . --verifier ues-plan-checker --evidence "plan checker PASS" --out .ues-work/<slug>/reports/plan-receipt.json
|
|
239
|
+
ocskill work approve-plan <slug> . --evidence "plan checker PASS" --receipt-file .ues-work/<slug>/reports/plan-receipt.json
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Nếu thiếu structured receipt ở workflow strict, `ocskill work start` sẽ không được mở gate.
|
|
243
|
+
|
|
244
|
+
### Gate 2 — Bằng chứng cho từng task
|
|
245
|
+
|
|
246
|
+
Có thể ghi verification receipt trực tiếp từ command:
|
|
247
|
+
|
|
248
|
+
```cmd
|
|
249
|
+
ocskill work verify-command <slug> <task-id> . --run-id <run-id> -- npm test
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
Receipt gắn kết kết quả command với đúng task run. Với long/high-risk work, receipt PASS còn phải khớp workspace fingerprint hiện tại; nếu code thay đổi sau khi test thì phải verify lại.
|
|
253
|
+
|
|
254
|
+
### Gate 3 — Kiểm tra tích hợp
|
|
255
|
+
|
|
256
|
+
Sau khi toàn bộ task hoàn tất, tạo integration receipt gắn với workspace hiện tại rồi ghi PASS:
|
|
257
|
+
|
|
258
|
+
```cmd
|
|
259
|
+
ocskill work gate-receipt <slug> integration . --verifier ues-integration-verifier --verdict PASS --evidence "integration PASS" --out .ues-work/<slug>/reports/integration-receipt.json
|
|
260
|
+
ocskill work verify-integration <slug> . --verdict PASS --evidence "integration PASS" --receipt-file .ues-work/<slug>/reports/integration-receipt.json
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Sau đó:
|
|
264
|
+
|
|
265
|
+
```cmd
|
|
266
|
+
ocskill work finalize <slug> . --evidence "final acceptance verified"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
`finalize` sẽ bị từ chối nếu còn task chưa hoàn tất, còn blocker, chưa có integration PASS hoặc workspace đã thay đổi sau lần kiểm tra tích hợp.
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## Fresh-context executor trên OpenCode V2
|
|
274
|
+
|
|
275
|
+
OpenCode V2 plugin cung cấp tool:
|
|
276
|
+
|
|
277
|
+
```text
|
|
278
|
+
ues.dispatch_task
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
Luồng thực thi:
|
|
282
|
+
|
|
283
|
+
```text
|
|
284
|
+
work start
|
|
285
|
+
↓
|
|
286
|
+
đọc bounded context pack
|
|
287
|
+
↓
|
|
288
|
+
chọn model tier theo task + attempt
|
|
289
|
+
↓
|
|
290
|
+
tạo OpenCode session mới
|
|
291
|
+
↓
|
|
292
|
+
switchAgent(ues-executor)
|
|
293
|
+
↓
|
|
294
|
+
switchModel(...) nếu đã cấu hình
|
|
295
|
+
↓
|
|
296
|
+
gửi đúng một task
|
|
297
|
+
↓
|
|
298
|
+
heartbeat + bounded wait
|
|
299
|
+
↓
|
|
300
|
+
interrupt nếu timeout/cancel
|
|
301
|
+
↓
|
|
302
|
+
isolate writer khi cần
|
|
303
|
+
↓
|
|
304
|
+
trả child-session report
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Parent session vẫn chịu trách nhiệm kiểm tra diff, evidence và quyết định gọi `work complete` hoặc `work fail`.
|
|
308
|
+
|
|
309
|
+
Child session không được tự động merge, push, publish hoặc deploy.
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Subagents
|
|
314
|
+
|
|
315
|
+
| Subagent | Vai trò |
|
|
316
|
+
|---|---|
|
|
317
|
+
| `ues-codebase-mapper` | Lập bản đồ repository, entry point, boundary, hotspot, contract và test surface |
|
|
318
|
+
| `ues-architect` | Phân tích kiến trúc và phạm vi ảnh hưởng |
|
|
319
|
+
| `ues-plan-checker` | Kiểm tra SPEC/PLAN trước khi cho phép thực thi |
|
|
320
|
+
| `ues-executor` | Thực hiện một task đã được phê duyệt trong context mới |
|
|
321
|
+
| `ues-debugger` | Điều tra nguyên nhân gốc của lỗi |
|
|
322
|
+
| `ues-researcher` | Kiểm tra tài liệu, API và phiên bản hiện hành |
|
|
323
|
+
| `ues-reviewer` | Review correctness, regression, security và compatibility |
|
|
324
|
+
| `ues-critic` | Tìm giả định sai, counterexample và điểm yếu trong phương án |
|
|
325
|
+
| `ues-verifier` | Xác minh độc lập theo acceptance criteria |
|
|
326
|
+
| `ues-integration-verifier` | Kiểm tra tích hợp giữa nhiều task và luồng end-to-end |
|
|
327
|
+
| `ues-visual-verifier` | Xác minh độc lập screenshot/geometry/responsive/interaction mà không sửa code |
|
|
328
|
+
| `ues-merge-arbiter` | Hòa giải conflict giữa các task đã verify theo intent/evidence, không push/publish/deploy |
|
|
329
|
+
|
|
330
|
+
`ues-executor` là subagent chính có quyền sửa code theo scope được giao. Các agent còn lại chủ yếu phục vụ phân tích, review và xác minh.
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## Slash commands
|
|
335
|
+
|
|
336
|
+
| Lệnh | Công dụng |
|
|
337
|
+
|---|---|
|
|
338
|
+
| `/ues-feature` | Triển khai feature theo workflow UES |
|
|
339
|
+
| `/ues-fix` | Điều tra nguyên nhân rồi sửa bug |
|
|
340
|
+
| `/ues-plan` | Lập kế hoạch triển khai có thể thực thi |
|
|
341
|
+
| `/ues-debug` | Điều tra lỗi build, runtime hoặc test |
|
|
342
|
+
| `/ues-research` | Kiểm tra docs, API, package hoặc version |
|
|
343
|
+
| `/ues-review` | Review code hoặc diff |
|
|
344
|
+
| `/ues-verify` | Xác minh bằng evidence mới |
|
|
345
|
+
| `/ues-critique` | Tìm assumption sai và counterexample |
|
|
346
|
+
| `/ues-audit` | Audit repository hoặc một khu vực |
|
|
347
|
+
| `/ues-run` | Chạy workflow long-horizon với durable state |
|
|
348
|
+
| `/ues-resume` | Tiếp tục work item từ `.ues-work` |
|
|
349
|
+
|
|
350
|
+
---
|
|
351
|
+
|
|
352
|
+
## Task policy và model policy
|
|
353
|
+
|
|
354
|
+
Phân loại yêu cầu kỹ thuật:
|
|
355
|
+
|
|
356
|
+
```cmd
|
|
357
|
+
ocskill task-policy "your engineering request"
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Kiểm tra model policy:
|
|
361
|
+
|
|
362
|
+
```cmd
|
|
363
|
+
ocskill model-policy executor --attempt 1 --text "your engineering request"
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
UES dùng ba model tier:
|
|
367
|
+
|
|
368
|
+
```text
|
|
369
|
+
light
|
|
370
|
+
standard
|
|
371
|
+
heavy
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Xem cấu hình:
|
|
375
|
+
|
|
376
|
+
```cmd
|
|
377
|
+
ocskill models status
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
Bật model policy:
|
|
381
|
+
|
|
382
|
+
```cmd
|
|
383
|
+
ocskill models on
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
Gán model cho từng tier:
|
|
387
|
+
|
|
388
|
+
```cmd
|
|
389
|
+
ocskill models set light provider/cheap
|
|
390
|
+
ocskill models set standard provider/mid
|
|
391
|
+
ocskill models set heavy provider/strong
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
Gán tier theo role:
|
|
395
|
+
|
|
396
|
+
```cmd
|
|
397
|
+
ocskill models role executor standard
|
|
398
|
+
ocskill models role plan-checker heavy
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
Model ID do người dùng cấu hình vẫn là nguồn quyết định cuối cùng; UES không tự đoán provider/model ID.
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## Công cụ CLI
|
|
406
|
+
|
|
407
|
+
| Lệnh | Công dụng |
|
|
408
|
+
|---|---|
|
|
409
|
+
| `ocskill inspect [dir]` | Phát hiện stack, package manager, root và test command |
|
|
410
|
+
| `ocskill repo-graph [dir]` | Lập import graph có giới hạn và tìm hotspot |
|
|
411
|
+
| `ocskill impact <query> [dir]` | Tìm phạm vi ảnh hưởng theo symbol hoặc từ khóa |
|
|
412
|
+
| `ocskill evidence [dir]` | Thu thập snapshot về repository, verification và Git |
|
|
413
|
+
| `ocskill working-tree [dir]` | Kiểm tra branch, HEAD và working tree |
|
|
414
|
+
| `ocskill review-scope [base] [dir]` | Phân tích changed-file coverage và risk hint |
|
|
415
|
+
| `ocskill verification-plan [dir]` | Đề xuất verification phù hợp với project |
|
|
416
|
+
| `ocskill task-graph <PLAN.json>` | Kiểm tra DAG và tính safe waves |
|
|
417
|
+
| `ocskill context-pack <slug> <task> [dir]` | Tạo bounded handoff cho executor |
|
|
418
|
+
| `ocskill work ...` | Điều khiển durable long-task state machine |
|
|
419
|
+
|
|
420
|
+
Ví dụ:
|
|
421
|
+
|
|
422
|
+
```cmd
|
|
423
|
+
ocskill repo-graph .
|
|
424
|
+
ocskill review-scope main .
|
|
425
|
+
ocskill verification-plan .
|
|
426
|
+
ocskill task-graph .ues-work/checkout/PLAN.json
|
|
427
|
+
ocskill work status checkout .
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
---
|
|
431
|
+
|
|
432
|
+
## Skills
|
|
433
|
+
|
|
434
|
+
V11 development hiện có **48 skills**; V10 stable có 39. Router vẫn chỉ chọn tập skill phù hợp thay vì nạp toàn bộ catalog vào mỗi task. Router chỉ chọn các skill phù hợp thay vì nạp toàn bộ catalog vào mỗi task.
|
|
435
|
+
|
|
436
|
+
Một số process skill quan trọng:
|
|
437
|
+
|
|
438
|
+
- `ues-engineering-orchestrator`
|
|
439
|
+
- `ues-repo-explorer`
|
|
440
|
+
- `ues-context-engineering`
|
|
441
|
+
- `ues-task-planner`
|
|
442
|
+
- `ues-change-impact-analysis`
|
|
443
|
+
- `ues-bug-diagnosis`
|
|
444
|
+
- `ues-test-driven-development`
|
|
445
|
+
- `ues-test-verification`
|
|
446
|
+
- `ues-code-review`
|
|
447
|
+
- `ues-research-verification`
|
|
448
|
+
- `ues-long-task-state`
|
|
449
|
+
- `ues-git-safety`
|
|
450
|
+
|
|
451
|
+
Nhóm domain/framework hiện bao gồm React, Next.js, React Native, Node.js, NestJS, Python, Django, FastAPI, .NET, Java/Spring, Flutter, database, REST/API contract, authentication/security, payment, ecommerce, file upload, DevOps, UI/UX, accessibility và performance.
|
|
452
|
+
|
|
453
|
+
---
|
|
454
|
+
|
|
455
|
+
## Tương thích OpenCode
|
|
456
|
+
|
|
457
|
+
### OpenCode 1.x
|
|
458
|
+
|
|
459
|
+
- cài skill, command và subagent;
|
|
460
|
+
- dùng frontmatter tương thích V1;
|
|
461
|
+
- không cài V2 runtime plugin;
|
|
462
|
+
- durable long-task CLI vẫn dùng được;
|
|
463
|
+
- không có V2 `ues.dispatch_task`.
|
|
464
|
+
|
|
465
|
+
### OpenCode 2.x
|
|
466
|
+
|
|
467
|
+
Ngoài resource file, UES cài managed plugin tại:
|
|
468
|
+
|
|
469
|
+
```text
|
|
470
|
+
~/.config/opencode/plugins/ues-router/
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
Plugin cung cấp:
|
|
474
|
+
|
|
475
|
+
- automatic skill routing;
|
|
476
|
+
- context guardrail;
|
|
477
|
+
- permission safety gate;
|
|
478
|
+
- read-only long-task helpers;
|
|
479
|
+
- fresh-session executor runtime qua `ues.dispatch_task`.
|
|
480
|
+
|
|
481
|
+
Điều khiển router:
|
|
482
|
+
|
|
483
|
+
```cmd
|
|
484
|
+
ocskill router status
|
|
485
|
+
ocskill router on --max 4
|
|
486
|
+
ocskill router off
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
---
|
|
490
|
+
|
|
491
|
+
## Safety
|
|
492
|
+
|
|
493
|
+
OpenCode V2 permission gate yêu cầu xác nhận rõ ràng trước các thao tác có tác động lớn, ví dụ:
|
|
494
|
+
|
|
495
|
+
- `git push --force` hoặc `git push -f`;
|
|
496
|
+
- `git reset --hard`;
|
|
497
|
+
- destructive `git clean`;
|
|
498
|
+
- `npm publish`;
|
|
499
|
+
- recursive forced deletion;
|
|
500
|
+
- `DROP` hoặc `TRUNCATE`;
|
|
501
|
+
- Terraform, Kubernetes hoặc Helm action có tác động lớn.
|
|
502
|
+
|
|
503
|
+
Safety hook là lớp bảo vệ deterministic bổ sung, không thay thế review của người dùng.
|
|
504
|
+
|
|
505
|
+
---
|
|
506
|
+
|
|
507
|
+
## Learning loop
|
|
508
|
+
|
|
509
|
+
Phân tích eval trace:
|
|
510
|
+
|
|
511
|
+
```cmd
|
|
512
|
+
ocskill learn analyze . --eval-dir .ues-evals
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
Xem trạng thái:
|
|
516
|
+
|
|
517
|
+
```cmd
|
|
518
|
+
ocskill learn status .
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
Chấp nhận một proposal trước khi thử nghiệm:
|
|
522
|
+
|
|
523
|
+
```cmd
|
|
524
|
+
ocskill learn accept <proposal-id> .
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
Sau khi shadow benchmark chứng minh candidate tốt hơn baseline:
|
|
528
|
+
|
|
529
|
+
```cmd
|
|
530
|
+
ocskill learn promote <proposal-id> . --baseline 0.50 --candidate 0.75 --samples 4
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
Proposal có `shadowRequired` chỉ được đưa trở lại context sau khi vừa được chấp nhận rõ ràng vừa có benchmark improvement đo được.
|
|
534
|
+
|
|
535
|
+
---
|
|
536
|
+
|
|
537
|
+
## Hermes adapter
|
|
538
|
+
|
|
539
|
+
V11 giữ Hermes theo dạng **optional sidecar**, không nhúng Hermes runtime vào core. UES vẫn sở hữu durable state, evidence và safety boundaries:
|
|
540
|
+
|
|
541
|
+
```cmd
|
|
542
|
+
ocskill hermes status
|
|
543
|
+
ocskill hermes prompt <slug> <task> .
|
|
544
|
+
ocskill hermes exec <slug> <task> .
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
Nếu máy không có Hermes CLI, các tính năng Hermes chỉ báo unavailable và không ảnh hưởng đến core UES.
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## UES Control Center
|
|
552
|
+
|
|
553
|
+
Tạo dashboard tĩnh:
|
|
554
|
+
|
|
555
|
+
```cmd
|
|
556
|
+
ocskill dashboard .
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
Chạy dashboard có tự refresh:
|
|
560
|
+
|
|
561
|
+
```cmd
|
|
562
|
+
ocskill dashboard . --serve --port 4177
|
|
563
|
+
```
|
|
564
|
+
|
|
565
|
+
Control Center hiển thị work state, verification receipts, runtime events, learning proposals và eval summary; server mode có safe stale-recovery action.
|
|
566
|
+
|
|
567
|
+
---
|
|
568
|
+
|
|
569
|
+
## Sandbox cho tác vụ ghi song song
|
|
570
|
+
|
|
571
|
+
Tạo isolated Git worktree:
|
|
572
|
+
|
|
573
|
+
```cmd
|
|
574
|
+
ocskill sandbox create <slug> <task-id> .
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
Tích hợp sandbox sau khi đã inspect/verify:
|
|
578
|
+
|
|
579
|
+
```cmd
|
|
580
|
+
ocskill sandbox integrate <worktree-path> .
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
Liệt kê sandbox:
|
|
584
|
+
|
|
585
|
+
```cmd
|
|
586
|
+
ocskill sandbox list .
|
|
587
|
+
```
|
|
588
|
+
|
|
589
|
+
Integration sẽ từ chối ghi đè lên file đang dirty ở root. Safe-wave scheduling chỉ bảo vệ declared file scope. Generated file, lockfile hoặc shared write surface ngầm định vẫn nên được serialize khi cần.
|
|
590
|
+
|
|
591
|
+
---
|
|
592
|
+
|
|
593
|
+
## Evaluation
|
|
594
|
+
|
|
595
|
+
UES 9.0.0 hiện có:
|
|
596
|
+
|
|
597
|
+
- **34 static skill-routing scenarios** phủ 39 skills;
|
|
598
|
+
- **120 V2 router cases** với required routes và negative guards;
|
|
599
|
+
- **20 standard live tasks**;
|
|
600
|
+
- **5 long-horizon tasks**;
|
|
601
|
+
- **8 polyglot tasks** cho Python, Java, .NET, Next.js, React Native, SQL migration, monorepo và generated contract;
|
|
602
|
+
- benchmark matrix baseline-vs-UES nhiều trial;
|
|
603
|
+
- một long task tích hợp tới **15 source modules**.
|
|
604
|
+
|
|
605
|
+
Kiểm tra static routing:
|
|
606
|
+
|
|
607
|
+
```cmd
|
|
608
|
+
npm run evals
|
|
609
|
+
```
|
|
610
|
+
|
|
611
|
+
Kiểm tra V2 router:
|
|
612
|
+
|
|
613
|
+
```cmd
|
|
614
|
+
npm run evals:router
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
Kiểm tra standard hidden graders:
|
|
618
|
+
|
|
619
|
+
```cmd
|
|
620
|
+
npm run evals:live:validate
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
Kiểm tra long-horizon và polyglot suite:
|
|
624
|
+
|
|
625
|
+
```cmd
|
|
626
|
+
npm run evals:long:validate
|
|
627
|
+
npm run evals:polyglot:validate
|
|
628
|
+
npm run evals:v11:validate
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
Chạy benchmark với model thật:
|
|
632
|
+
|
|
633
|
+
```cmd
|
|
634
|
+
ocskill eval-live --model provider/model --trials 3
|
|
635
|
+
ocskill eval-live --suite long --model provider/model --trials 3
|
|
636
|
+
npm run evals:matrix -- --model provider/model --trials 3
|
|
637
|
+
```
|
|
638
|
+
|
|
639
|
+
Live eval hỗ trợ heartbeat, hard timeout, idle timeout và Ctrl+C process-tree cancellation.
|
|
640
|
+
|
|
641
|
+
Với long suite, một run UES chỉ được tính PASS khi hidden grader PASS, durable work state tồn tại, plan approval hợp lệ, toàn bộ task hoàn tất, integration verification PASS và finalization hoàn tất.
|
|
642
|
+
|
|
643
|
+
---
|
|
644
|
+
|
|
645
|
+
## Phát triển và CI
|
|
646
|
+
|
|
647
|
+
Yêu cầu:
|
|
648
|
+
|
|
649
|
+
- Node.js 20+;
|
|
650
|
+
- npm;
|
|
651
|
+
- Git.
|
|
652
|
+
|
|
653
|
+
Cài dependency mà không chạy lifecycle script:
|
|
654
|
+
|
|
655
|
+
```cmd
|
|
656
|
+
npm ci --ignore-scripts
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
Chạy toàn bộ CI:
|
|
660
|
+
|
|
661
|
+
```cmd
|
|
662
|
+
npm run ci
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
Pipeline hiện kiểm tra:
|
|
666
|
+
|
|
667
|
+
```text
|
|
668
|
+
syntax
|
|
669
|
+
→ resource validation
|
|
670
|
+
→ static skill routing
|
|
671
|
+
→ V2 router matrix
|
|
672
|
+
→ standard hidden-grader integrity
|
|
673
|
+
→ long hidden-grader integrity
|
|
674
|
+
→ polyglot hidden-grader integrity
|
|
675
|
+
→ Node tests
|
|
676
|
+
→ npm pack --dry-run
|
|
677
|
+
→ packed global-install smoke
|
|
678
|
+
→ plain one-command install compatibility smoke
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Packed smoke xác minh package cài được từ tarball và kiểm tra OpenCode V2 path, skills, commands, subagents, router plugin, task graph, durable state và model config.
|
|
682
|
+
|
|
683
|
+
---
|
|
684
|
+
|
|
685
|
+
## Cập nhật và gỡ cài đặt
|
|
686
|
+
|
|
687
|
+
Cập nhật lên bản npm mới nhất:
|
|
688
|
+
|
|
689
|
+
```cmd
|
|
690
|
+
ocskill update
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Gỡ UES:
|
|
694
|
+
|
|
695
|
+
```cmd
|
|
696
|
+
ocskill remove
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
UES chỉ quản lý resource có namespace/marker của chính nó và cố gắng giữ nguyên resource không thuộc quyền quản lý của UES.
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
## Tài liệu
|
|
704
|
+
|
|
705
|
+
- [Thiết kế hệ thống](docs/ENGINEERING-DESIGN.md)
|
|
706
|
+
- [Tương thích OpenCode](docs/OPENCODE-COMPAT.md)
|
|
707
|
+
- [Công cụ deterministic](docs/DETERMINISTIC-TOOLS.md)
|
|
708
|
+
- [Evaluation](docs/EVALS.md)
|
|
709
|
+
- [Trace schema](docs/TRACE-SCHEMA.md)
|
|
710
|
+
- [Hướng dẫn publish npm](docs/NPM-PUBLISH.md)
|
|
711
|
+
- [Nguồn nghiên cứu](docs/RESEARCH-SOURCES.md)
|
|
712
|
+
- [V7 Intelligence Runtime](docs/V7-INTELLIGENCE-RUNTIME.md)
|
|
713
|
+
- [V8 Intelligence & Reliability](docs/V8-INTELLIGENCE-RELIABILITY.md)
|
|
714
|
+
- [V9 Speed & Intelligence](docs/V9-SPEED-INTELLIGENCE.md)
|
|
715
|
+
|
|
716
|
+
---
|
|
717
|
+
|
|
718
|
+
## npm
|
|
719
|
+
|
|
720
|
+
Package:
|
|
721
|
+
|
|
722
|
+
```text
|
|
723
|
+
opencode-agent-skill
|
|
724
|
+
```
|
|
725
|
+
|
|
726
|
+
Cài đặt:
|
|
727
|
+
|
|
728
|
+
```cmd
|
|
729
|
+
npm install -g opencode-agent-skill
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
Phiên bản hiện tại:
|
|
733
|
+
|
|
734
|
+
```text
|
|
735
|
+
9.0.0
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
---
|
|
739
|
+
|
|
740
|
+
## License
|
|
741
|
+
|
|
742
|
+
MIT
|