Dify bridges the gap between visual LLM workflow creation and production API deployment — build a workflow in the GUI, get an API endpoint, call it from agent code. For agents: POST /chat-messages to run a chatbot app with conversation history, POST /completion-messages for single-turn text generation, POST /workflows/run for structured workflow execution, and POST /files/upload to add documents to the knowledge base. Dify handles model provider abstraction, RAG retrieval, prompt templating, and context window management. Self-hosted (Docker Compose) or Dify Cloud. 80k+ GitHub stars signals strong community adoption. Confidence is docs-derived.: Comprehensive Agent-Usability Assessment
Docs-backedREST API at {dify_host}/v1. Chat app: POST /chat-messages body: {inputs: {}, query: "user message", conversation_id: null, user: "user-id", response_mode: "blocking"|"streaming"}. Response: {answer: "...", conversation_id: "...", message_id: "..."}. Workflow execution: POST /workflows/run body: {inputs: {"var_name": "value"}, response_mode: "blocking"|"streaming", user: "user-id"}. Response: {workflow_run_id, status, outputs: {...}, elapsed_time}. Text generation: POST /completion-messages body: {inputs: {...}, user: "user-id"}. Knowledge base (datasets): POST /datasets creates a dataset; POST /datasets/{id}/document/create_by_file uploads a file; GET /datasets/{id}/documents lists indexed documents. Streaming: SSE (text/event-stream) with data: {"event":"message", "answer":"...", "id":"..."}.