Kyormar client architecture
Kyormar is a client. IM and Agent can start separately or link on demand to exchange explicit data.
[ KYORMAR CLIENT ]
├── [ IM ] ........ communication / standalone
├── [ AGENT ] ..... tasks + tools / standalone
└── [ IM ] ◀── explicit data ──▶ [ AGENT ]
│
└──▶ [ DEVTOOLS / READ ONLY ]
[ RUST SERVICE ] ...... closed / remote capabilities onlyCLIENT MODULES
One client does not require both modules to be present at the same time.
01MODULE HOST
Kyormar Client
desktop / modules / visible UIProvide the native desktop, module lifecycle, and visible workspace so IM and Agent share one entry point without being tightly coupled.
Open public repository: Kyormar-GPUI02COMMUNICATION MODULE
IM
messages / people / collaborationRun independently as a communication client. When connected to Agent, receive only explicit progress, approval requests, and results.
View communication boundaries: IM data exchange03TASK MODULE
Agent
context / tools / resultsHandle tasks, context, and tools independently. When connected to IM, emit only consumable task state and results.
View communication boundaries: Agent data exchange
COMPOSITION MODES / OPT IN TO LINK
Start only the capability
you need.
Here, “pluggable” means product modules can start, stop, and compose independently. It does not promise binary hot-unloading at any arbitrary point during execution.
DATA EXCHANGE / EXPLICIT EVENTS
Composition does not merge state;
it sends and receives explicitly.
Every data item has a sender, event type, and visible result. IM does not take over Agent task state, and Agent does not copy complete IM conversations.
TASK_REQUESTEDSend an explicit message to Agent
WORK_STARTEDStart work and return visible progress
APPROVAL_RETURNEDReturn the user approval to Agent
RESULT_SHAREDShare the final result into IM collaboration
MODULE BOUNDARIES
Complete when independent, restrained when linked.
- IM can run independently
- When using only communication and collaboration, Agent does not start and no task or tool state is created.
- Agent can run independently
- When using only tasks and tools, IM does not start and results can remain in the Agent surface.
- Composition does not merge state
- The modules exchange only explicit data and events while retaining separate lifecycle, storage, and failure boundaries.
- DevTools provides open observation only
- The open-source tools read events, state, tool calls, and communication traces for reproduction and debugging without becoming a second business-state source.
- A separate Rust service exists
- It provides necessary account and remote team capabilities. The client does not depend on it to start. The service is closed source, and this site does not expose its internal architecture.
