codexmate 0.1.8 → 0.1.10
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/cli.js +63 -2696
- package/package.json +1 -1
- package/web-ui/app.js +27 -56
- package/web-ui/index.html +0 -1
- package/web-ui/modules/app.computed.dashboard.mjs +0 -3
- package/web-ui/modules/app.computed.main-tabs.mjs +0 -474
- package/web-ui/modules/app.methods.index.mjs +1 -3
- package/web-ui/modules/app.methods.navigation.mjs +1 -2
- package/web-ui/modules/app.methods.session-actions.mjs +146 -21
- package/web-ui/modules/app.methods.session-browser.mjs +5 -0
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +20 -9
- package/web-ui/modules/i18n/locales/en.mjs +14 -265
- package/web-ui/modules/i18n/locales/ja.mjs +14 -265
- package/web-ui/modules/i18n/locales/vi.mjs +14 -266
- package/web-ui/modules/i18n/locales/zh-tw.mjs +14 -265
- package/web-ui/modules/i18n/locales/zh.mjs +14 -265
- package/web-ui/partials/index/layout-header.html +0 -48
- package/web-ui/partials/index/panel-dashboard.html +0 -21
- package/web-ui/partials/index/panel-sessions.html +30 -2
- package/web-ui/res/web-ui-render.precompiled.js +105 -1193
- package/web-ui/session-helpers.mjs +3 -16
- package/web-ui/styles/sessions-list.css +96 -0
- package/web-ui/styles.css +0 -1
- package/lib/automation.js +0 -404
- package/lib/task-orchestrator.js +0 -938
- package/lib/task-workspace-chat.js +0 -292
- package/web-ui/modules/app.methods.task-orchestration.mjs +0 -895
- package/web-ui/partials/index/panel-orchestration.html +0 -598
- package/web-ui/styles/task-orchestration.css +0 -2979
|
@@ -95,7 +95,6 @@ const vi = Object.freeze({
|
|
|
95
95
|
'tab.config.opencode': 'OpenCode',
|
|
96
96
|
'tab.sessions': 'Phiên',
|
|
97
97
|
'tab.usage': 'Sử dụng',
|
|
98
|
-
'tab.orchestration': 'Tác vụ',
|
|
99
98
|
'tab.market': 'Skills',
|
|
100
99
|
'tab.plugins': 'Plugin',
|
|
101
100
|
'tab.settings': 'Cài đặt',
|
|
@@ -111,7 +110,6 @@ const vi = Object.freeze({
|
|
|
111
110
|
'side.prompts.meta': 'Tệp lời nhắc và preset',
|
|
112
111
|
'side.plugins': 'Plugin',
|
|
113
112
|
'side.system': 'Hệ thống',
|
|
114
|
-
'side.orchestration': 'Tác vụ',
|
|
115
113
|
'side.skills': 'Skills',
|
|
116
114
|
'side.collapse': 'Thu gọn thanh bên',
|
|
117
115
|
'side.expand': 'Mở rộng thanh bên',
|
|
@@ -212,14 +210,12 @@ const vi = Object.freeze({
|
|
|
212
210
|
'opencode.summary.sourceCodexMate': 'CodexMate store',
|
|
213
211
|
'opencode.summary.sourceOpenCode': 'Active OpenCode',
|
|
214
212
|
'side.usage.meta': 'Thống kê / Xu hướng',
|
|
215
|
-
'side.orchestration.meta': 'Kế hoạch / Hàng đợi / Runs',
|
|
216
213
|
|
|
217
214
|
// Header titles
|
|
218
215
|
'kicker.dashboard': 'Doctor',
|
|
219
216
|
'kicker.config': 'Cấu hình',
|
|
220
217
|
'kicker.sessions': 'Phiên',
|
|
221
218
|
'kicker.usage': 'Sử dụng',
|
|
222
|
-
'kicker.orchestration': 'Tác vụ',
|
|
223
219
|
'kicker.market': 'Skills',
|
|
224
220
|
'kicker.plugins': 'Plugin',
|
|
225
221
|
'kicker.docs': 'Tài liệu',
|
|
@@ -231,7 +227,6 @@ const vi = Object.freeze({
|
|
|
231
227
|
'title.config': 'Bảng điều khiển cấu hình cục bộ',
|
|
232
228
|
'title.sessions': 'Phiên & Xuất',
|
|
233
229
|
'title.usage': 'Thống kê & Xu hướng',
|
|
234
|
-
'title.orchestration': 'Luồng tác vụ',
|
|
235
230
|
'title.market': 'Cài đặt & Đồng bộ Skills',
|
|
236
231
|
'title.plugins': 'Plugin & Mẫu',
|
|
237
232
|
'title.docs': 'Cài CLI & Tài liệu',
|
|
@@ -242,7 +237,6 @@ const vi = Object.freeze({
|
|
|
242
237
|
'subtitle.config': 'Quản lý cấu hình và mô hình cục bộ.',
|
|
243
238
|
'subtitle.sessions': 'Duyệt và xuất các phiên.',
|
|
244
239
|
'subtitle.usage': 'Xem sử dụng trong 7/30 ngày gần đây.',
|
|
245
|
-
'subtitle.orchestration': 'Lập kế hoạch, xếp hàng, chạy và xem lại tác vụ cục bộ.',
|
|
246
240
|
'subtitle.market': 'Quản lý skills cục bộ.',
|
|
247
241
|
'subtitle.plugins': 'Quản lý plugin và mẫu tái sử dụng.',
|
|
248
242
|
'subtitle.docs': 'Lệnh cài CLI và hướng dẫn.',
|
|
@@ -250,7 +244,7 @@ const vi = Object.freeze({
|
|
|
250
244
|
'subtitle.prompts': 'Chỉnh sửa AGENTS.md và CLAUDE.md.',
|
|
251
245
|
'prompts.subTab.codex': 'AGENTS.md (Codex)',
|
|
252
246
|
'prompts.subTab.project': 'CLAUDE.md',
|
|
253
|
-
'prompts.subTab.system': 'System Prompt',
|
|
247
|
+
'prompts.subTab.system': 'System Prompt (Pi)',
|
|
254
248
|
'prompts.subTab.presets': 'Kho preset',
|
|
255
249
|
'prompts.presets.title': 'Preset',
|
|
256
250
|
'prompts.presets.hint': 'Quản lý preset.',
|
|
@@ -283,7 +277,6 @@ const vi = Object.freeze({
|
|
|
283
277
|
'prompts.project.detected': 'Đang chỉnh sửa CLAUDE.md trong: {path}',
|
|
284
278
|
|
|
285
279
|
|
|
286
|
-
// Task orchestration readiness
|
|
287
280
|
// Share command prefix
|
|
288
281
|
'settings.sharePrefix.title': 'Tiền tố lệnh chia sẻ',
|
|
289
282
|
'settings.sharePrefix.meta': 'Dùng làm tiền tố cho “Sao chép lệnh chia sẻ” trong Web UI',
|
|
@@ -325,41 +318,6 @@ const vi = Object.freeze({
|
|
|
325
318
|
'modal.providerCache.errorDetails': 'Chi tiết lỗi',
|
|
326
319
|
'modal.providerCache.loadFailed': 'Không tải được bản ghi cache',
|
|
327
320
|
|
|
328
|
-
'orchestration.readiness.target.label': 'Tin nhắn tác vụ',
|
|
329
|
-
'orchestration.readiness.target.done': 'Đã có tin nhắn tác vụ',
|
|
330
|
-
'orchestration.readiness.target.missing': 'Chưa có tin nhắn tác vụ',
|
|
331
|
-
'orchestration.readiness.sequence.label': 'Thứ tự',
|
|
332
|
-
'orchestration.readiness.sequence.missing': 'Gửi yêu cầu 1 trước',
|
|
333
|
-
'orchestration.readiness.sequence.single': 'Hiện chỉ có yêu cầu 1; gửi tiếp để tạo yêu cầu 2.',
|
|
334
|
-
'orchestration.readiness.sequence.multiple': '{count} yêu cầu sẽ chạy theo thứ tự: hoàn tất yêu cầu 1 rồi tiếp tục yêu cầu 2.',
|
|
335
|
-
'orchestration.readiness.engine.label': 'Chiến lược chạy',
|
|
336
|
-
'orchestration.readiness.engine.openaiChat': 'Dùng node tương thích OpenAI Chat',
|
|
337
|
-
'orchestration.readiness.workflow.done': 'Đã chọn {count} Workflow',
|
|
338
|
-
'orchestration.readiness.workflow.missing': 'Chưa chọn Workflow ID',
|
|
339
|
-
'orchestration.readiness.scope.label': 'Phạm vi',
|
|
340
|
-
'orchestration.readiness.scope.done': 'Đã bổ sung ghi chú',
|
|
341
|
-
'orchestration.readiness.scope.writeHint': 'Nên bổ sung ghi chú trước khi ghi',
|
|
342
|
-
'orchestration.readiness.scope.readonlyHint': 'Đang ở chế độ chỉ đọc, có thể thử ngay',
|
|
343
|
-
'orchestration.readiness.preview.label': 'Xem trước',
|
|
344
|
-
'orchestration.readiness.preview.missing': 'Chưa tạo kế hoạch',
|
|
345
|
-
'orchestration.readiness.preview.blocked': 'Có {count} mục chặn',
|
|
346
|
-
'orchestration.readiness.preview.ready': 'Kế hoạch sẵn sàng, {count} node',
|
|
347
|
-
'orchestration.readiness.empty.title': 'Nhập mục tiêu tác vụ',
|
|
348
|
-
'orchestration.readiness.empty.summary': 'Xác định mục tiêu, ràng buộc và tiêu chí nghiệm thu.',
|
|
349
|
-
'orchestration.readiness.workflow.title': 'Thiếu Workflow',
|
|
350
|
-
'orchestration.readiness.workflow.summary': 'Bạn đã chọn chế độ Workflow nhưng chưa chỉ định quy trình tái sử dụng.',
|
|
351
|
-
'orchestration.readiness.preview.title': 'Nên xem trước kế hoạch',
|
|
352
|
-
'orchestration.readiness.preview.summary': 'Mục tiêu đã có. Dùng /plan để kiểm tra node và phụ thuộc.',
|
|
353
|
-
'orchestration.readiness.preview.sequenceSummary': 'Bản nháp đã sẵn sàng với {count} yêu cầu theo thứ tự: hoàn tất yêu cầu 1 rồi tiếp tục yêu cầu 2.',
|
|
354
|
-
'orchestration.readiness.blocked.title': 'Bản xem trước có mục chặn',
|
|
355
|
-
'orchestration.readiness.blocked.summary': 'Kế hoạch hiện còn {count} mục chặn, hãy xử lý chúng trước.',
|
|
356
|
-
'orchestration.readiness.warn.title': 'Có thể chạy nhưng có cảnh báo',
|
|
357
|
-
'orchestration.readiness.warn.summary': 'Kế hoạch đã được tạo, nhưng còn {count} cảnh báo nên xem trước.',
|
|
358
|
-
'orchestration.readiness.dryRun.title': 'Phù hợp để chạy thử',
|
|
359
|
-
'orchestration.readiness.dryRun.summary': 'Bây giờ có thể chạy thử an toàn rồi xem kết quả trước khi chạy thật.',
|
|
360
|
-
'orchestration.readiness.ready.title': 'Sẵn sàng chạy',
|
|
361
|
-
'orchestration.readiness.ready.withFollowUps': '{count} yêu cầu theo thứ tự đã khóa: hoàn tất yêu cầu 1 rồi tiếp tục yêu cầu 2 với ngữ cảnh.',
|
|
362
|
-
'orchestration.readiness.ready.summary': 'Mục tiêu đã rõ. Có thể chạy hoặc đưa vào hàng đợi.',
|
|
363
321
|
|
|
364
322
|
// Settings panel
|
|
365
323
|
'settings.language.sideLabel': 'Ngôn ngữ: {language}',
|
|
@@ -607,15 +565,12 @@ const vi = Object.freeze({
|
|
|
607
565
|
'dashboard.card.config': 'Cấu hình',
|
|
608
566
|
'dashboard.card.sessions': 'Phiên làm việc',
|
|
609
567
|
'dashboard.card.usage': 'Thống kê',
|
|
610
|
-
'dashboard.card.tasks': 'Tác vụ',
|
|
611
568
|
'dashboard.card.skills': 'Skills',
|
|
612
569
|
'dashboard.kv.model': 'Model',
|
|
613
570
|
'dashboard.kv.issue': 'Vấn đề',
|
|
614
571
|
'dashboard.kv.active': 'Hoạt động',
|
|
615
572
|
'dashboard.kv.sessions': 'Phiên làm việc',
|
|
616
573
|
'dashboard.kv.missingModel': 'Thiếu model',
|
|
617
|
-
'dashboard.kv.blockers': 'Vấn đề chặn',
|
|
618
|
-
'dashboard.kv.runs': 'Lần chạy',
|
|
619
574
|
'dashboard.kv.target': 'Mục tiêu',
|
|
620
575
|
'dashboard.kv.root': 'Thư mục gốc',
|
|
621
576
|
'dashboard.status.health': 'Sức khỏe',
|
|
@@ -627,7 +582,6 @@ const vi = Object.freeze({
|
|
|
627
582
|
'dashboard.busy.configApply': 'Áp dụng cấu hình',
|
|
628
583
|
'dashboard.busy.agents': 'Đang lưu agents',
|
|
629
584
|
'dashboard.busy.skills': 'Skills',
|
|
630
|
-
'dashboard.busy.tasks': 'Tác vụ',
|
|
631
585
|
'dashboard.busy.idle': 'Rảnh',
|
|
632
586
|
'dashboard.message.none': 'Không có tin nhắn',
|
|
633
587
|
'dashboard.sessionSource.codex': 'Codex',
|
|
@@ -654,7 +608,6 @@ const vi = Object.freeze({
|
|
|
654
608
|
'dashboard.none': 'Không có',
|
|
655
609
|
'dashboard.sessions.count': '{count} phiên',
|
|
656
610
|
'dashboard.usage.range': 'Phạm vi {value}',
|
|
657
|
-
'dashboard.tasks.queue': 'chạy {running} / hàng đợi {queued}',
|
|
658
611
|
'dashboard.skills.count': 'đã cài {installed} / có thể nhập {importable}',
|
|
659
612
|
'dashboard.providersHealth.title': 'Sức khỏe nhà cung cấp',
|
|
660
613
|
'dashboard.providersHealth.current': '(hiện tại)',
|
|
@@ -872,6 +825,19 @@ const vi = Object.freeze({
|
|
|
872
825
|
'sessions.copyResume': 'Sao chép lệnh tiếp tục',
|
|
873
826
|
'sessions.preview.refresh': 'Làm mới nội dung',
|
|
874
827
|
'sessions.preview.loading': 'Đang tải...',
|
|
828
|
+
'sessions.batch.select': 'Xóa hàng loạt',
|
|
829
|
+
'sessions.batch.exit': 'Thoát chọn',
|
|
830
|
+
'sessions.batch.selectAll': 'Chọn tất cả',
|
|
831
|
+
'sessions.batch.unselectAll': 'Bỏ chọn tất cả',
|
|
832
|
+
'sessions.batch.deleteSelected': 'Xóa đã chọn',
|
|
833
|
+
'sessions.batch.deleteSelectedN': 'Xóa đã chọn ({count})',
|
|
834
|
+
'sessions.batch.deletingSelected': 'Đang xóa...',
|
|
835
|
+
'sessions.batch.deleteConfirm': 'Xóa {count} phiên đã chọn?',
|
|
836
|
+
'sessions.batch.deleteConfirmHard': 'Xóa vĩnh viễn {count} phiên đã chọn? Không thể hoàn tác.',
|
|
837
|
+
'sessions.batch.deleteHint': 'Đã chọn {count}',
|
|
838
|
+
'sessions.batch.emptySelection': 'Hãy chọn phiên cần xóa trước',
|
|
839
|
+
'sessions.batch.partialFail': '{failed} mục xóa thất bại, giữ nguyên lựa chọn',
|
|
840
|
+
'sessions.batch.allFail': 'Xóa thất bại, vui lòng thử lại',
|
|
875
841
|
'sessions.preview.deleteHard': 'Xóa vĩnh viễn',
|
|
876
842
|
'sessions.preview.moveToTrash': 'Chuyển vào thùng rác',
|
|
877
843
|
'sessions.preview.deleting': 'Đang xóa...',
|
|
@@ -1132,219 +1098,6 @@ const vi = Object.freeze({
|
|
|
1132
1098
|
'sessions.source.all': 'Tất cả',
|
|
1133
1099
|
'usage.range.7d.short': '7 ngày qua',
|
|
1134
1100
|
'usage.range.30d.short': '30 ngày qua',
|
|
1135
|
-
'orchestration.queueStats': 'Hàng đợi: {running} đang chạy · {queued} đang chờ',
|
|
1136
|
-
'orchestration.rebuilding.status': 'Tạm dừng',
|
|
1137
|
-
'orchestration.rebuilding.title': 'Đang xây lại',
|
|
1138
|
-
'orchestration.rebuilding.body': 'Lối vào điều phối tác vụ chỉ hiển thị và hiện chưa thể bấm.',
|
|
1139
|
-
'orchestration.hero.kicker': 'Điều phối tác vụ',
|
|
1140
|
-
'orchestration.hero.title': 'Điều phối tác vụ',
|
|
1141
|
-
'orchestration.hero.subtitle': 'Lập kế hoạch, chạy và theo dõi tác vụ với ngữ cảnh workspace/thread.',
|
|
1142
|
-
'orchestration.quick.kicker': 'Nhập tác vụ',
|
|
1143
|
-
'orchestration.quick.title': 'Nhập mục tiêu tác vụ',
|
|
1144
|
-
'orchestration.quick.subtitle': 'Mô tả mục tiêu, ràng buộc và tiêu chí nghiệm thu. Dùng /plan để xem trước trước khi chạy.',
|
|
1145
|
-
'orchestration.quick.caption': 'Enter thêm yêu cầu; /plan xem trước; Bắt đầu chạy sẽ lập kế hoạch và chạy.',
|
|
1146
|
-
'orchestration.quick.templates.reviewFix.meta': 'Sửa góp ý review và kiểm thử hồi quy.',
|
|
1147
|
-
'orchestration.quick.templates.planOnly.meta': 'Chỉ điều tra và lập kế hoạch, không ghi file.',
|
|
1148
|
-
'orchestration.quick.templates.workflowBatch.meta': 'Dùng Workflow cục bộ cho kiểm tra lặp lại.',
|
|
1149
|
-
'orchestration.chat.input.label': 'Tin nhắn tác vụ',
|
|
1150
|
-
'orchestration.chat.input.placeholder': 'Mô tả mục tiêu, ràng buộc và tiêu chí nghiệm thu. Gõ /plan để xem trước.',
|
|
1151
|
-
'orchestration.chat.input.hint': 'Workspace, thread và chế độ chạy có thể chỉnh trong Nâng cao.',
|
|
1152
|
-
'orchestration.chat.context.aria': 'Ngữ cảnh tác vụ',
|
|
1153
|
-
'orchestration.chat.context.workspace.auto': 'Tự phát hiện workspace',
|
|
1154
|
-
'orchestration.chat.context.workspace.value': 'Workspace {value}',
|
|
1155
|
-
'orchestration.chat.context.thread.auto': 'Tự tạo thread',
|
|
1156
|
-
'orchestration.chat.context.thread.value': 'Thread {value}',
|
|
1157
|
-
'orchestration.chat.context.sequence.empty': 'Thứ tự: chờ yêu cầu 1',
|
|
1158
|
-
'orchestration.chat.context.sequence.value': 'Thứ tự: {count} yêu cầu',
|
|
1159
|
-
'orchestration.privacy.workspace.selected': 'Đã chọn workspace',
|
|
1160
|
-
'orchestration.privacy.thread.selected': 'Đã chọn thread',
|
|
1161
|
-
'orchestration.chat.thread.aria': 'Cuộc trò chuyện tác vụ',
|
|
1162
|
-
'orchestration.chat.input.send': 'Thêm yêu cầu',
|
|
1163
|
-
'orchestration.chat.input.discuss': 'Xem trước kế hoạch',
|
|
1164
|
-
'orchestration.chat.input.work': 'Bắt đầu chạy',
|
|
1165
|
-
'orchestration.chat.input.firstHint': 'Nội dung này sẽ thành yêu cầu 1.',
|
|
1166
|
-
'orchestration.chat.input.sequenceHint': 'Gửi bây giờ sẽ thành yêu cầu {count}.',
|
|
1167
|
-
'orchestration.chat.input.workHint': 'Nội dung hiện tại sẽ được đưa vào trước khi chạy.',
|
|
1168
|
-
'orchestration.chat.input.workCaption': 'Enter thêm yêu cầu; /plan chỉ xem trước; Bắt đầu chạy sẽ lập kế hoạch và chạy.',
|
|
1169
|
-
'orchestration.chat.assistant.contextLabel': 'Ngữ cảnh trước đó',
|
|
1170
|
-
'orchestration.chat.assistant.contextFallback': 'Đã chọn một tác vụ cũ. Khi tiếp tục, Codexmate sẽ kế thừa thread và workspace của tác vụ đó.',
|
|
1171
|
-
'orchestration.chat.assistant.resultLabel': 'Kết quả',
|
|
1172
|
-
'orchestration.chat.assistant.filesSummary': 'Thao tác file: {files}',
|
|
1173
|
-
'orchestration.chat.assistant.readyLabel': 'Codexmate',
|
|
1174
|
-
'orchestration.chat.assistant.empty': 'Gửi yêu cầu đầu tiên. Nếu còn yêu cầu thứ hai, hãy gửi tiếp; Codexmate sẽ giữ ngữ cảnh và xử lý theo thứ tự.',
|
|
1175
|
-
'orchestration.chat.assistant.planLabel': 'Xem trước kế hoạch',
|
|
1176
|
-
'orchestration.chat.assistant.planSummary': 'Đã tạo kế hoạch: {nodes} node trong {waves} lượt.',
|
|
1177
|
-
'orchestration.chat.assistant.sequenceReady': 'Đã nhận nhiều yêu cầu. Codexmate sẽ hoàn tất yêu cầu 1 trước, rồi tiếp tục với ngữ cảnh còn lại.',
|
|
1178
|
-
'orchestration.chat.assistant.singleReady': 'Đã nhận yêu cầu đầu tiên. Có thể thêm yêu cầu 2 hoặc xem trước và chạy ngay.',
|
|
1179
|
-
'orchestration.chat.user.step': 'Yêu cầu {count}',
|
|
1180
|
-
'orchestration.chat.meta.thread': 'Thread {value}',
|
|
1181
|
-
'orchestration.chat.meta.workspace': 'Workspace {value}',
|
|
1182
|
-
'orchestration.chat.meta.order': 'Chạy tuần tự · giữ ngữ cảnh',
|
|
1183
|
-
'orchestration.chat.meta.first': 'Hoàn tất mục này trước',
|
|
1184
|
-
'orchestration.chat.meta.afterPrevious': 'Tiếp tục sau khi yêu cầu trước hoàn tất',
|
|
1185
|
-
'orchestration.chat.meta.contextKept': 'Ngữ cảnh được giữ trong thread',
|
|
1186
|
-
'orchestration.chat.meta.previewNext': 'Tiếp theo: xem trước kế hoạch',
|
|
1187
|
-
'orchestration.quick.checklist.title': 'Kiểm tra sẵn sàng',
|
|
1188
|
-
'orchestration.quick.checklist.subtitle': 'Chỉ hiển thị blocker ảnh hưởng tới việc chạy.',
|
|
1189
|
-
'orchestration.quick.status.title': 'Bản nháp hiện tại',
|
|
1190
|
-
'orchestration.workspace.aria': 'Workspace và bản ghi',
|
|
1191
|
-
'orchestration.workspace.title': 'Workspace',
|
|
1192
|
-
'orchestration.workspace.subtitle': 'Chọn dự án và tiếp tục bản ghi.',
|
|
1193
|
-
'orchestration.workspace.selector': 'Bộ chọn workspace',
|
|
1194
|
-
'orchestration.workspace.counts': '{runs} runs · {queue} queue',
|
|
1195
|
-
'orchestration.workspace.newSession': '+ Mới',
|
|
1196
|
-
'orchestration.workspace.sessions.title': 'Bản ghi',
|
|
1197
|
-
'orchestration.workspace.sessions.empty.title': 'Chưa có bản ghi cho dự án này',
|
|
1198
|
-
'orchestration.workspace.sessions.empty.subtitle': 'Tạo bản ghi mới hoặc làm mới để tải lần chạy hiện có.',
|
|
1199
|
-
'orchestration.workspace.sessions.queueTitle': 'Mục hàng đợi',
|
|
1200
|
-
'orchestration.workspace.sessions.runTitle': 'Bản ghi chạy',
|
|
1201
|
-
'orchestration.workspace.sessions.detailsHidden': 'Đã ẩn chi tiết',
|
|
1202
|
-
'orchestration.workspace.pathHidden': 'Đã ẩn đường dẫn',
|
|
1203
|
-
'orchestration.agent.aria': 'Trạng thái điều phối tác vụ',
|
|
1204
|
-
'orchestration.agent.kicker': 'Điều phối tác vụ',
|
|
1205
|
-
'orchestration.agent.title': 'Console điều phối tác vụ',
|
|
1206
|
-
'orchestration.agent.subtitle': 'Chọn workspace và bản ghi, chạy tác vụ và xem chi tiết thực thi.',
|
|
1207
|
-
'orchestration.agent.state.ready': 'Ready',
|
|
1208
|
-
'orchestration.agent.state.planning': 'Planning',
|
|
1209
|
-
'orchestration.agent.state.running': 'Running',
|
|
1210
|
-
'orchestration.agent.surface.workspace': 'Workspace',
|
|
1211
|
-
'orchestration.agent.surface.session': 'Context',
|
|
1212
|
-
'orchestration.agent.surface.mode': 'Mode',
|
|
1213
|
-
'orchestration.agent.surface.trace': 'Trace',
|
|
1214
|
-
'orchestration.agent.surface.runs': 'runs',
|
|
1215
|
-
'orchestration.agent.surface.queue': 'queued',
|
|
1216
|
-
'orchestration.agent.trace.title': 'Live trace',
|
|
1217
|
-
'orchestration.agent.trace.plan': 'Plan nodes',
|
|
1218
|
-
'orchestration.agent.trace.queue': 'Queue',
|
|
1219
|
-
'orchestration.agent.trace.runs': 'Runs',
|
|
1220
|
-
'orchestration.agent.trace.nodes': 'Run nodes',
|
|
1221
|
-
'orchestration.draft.reset': 'Đặt lại bản nháp',
|
|
1222
|
-
'orchestration.summary.aria': 'Tóm tắt điều phối tác vụ',
|
|
1223
|
-
'orchestration.summary.running': 'Đang chạy',
|
|
1224
|
-
'orchestration.summary.queued': 'Đang chờ',
|
|
1225
|
-
'orchestration.summary.runs': 'Lần chạy',
|
|
1226
|
-
'orchestration.step1.title': 'Bắt đầu với kết quả',
|
|
1227
|
-
'orchestration.step1.subtitle': 'Chỉ bao gồm những gì ảnh hưởng đến thực thi.',
|
|
1228
|
-
'orchestration.templates.title': 'Ví dụ nhanh',
|
|
1229
|
-
'orchestration.templates.reviewFix.label': 'Sửa review + regression',
|
|
1230
|
-
'orchestration.templates.reviewFix.target': 'Xử lý comment review PR hiện tại và thêm test regression',
|
|
1231
|
-
'orchestration.templates.reviewFix.notes': 'Tránh refactor không liên quan; cung cấp kết quả xác minh',
|
|
1232
|
-
'orchestration.templates.reviewFix.followUps': 'Xử lý comment review mới\\nCập nhật tóm tắt PR',
|
|
1233
|
-
'orchestration.templates.planOnly.label': 'Chỉ lập kế hoạch',
|
|
1234
|
-
'orchestration.templates.planOnly.target': 'Điều tra nguyên nhân gốc rễ và đề xuất kế hoạch thực thi mà không thay đổi code',
|
|
1235
|
-
'orchestration.templates.planOnly.notes': 'Tập trung vào nguyên nhân gốc, phạm vi ảnh hưởng và vùng rủi ro',
|
|
1236
|
-
'orchestration.templates.workflowBatch.label': 'Batch workflow',
|
|
1237
|
-
'orchestration.templates.workflowBatch.target': 'Chạy một bộ kiểm tra cố định bằng workflow và tóm tắt kết quả',
|
|
1238
|
-
'orchestration.templates.workflowBatch.workflowIds': 'diagnose-config\\nsafe-provider-switch',
|
|
1239
|
-
'orchestration.templates.workflowBatch.notes': 'Đưa ra kết luận thống nhất; tránh diễn giải lặp lại',
|
|
1240
|
-
'orchestration.fields.target': 'Tin nhắn tác vụ',
|
|
1241
|
-
'orchestration.fields.target.placeholder': 'vd: sửa comment review PR hiện tại, thêm test regression và tránh module không liên quan',
|
|
1242
|
-
'orchestration.fields.target.hint': 'Một tin nhắn kiểu chat là đủ: kết quả, ràng buộc và tiêu chí chấp nhận.',
|
|
1243
|
-
'orchestration.engine.openaiChat': 'OpenAI Chat',
|
|
1244
|
-
'orchestration.engine.workflow': 'Workflow',
|
|
1245
|
-
'orchestration.runMode.write': 'Ghi',
|
|
1246
|
-
'orchestration.runMode.readOnly': 'Chỉ đọc',
|
|
1247
|
-
'orchestration.runMode.dryRun': 'Thử nghiệm',
|
|
1248
|
-
'orchestration.pills.sequenceCount': 'Yêu cầu tuần tự {count}',
|
|
1249
|
-
'orchestration.pills.hasTitle': 'Có tiêu đề',
|
|
1250
|
-
'orchestration.pills.workflowCount': 'Workflows {count}',
|
|
1251
|
-
'orchestration.pills.planNodes': 'Kế hoạch {count} nút',
|
|
1252
|
-
'orchestration.step2.title': 'Chọn cách chạy',
|
|
1253
|
-
'orchestration.step2.subtitle': 'Tùy chọn phổ biến hiển thị; phần còn lại trong Nâng cao.',
|
|
1254
|
-
'orchestration.fields.engine': 'Engine',
|
|
1255
|
-
'orchestration.fields.runMode': 'Chế độ chạy',
|
|
1256
|
-
'orchestration.advanced.title': 'Nâng cao',
|
|
1257
|
-
'orchestration.advanced.open': 'Cài đặt',
|
|
1258
|
-
'orchestration.fields.title': 'Tiêu đề',
|
|
1259
|
-
'orchestration.fields.title.placeholder': 'Tùy chọn. Mặc định là tiêu đề suy ra từ mục tiêu.',
|
|
1260
|
-
'orchestration.fields.notes': 'Ghi chú',
|
|
1261
|
-
'orchestration.fields.notes.placeholder': 'vd: Chỉ thay đổi tăng dần; không viết lại kiến trúc',
|
|
1262
|
-
'orchestration.fields.notes.hint': 'Thêm ranh giới, ràng buộc, quy tắc style hoặc yêu cầu xác minh.',
|
|
1263
|
-
'orchestration.fields.workspacePath': 'Workspace path',
|
|
1264
|
-
'orchestration.fields.workspacePath.placeholder': 'e.g. /home/me/project',
|
|
1265
|
-
'orchestration.fields.workspacePath.hint': 'Plan, run, and queue use this cwd; leave blank to use the server current directory.',
|
|
1266
|
-
'orchestration.fields.threadId': 'Task thread ID',
|
|
1267
|
-
'orchestration.fields.threadId.placeholder': 'Optional; generated automatically when empty',
|
|
1268
|
-
'orchestration.fields.threadId.hint': 'Use the same thread for follow-up requirements, retries, and queue tracking.',
|
|
1269
|
-
'orchestration.fields.followUps': 'Theo dõi (mỗi dòng một mục)',
|
|
1270
|
-
'orchestration.fields.followUps.placeholder': 'vd:\\nXử lý comment review mới\\nThêm test regression',
|
|
1271
|
-
'orchestration.fields.concurrency': 'Đồng thời',
|
|
1272
|
-
'orchestration.fields.concurrency.hint': 'Bắt đầu với 1–2 cho tác vụ phức tạp.',
|
|
1273
|
-
'orchestration.fields.autoFixRounds': 'Tự động sửa',
|
|
1274
|
-
'orchestration.fields.autoFixRounds.hint': 'Thử lại vài vòng sau khi thất bại.',
|
|
1275
|
-
'orchestration.fields.workflowIds': 'Workflow ID (mỗi dòng một ID)',
|
|
1276
|
-
'orchestration.fields.workflowIds.placeholder': 'vd:\\ndiagnose-config\\nsafe-provider-switch',
|
|
1277
|
-
'orchestration.fields.workflowIds.hint': 'Bắt buộc trong chế độ Workflow. {count} có sẵn cục bộ.',
|
|
1278
|
-
'orchestration.workflow.stepCount': '{count} bước',
|
|
1279
|
-
'orchestration.step3.title': 'Xem trước, rồi thực thi',
|
|
1280
|
-
'orchestration.step3.subtitle': 'Xác nhận kế hoạch, rồi quyết định chạy ngay hoặc xếp hàng.',
|
|
1281
|
-
'orchestration.actions.planning': 'Đang lập kế hoạch...',
|
|
1282
|
-
'orchestration.actions.previewOnly': 'Chỉ xem trước',
|
|
1283
|
-
'orchestration.actions.preparing': 'Đang chuẩn bị...',
|
|
1284
|
-
'orchestration.actions.generatePlan': 'Gửi /plan',
|
|
1285
|
-
'orchestration.actions.planAndRun': 'Xem /plan rồi chạy',
|
|
1286
|
-
'orchestration.actions.processing': 'Đang xử lý...',
|
|
1287
|
-
'orchestration.actions.queueAndStart': 'Xếp hàng & bắt đầu',
|
|
1288
|
-
'orchestration.actions.caption': 'Khi chạy, kế hoạch được làm mới nếu cần; dùng hàng đợi cho tác vụ hàng loạt.',
|
|
1289
|
-
'orchestration.stage.title': 'Giai đoạn tác vụ',
|
|
1290
|
-
'orchestration.stage.subtitle': 'Nhập mục tiêu, xem trước kế hoạch, rồi chạy.',
|
|
1291
|
-
'orchestration.stage.pill.target': 'Viết tin nhắn',
|
|
1292
|
-
'orchestration.stage.pill.preview': 'Xem trước',
|
|
1293
|
-
'orchestration.stage.pill.run': 'Chạy hoặc xếp hàng',
|
|
1294
|
-
'orchestration.plan.title': 'Xem trước kế hoạch',
|
|
1295
|
-
'orchestration.plan.subtitle': 'Xác nhận node, lượt chạy và phụ thuộc.',
|
|
1296
|
-
'orchestration.plan.summary.nodes': 'Nút',
|
|
1297
|
-
'orchestration.plan.summary.waves': 'Đợt',
|
|
1298
|
-
'orchestration.plan.summary.engine': 'Engine',
|
|
1299
|
-
'orchestration.plan.summary.threadId': 'Thread ID',
|
|
1300
|
-
'orchestration.plan.summary.cwd': 'Workspace',
|
|
1301
|
-
'orchestration.plan.node.write': 'ghi',
|
|
1302
|
-
'orchestration.plan.node.readOnly': 'chỉ đọc',
|
|
1303
|
-
'orchestration.labels.dependencies': 'Phụ thuộc: ',
|
|
1304
|
-
'orchestration.labels.error': 'Lỗi: ',
|
|
1305
|
-
'orchestration.workbench.title': 'Bàn làm việc',
|
|
1306
|
-
'orchestration.workbench.subtitle': 'Hiển thị hàng đợi, lịch sử chạy và chi tiết node.',
|
|
1307
|
-
'orchestration.queue.start': 'Bắt đầu hàng đợi',
|
|
1308
|
-
'orchestration.queue.starting': 'Đang bắt đầu...',
|
|
1309
|
-
'orchestration.workbench.tabs.aria': 'Chế độ xem bàn làm việc',
|
|
1310
|
-
'orchestration.workbench.tabs.queue': 'Hàng đợi {count}',
|
|
1311
|
-
'orchestration.workbench.tabs.runs': 'Lần chạy {count}',
|
|
1312
|
-
'orchestration.workbench.tabs.detail': 'Chi tiết lần chạy',
|
|
1313
|
-
'orchestration.workbench.queueCount': '{count} đang chờ',
|
|
1314
|
-
'orchestration.workbench.ready': 'Sẵn sàng',
|
|
1315
|
-
'orchestration.queue.empty.title': 'Không có tác vụ trong hàng đợi',
|
|
1316
|
-
'orchestration.queue.empty.subtitle': 'Xếp hàng tác vụ hàng loạt trước, rồi bắt đầu runner.',
|
|
1317
|
-
'orchestration.runs.empty.title': 'Chưa có lần chạy nào',
|
|
1318
|
-
'orchestration.runs.empty.subtitle': 'Các lần chạy gần đây sẽ xuất hiện sau khi thực thi.',
|
|
1319
|
-
'orchestration.detail.refresh': 'Làm mới chi tiết',
|
|
1320
|
-
'orchestration.detail.retry': 'Thử lại',
|
|
1321
|
-
'orchestration.detail.retrying': 'Đang thử lại...',
|
|
1322
|
-
'orchestration.detail.continueThread': 'Continue thread',
|
|
1323
|
-
'orchestration.detail.empty.title': 'Chọn một lần chạy để xem chi tiết',
|
|
1324
|
-
'orchestration.detail.empty.subtitle': 'Chế độ xem này hiển thị trạng thái nút, tóm tắt và log.',
|
|
1325
|
-
'orchestration.detail.summary.status': 'Trạng thái',
|
|
1326
|
-
'orchestration.detail.summary.duration': 'Thời gian',
|
|
1327
|
-
'orchestration.detail.summary.nodes': 'Nút',
|
|
1328
|
-
'orchestration.detail.summary.summary': 'Tóm tắt',
|
|
1329
|
-
'orchestration.detail.context.aria': 'Ngữ cảnh lượt chạy tác vụ',
|
|
1330
|
-
'orchestration.detail.context.run': 'Run ID',
|
|
1331
|
-
'orchestration.detail.node.meta': '{id} · thử {attempts} lần · tự sửa {autoFix}',
|
|
1332
|
-
'orchestration.openai.status.title': 'Cấu hình chạy OpenAI Chat',
|
|
1333
|
-
'orchestration.openai.status.subtitle': 'Node tác vụ dùng provider OpenClaw hiện tại; kiểm tra base URL, API key và model trước khi chạy.',
|
|
1334
|
-
'orchestration.openai.status.provider': 'Provider',
|
|
1335
|
-
'orchestration.openai.status.model': 'Model',
|
|
1336
|
-
'orchestration.openai.status.endpoint': 'Endpoint',
|
|
1337
|
-
'orchestration.openai.status.apiKey': 'API Key',
|
|
1338
|
-
'orchestration.openai.status.headers': 'Headers thêm',
|
|
1339
|
-
'orchestration.openai.status.configured': 'Đã cấu hình',
|
|
1340
|
-
'orchestration.openai.status.missing': 'Thiếu',
|
|
1341
|
-
'orchestration.openai.status.notSet': 'Chưa đặt',
|
|
1342
|
-
'orchestration.openai.status.notLoaded': 'Làm mới để tải trạng thái sẵn sàng OpenAI Chat.',
|
|
1343
|
-
'orchestration.openai.status.configure': 'Cấu hình OpenAI Chat',
|
|
1344
|
-
'orchestration.detail.node.output': 'AI output',
|
|
1345
|
-
'orchestration.detail.node.endpoint': 'Endpoint: ',
|
|
1346
|
-
'orchestration.detail.node.materializedFiles': 'File đã tạo:',
|
|
1347
|
-
'orchestration.detail.node.workspaceFiles': 'File workspace:',
|
|
1348
1101
|
'skills.localLabel': '{target} / Skills cục bộ',
|
|
1349
1102
|
'skills.counts': '{installed} đã cài · {importable} có thể nhập',
|
|
1350
1103
|
'status.currentSource': 'Nguồn hiện tại',
|
|
@@ -1352,11 +1105,6 @@ const vi = Object.freeze({
|
|
|
1352
1105
|
'status.range': 'Phạm vi',
|
|
1353
1106
|
'status.totalSessions': 'Tổng phiên',
|
|
1354
1107
|
'status.totalMessages': 'Tổng tin nhắn',
|
|
1355
|
-
'status.engine': 'Engine',
|
|
1356
|
-
'status.concurrency': 'Đồng thời',
|
|
1357
|
-
'status.running': 'Đang chạy',
|
|
1358
|
-
'status.queued': 'Đang chờ',
|
|
1359
|
-
'status.runs': 'Lần chạy',
|
|
1360
1108
|
'status.currentTarget': 'Mục tiêu hiện tại',
|
|
1361
1109
|
'status.localSkills': 'Skills cục bộ',
|
|
1362
1110
|
'status.importable': 'Có thể nhập',
|