feat(hermes): add kanban profile routing controls

This commit is contained in:
晴天
2026-05-27 01:14:10 +08:00
parent ae9d6e8844
commit 8703dffc5b
6 changed files with 168 additions and 1 deletions

View File

@@ -183,6 +183,8 @@ const KANBAN_DEFAULTS = {
autoDecomposePerTick: 3,
workerLogRotateBytes: 2097152,
workerLogBackupCount: 1,
orchestratorProfile: '',
defaultAssignee: '',
dispatchStaleTimeoutSeconds: 14400,
}
@@ -1535,6 +1537,14 @@ export function render() {
<span class="hm-field-label">${t('engine.hermesKanbanConfigWorkerLogBackupCount')}</span>
<input id="hm-kanban-worker-log-backup-count" class="hm-input" type="number" inputmode="numeric" min="0" max="100" step="1" value="${esc(kanbanValues.workerLogBackupCount)}" ${disabled ? 'disabled' : ''}>
</label>
<label class="hm-field">
<span class="hm-field-label">${t('engine.hermesKanbanConfigOrchestratorProfile')}</span>
<input id="hm-kanban-orchestrator-profile" class="hm-input" type="text" value="${esc(kanbanValues.orchestratorProfile)}" placeholder="${t('engine.hermesKanbanConfigProfileDefault')}" ${disabled ? 'disabled' : ''}>
</label>
<label class="hm-field">
<span class="hm-field-label">${t('engine.hermesKanbanConfigDefaultAssignee')}</span>
<input id="hm-kanban-default-assignee" class="hm-input" type="text" value="${esc(kanbanValues.defaultAssignee)}" placeholder="${t('engine.hermesKanbanConfigProfileDefault')}" ${disabled ? 'disabled' : ''}>
</label>
<label class="hm-field">
<span class="hm-field-label">${t('engine.hermesKanbanConfigDispatchStaleTimeoutSeconds')}</span>
<input id="hm-kanban-dispatch-stale-timeout-seconds" class="hm-input" type="number" inputmode="numeric" min="0" max="604800" step="60" value="${esc(kanbanValues.dispatchStaleTimeoutSeconds)}" ${disabled ? 'disabled' : ''}>
@@ -3542,6 +3552,8 @@ export function render() {
autoDecomposePerTick: el.querySelector('#hm-kanban-auto-decompose-per-tick')?.value || '3',
workerLogRotateBytes: el.querySelector('#hm-kanban-worker-log-rotate-bytes')?.value || '2097152',
workerLogBackupCount: el.querySelector('#hm-kanban-worker-log-backup-count')?.value || '1',
orchestratorProfile: el.querySelector('#hm-kanban-orchestrator-profile')?.value || '',
defaultAssignee: el.querySelector('#hm-kanban-default-assignee')?.value || '',
dispatchStaleTimeoutSeconds: el.querySelector('#hm-kanban-dispatch-stale-timeout-seconds')?.value || '14400',
}
kanbanSaving = true