Observed since 21 Oct, 08:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
agent-workflow-ui
MCP plugin that gives opencode agents tools for visual interaction (HTML forms, dashboards) with users
MCP plugin для opencode. 53 typed tools (5 UI + 48 workflow).
pip install agent-workflow-ui
Plugin автоматически регистрируется в opencode через awf init.
open_form, read_submit, cancel_form, list_pending_forms, list_templates
awf_add_role, awf_analyze_roles, awf_approve, awf_baseline, awf_brief, awf_check_model_config, awf_commit_workflow, awf_confirm_normalized, awf_continue, awf_current_step, awf_dispatch_todo, awf_feedback, awf_init, awf_kill, awf_load_supervisor_context, awf_metrics, awf_open_increment_planning_form, awf_open_pipeline_dashboard, awf_open_project_setup_form, awf_pipelines, awf_prove_red, awf_reject, awf_report, awf_reset, awf_restore, awf_retry_stage, awf_rollback, awf_run_finish, awf_run_next, awf_run_note, awf_run_revise, awf_run_service_approve, awf_run_service_finish, awf_run_service_start, awf_run_service_status, awf_run_start, awf_run_status, awf_set_goal, awf_start, awf_status, awf_todo_remove, awf_todo_retire, awf_todo_update, awf_tree_sha, awf_unblock, awf_verify_pack, awf_wait_for_event, awf_write_pipeline
Все workflow tools возвращают next_action — guide для supervisor.
src/agent_workflow_ui/
├── server.py # MCP server, 53 tools
├── tools/registry.py # единый реестр registry.TOOLS (53 = 5 UI + 48 workflow)
├── tools/awf.py # 48 awf wrappers (asyncio.to_thread + next_action)
├── tools/forms.py # 5 UI wrappers
├── http_endpoint.py # Form HTTP server
├── opencode_config.py # Model discovery
├── roles_processor.py # Role setup materialization
├── state.py # Form state persistence
└── render/ # Jinja2 templates
Все workflow tools — thin async wrappers над awf.api.*(). Бизнес-логика в awf.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
mcpEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | mcp<2,>=1.0 | runtime |
jinja2Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | jinja2>=3.1 | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pyyaml>=6.0 | runtime |
awfEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | awf>=1.9.0 | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.0; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | pytest-cov>=4.0; extra == "dev" | runtime |
bdist_wheel · 121.52 KB · Python py3
sdist · 109.83 KB · Python source
Shared repository data · GitHub
Observed since 21 Oct, 08:57 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:e2a80697c47fa9a365b2bd09e5d769868a32f3e45fd33e45c5143a1ee7e40bde