Skip to content

feat(workflow): LLM retry/timeout, node run UI, host forensics plugins#85

Merged
duguwanglong merged 9 commits intomainfrom
feat/host-inspection-workflow-and-node-execution
Apr 15, 2026
Merged

feat(workflow): LLM retry/timeout, node run UI, host forensics plugins#85
duguwanglong merged 9 commits intomainfrom
feat/host-inspection-workflow-and-node-execution

Conversation

@xiami762
Copy link
Copy Markdown
Contributor

  • LLMClient.ask: optional timeout_s, max_retries, retry_delay_s; propagate via REPL LLM proxy

  • Rex prompt_builder: route host-forensics-fast subagent

  • WebUI: share latest execution across Run tab and node drawer; single-node run, runtime I/O, expanded code editor; API + i18n

  • Add project plugins: host-forensics-fast agent, loop_host_forensics_fast workflow

- LLMClient.ask: optional timeout_s, max_retries, retry_delay_s; propagate via REPL LLM proxy

- Rex prompt_builder: route host-forensics-fast subagent

- WebUI: share latest execution across Run tab and node drawer; single-node run, runtime I/O, expanded code editor; API + i18n

- Add project plugins: host-forensics-fast agent, loop_host_forensics_fast workflow

- Tests: workflow LLM, agent, SSH script, RunTab, NodeInfoPanel

Made-with: Cursor
@xiami762 xiami762 requested a review from duguwanglong April 10, 2026 06:46
zhougongyan and others added 8 commits April 10, 2026 17:08
- Pass through ssh_user from init; build ssh_target as user@host when set

- Skip double-prefix when host list item already contains user@

- Include ssh_user/ssh_target in triage_results, JSON bundle, and raw export

- Refresh workflow.md inputs docs and sampleInputs

Made-with: Cursor
Align WorkflowEngine and run_workflow defaults for heavier nodes (e.g. LLM/subworkflow).

Made-with: Cursor
…t finalize

- Write each host triage to host_triage/*.md; keep triage_results as light index only
- Replace LLM finalize with index, manifest, and JSON bundle to avoid timeout at scale
- Update meta/workflow.md descriptions; restore generic sampleInputs (no real IPs)

Made-with: Cursor
… samples

Replace example hostnames and ssh_user with <host-1>/<host-2>/<ssh-user>
in workflow metadata and documentation. Ensure workflow.json ends with newline.

Made-with: Cursor
- Build ToolContext for workflow run and single-node execution with optional
  sessionId, messageId, and agent; create hidden temp parent session when absent
- Filter sessions with hideFromSessionManager from session list API
- Wire PythonExecRuntime with tool registry for run-node path

Made-with: Cursor
- Extract Verdict from subagent markdown; persist in triage_results and per-host md
- Finalize step aggregates verdict counts in index, manifest, results JSON, summary
- Document behavior in workflow.md; add unit tests for verdict extraction

Made-with: Cursor
- loop_host_forensics_fast: ssh_host_cmd preflight, one retry on timeout,
  failure_category in triage_results, batch_host_triage_results.csv
- runner: _resolve_workflow_node_timeout applies metadata node_timeout_s when
  caller passes default 300s
- tests: workflow code snippets and node timeout resolution

Made-with: Cursor
@duguwanglong duguwanglong merged commit cac1244 into main Apr 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants