How lwh-labs/omni-agent-workshop works
Omni-Agent Workshop is a multi-agent platform built on AstronAgent. Its principal flow is configuring an agent or visual workflow, submitting text or files, executing workflow nodes such as branching, OCR and model processing, then returning results or generating speech and digital-human output. The README documents these product capabilities; sampled source confirms workflow authoring/protocol handling, DSL execution, model selection, chat streaming, tool management and file/knowledge operations. Several integrations and runtime links are documented but their callers were not sampled, so uncertain wiring is omitted.
Main entry points: dsl_engine.py DSL engine · ToolBoxService.java Tool registry · FileInfoV2Service.java Knowledge files · WorkflowService.java Workflow authoring
Components 21
Agent authoring
- Workflow authoring
console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/service/workflow/WorkflowService.java - Model selection API
console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/controller/common/LLMController.java - Model catalog
console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/service/model/LLMService.java - Tool registry
console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/service/tool/ToolBoxService.java - Tool and agent data
- Redis cache
Workflow execution
- DSL engine
core/workflow/engine/dsl_engine.py - Engine cache
core/workflow/cache/engine.py - Resume workflow
core/workflow/engine/dsl_engine.py - Branch and OCR
core/workflow/engine/dsl_engine.py - Model processing
core/workflow/engine/dsl_engine.py - Workflow output
core/workflow/engine/dsl_engine.py - Workflow database
Files and knowledge
- Knowledge files
console/backend/toolkit/src/main/java/com/iflytek/astron/console/toolkit/service/repo/FileInfoV2Service.java - RAGFlow service
core/knowledge/infra/ragflow/ragflow_client.py - Object storage
core/common/service/oss/ifly_storage_gateway_service.py
Chat and integrations
- Streaming chat
console/backend/hub/src/main/java/com/iflytek/astron/console/hub/service/SparkChatService.java - Model provider
- Speech synthesis
- Digital human
Other components
- User
Connections 21
- User → Workflow authoring: configure workflow
- Workflow authoring → DSL engine: publish protocol
- User → Model selection API: select model
- Model selection API → Model catalog: request catalog
- Model catalog → Redis cache: read cache
- User → Tool registry: manage tools
- Tool registry → Tool and agent data: store metadata
- Tool registry → Redis cache: cache auth
- DSL engine → Engine cache: cache engine
- User → Resume workflow: submit résumé
- Resume workflow → Branch and OCR: execute nodes
- Branch and OCR → Model processing: route extracted text
- Model processing → Workflow output: produce result
- DSL engine → Workflow database: persist workflow data
- User → Knowledge files: upload documents
- Knowledge files → RAGFlow service: manage documents
- Knowledge files → Object storage: store files
- User → Streaming chat: send chat
- Streaming chat → Model provider: stream completion
- DSL engine → Speech synthesis: invoke synthesis
- Speech synthesis → Digital human: provide audio