How kisera001/ki-co works
KI-CO is a local-first AI companion cottage: users configure a persona and model channels, chat, and carry context forward through memory, state cards, and diary records. The app also provides archive import and resurrection, a cinema companion room, memory and time galleries, settings, and backup. The excerpts show selected routing, storage, and service links; other capability links below are documented by the README, not inferred from unsampled implementation.
Main entry points: App.tsx App shell · ChatPage.tsx Long chat · MemoryGalleryPage.tsx Memory Gallery · memoryBank.ts Memory bank
Components 26
Cottage experience
- App shell
src/App.tsx - Bond Space
src/components/BondSpacePage.tsx - Persona core
src/components/PersonaCorePage.tsx - Memory Gallery
src/components/MemoryGalleryPage.tsx - Time Corridor
src/components/TimeCorridorPage.tsx
Chat and context
- Long chat
src/components/chat/ChatPage.tsx - Companion adapters
src/adapters/companionAdapters.ts - Topic recall gate
src/utils/topicMemoryGate.ts - Recall judge
src/services/topicRecallJudge.ts - Time awareness
src/utils/timeAwareness.ts - State card
src/services/sessionStateService.ts
Memory and history
- Memory bank
src/storage/memoryBank.ts - Diary service
src/services/chronicleService.ts - Diaries and seeds
src/storage/chronicles.ts - Archive reader
src/components/MemoryGalleryPage.tsx - Archive parser
src/services/archiveParser.ts - Archive resurrection
src/services/archiveResurrectionService.ts - Archive store
src/storage/archiveDb.ts
Cinema room
- Cinema room
src/components/CinemaCompanionRoom.tsx - Watch records
src/storage/watchRecords.ts
Settings and storage
- Conversations
src/storage/conversations.ts - Persona profile
src/storage/personaProfile.ts - Model settings
src/settings/uplinkSettings.ts - Full backup
src/storage/fullBackup.ts
Other components
- User
- Model providers
Connections 31
- User → App shell: uses
README.md - App shell → Bond Space: routes to
src/App.tsx - App shell → Long chat: routes to
src/App.tsx - App shell → Cinema room: opens
src/App.tsx - App shell → Memory Gallery: routes to
src/App.tsx - App shell → Time Corridor: routes to
src/App.tsx - App shell → Persona core: routes to
src/App.tsx - App shell → Model settings: loads settings
src/App.tsx - App shell → Persona profile: loads profile
src/App.tsx - App shell → Full backup: creates backup
src/App.tsx - Long chat → Companion adapters: requests replies
- Companion adapters → Model providers: calls model
- Long chat → Topic recall gate: checks recall
src/components/chat/ChatPage.tsx - Long chat → Recall judge: judges ambiguity
src/components/chat/ChatPage.tsx - Long chat → Time awareness: builds time context
src/components/chat/ChatPage.tsx - Long chat → State card: updates state
src/components/chat/ChatPage.tsx - Long chat → Conversations: reads and saves
src/components/chat/ChatPage.tsx - Long chat → Memory bank: retrieves memories
src/components/chat/ChatPage.tsx - Long chat → Diary service: organizes diary
src/components/chat/ChatPage.tsx - Diary service → Diaries and seeds: writes entries
src/services/chronicleService.ts - Memory bank → Conversations: reads history
src/storage/memoryBank.ts - Memory bank → Diaries and seeds: reads diaries
src/storage/memoryBank.ts - Memory Gallery → Archive parser: parses imports
src/components/MemoryGalleryPage.tsx - Memory Gallery → Archive store: reads archives
src/components/MemoryGalleryPage.tsx - Memory Gallery → Archive resurrection: resumes history
src/components/MemoryGalleryPage.tsx - Archive parser → Archive store: stores records
src/services/archiveParser.ts - Archive resurrection → Archive store: reads records
src/services/archiveResurrectionService.ts - Cinema room → Watch records: saves progress
src/components/CinemaCompanionRoom.tsx - Cinema room → Conversations: stores room chat
src/components/CinemaCompanionRoom.tsx - Memory Gallery → Diaries and seeds: manages diary
src/components/MemoryGalleryPage.tsx - Time Corridor → Diary service: generates summaries
src/components/TimeCorridorPage.tsx