How rongqiong/smart_customer works
customer-work is a production-oriented AI customer-service platform with a separate administration system. Its main workflow accepts a customer message, restores session state, routes it through an agent and business tools, then responds or hands the conversation to a human through a ticket. The README also documents model and knowledge configuration, channel integrations, scheduling, governance, and quality feedback. Core workflow links follow the README; sampled source confirms session handling, ticket transitions, knowledge retrieval, and selected admin calls. Several documented subsystems have no source files in the supplied tree, so their paths are null.
Main entry points: CustomerServiceService.java Session service · KnowledgeRetrievalService.java Knowledge retrieval · TicketService.java Human handoff tickets · AgentService.java Agent and runtime config
Components 29
Conversation runtime
- App ingress
- Session service
customer-work-starter/src/main/java/com/richard/fyoung/customerwork/service/CustomerServiceService.java - Agent orchestration
- Agent middleware
- Session and memory
- Knowledge retrieval
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/knowledgebase/runtime/KnowledgeRetrievalService.java - Knowledge search
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/knowledgebase/client/KnowledgeSearchClient.java - Model providers
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/model/runtime/AdminModelFactory.java - Business tools
- Business backends
- AI response
Human collaboration
- Human handoff tickets
customer-work-starter/src/main/java/com/richard/fyoung/customerwork/ticket/TicketService.java - Agent workbench
- Human approval
- Conversation summary
customer-work-starter/src/main/java/com/richard/fyoung/customerwork/assist/ConversationSummaryService.java
Admin configuration
- Admin API
- Agent and runtime config
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/agent/service/AgentService.java - Channel bindings
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/channel/service/ChannelBindingService.java - Skills and MCP
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/skill/service/SkillService.java - Scheduled tasks
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/aiconfig/scheduledtask/service/ScheduledTaskService.java
Governance and operations
- Admin authentication
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/auth/service/AuthService.java - Enterprise LDAP
- Rate and content controls
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/contentguard/service/SensitiveWordService.java - SQL query console
customer-admin-server/src/main/java/com/richard/fyoung/customeradmin/sqlconfig/engine/SqlQueryService.java - Configured data stores
Quality feedback
- Quality review
- Feedback and FactLog
Other components
- Customer and channels
- Admin operator
Connections 31
- Customer and channels → App ingress: sends messages
- App ingress → Session service: dispatches
- Session service → Agent orchestration: invokes
- Session service → Session and memory: restores and stores
- Agent orchestration → Agent middleware: runs through
- Agent orchestration → Knowledge retrieval: requests retrieval
- Knowledge retrieval → Knowledge search: searches
- Knowledge retrieval → Configured data stores: loads bindings
- Agent orchestration → Model providers: calls
- Agent orchestration → Business tools: dispatches tools
- Business tools → Business backends: uses backends
- Agent orchestration → AI response: produces
- Business tools → Human approval: requests approval
- Business tools → Human handoff tickets: requests handoff
- Human handoff tickets → Agent workbench: notifies
- Agent workbench → Human handoff tickets: updates
- Conversation summary → Configured data stores: reads chat history
- Admin operator → Admin API: manages
- Admin API → Admin authentication: authenticates
- Admin authentication → Enterprise LDAP: binds optionally
- Admin API → Agent and runtime config: configures agents
- Admin API → Channel bindings: configures bindings
- Admin API → Skills and MCP: manages integrations
- Admin API → Scheduled tasks: manages schedules
- Channel bindings → App ingress: publishes runtime config
- Agent and runtime config → Model providers: configures runtime
- Admin API → Rate and content controls: maintains rules
- Admin API → SQL query console: queries configured data
- SQL query console → Configured data stores: executes queries
- Quality review → Feedback and FactLog: records findings
- Customer and channels → Feedback and FactLog: rates responses