Skip to content

feat: add universal agentic runtime - #1

Draft
wxai-space wants to merge 8 commits into
mainfrom
agent/universal-runtime
Draft

feat: add universal agentic runtime#1
wxai-space wants to merge 8 commits into
mainfrom
agent/universal-runtime

Conversation

@wxai-space

@wxai-space wxai-space commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • replace the coding-only fixed path with one unified dynamic Agentic Loop while retaining fixed LightFlow workflows as an explicit option
  • add auditable built-in web, Playwright/optional DrissionPage browser, Docker-only shell, MCP, Markdown Skills, scoped memory, SQLite FTS5/optional embedding RAG, goals, context compression, and bounded parallel subagents
  • redesign the local UI as a streaming chat with follow-ups, steering, approval dialogs, agent/goal/tool visibility, screenshots, management panels, and diff output only when files change
  • add durable event/tool/approval artifacts, exact-argument approvals, resource budgets, safe read-only degradation when Docker is unavailable, and recovery from invalid LightAgent tool-loop output
  • preserve per-subagent traces and recover exhausted specialist loops with a tool-free evidence synthesis pass
  • run Playwright/Drission backends on a dedicated browser thread so LightAgent's async dispatcher cannot conflict with synchronous browser APIs
  • keep LightAgent 0.9.7 as the runtime; Agentica is design reference only and is not added as a dependency

Safety decisions

  • shell and stdio MCP execute only through the task Docker container; there is no host-shell fallback
  • browser sessions use temporary profiles and block private-network targets/downloads by default
  • Playwright is the default browser backend; DrissionPage remains an optional dependency
  • embedding RAG is disabled by default and falls back to FTS5 on provider failure
  • local model credentials remain in the ignored lightworker.local.yaml and are not included in this PR

Verification

  • pytest -q: 84 passed, 2 skipped (Docker daemon/image unavailable)
  • ruff check .
  • python -m compileall -q src tests
  • uv lock --check
  • uv build --out-dir /tmp/lightworker-dist
  • live OpenAI-compatible task plus follow-up completed successfully
  • Playwright opened https://example.com/, extracted content, and captured a screenshot using an ephemeral profile
  • local /api/health and /api/capabilities checks passed on LightWorker 0.2.0
  • live A-share analysis recovered two exhausted Research subagents (recovered: true) and completed successfully
  • async-dispatched browser_open + browser_extract regression completed successfully against https://example.com/

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.

1 participant