How lrj021029/audio-book works
This is a Chinese audiobook customer-service platform: an agent uses the workbench to manage a session and ask about a user’s orders, listening, membership, refunds, or support; the service plans and validates a dialogue turn, executes business actions through the AudioData API, and persists customer-service state separately. FAQ answers use SAG-Wiki or local retrieval, with optional LLM assistance. The graph also shows the documented AudioData API and its layered data generator. Unsampled router details are grouped by their existing directory; links between components are limited to documented or indexed relationships.
Main entry points: generate/main.py Generator entry points · business.py Business actions · generate Generation framework · app/main.py Session and chat API
Components 25
Customer workbench
- React workbench
frontend/src/main.jsx
Customer service
- Session and chat API
app/main.py - Turn executor
app/engine/executor.py - Turn planner
app/engine/planner.py - Plan validator
app/engine/validator.py - Business actions
app/engine/business.py - AudioData client
app/audio_client.py - Session state store
app/db.py - FAQ retrieval
app/retrieval.py - LLM assistance
app/llm.py
AudioData service
- Business API
audio-data/app/main.py - Business route handlers
audio-data/app/routers - Business database access
audio-data/app/database.py - AudioData database
Data generation
- Generator entry points
audio-data/generate/main.py - Generation framework
audio-data/generate - Foundation data
audio-data/generate/layers/layer1.py - Content supply
audio-data/generate/layers/layer2.py - User membership
audio-data/generate/layers/layer3.py - Trade and wallet
audio-data/generate/layers/layer4.py - Listening and service
audio-data/generate/layers/layer5.py - Recommendations and search
audio-data/generate/layers/layer6.py
Other components
- Support agent
- SAG CLI
- Knowledge documents
knowledge
Connections 26
- Support agent → React workbench: uses
- React workbench → Session and chat API: calls
- Session and chat API → Turn executor: executes turns
app/main.py - Turn executor → Turn planner: requests plans
app/engine/executor.py - Turn planner → Plan validator: validates plan
- Turn executor → Business actions: runs actions
app/engine/executor.py - Business actions → AudioData client: calls
app/engine/business.py - AudioData client → Business API: HTTP requests
- Session and chat API → Session state store: persists sessions
app/main.py - Business actions → FAQ retrieval: retrieves answers
app/engine/business.py - FAQ retrieval → SAG CLI: tries CLI
- FAQ retrieval → Knowledge documents: searches fallback
- Business actions → LLM assistance: may polish replies
app/engine/business.py - Business API → Business route handlers: routes requests
audio-data/app/main.py - Business route handlers → Business database access: queries and writes
audio-data/app/routers/search.py - Business database access → AudioData database: reads and writes
audio-data/app/database.py - Generator entry points → Foundation data: runs layer
audio-data/generate/main.py - Generator entry points → Content supply: runs layer
audio-data/generate/main.py - Generator entry points → User membership: runs layer
audio-data/generate/main.py - Generator entry points → Trade and wallet: runs layer
audio-data/generate/main.py - Generator entry points → Listening and service: runs layer
audio-data/generate/main.py - Generator entry points → Recommendations and search: runs layer
audio-data/generate/main.py - Foundation data → Generation framework: uses helpers
audio-data/generate/layers/layer1.py - Content supply → Generation framework: uses helpers
audio-data/generate/layers/layer2.py - Trade and wallet → Generation framework: uses helpers
audio-data/generate/layers/layer4.py - Listening and service → Generation framework: uses helpers
audio-data/generate/layers/layer5.py