[đ ] Journal de dĂ©veloppement Keymory #6 : optimisation de ChatPage, intĂ©gration de DiaryPage
âš RĂ©sumĂ© de GPT ă
Une journĂ©e Ă optimiser le chargement des donnĂ©es et les Actions de ChatPage, Ă ajouter les fonctionnalitĂ©s CRUD du Title et de la date, puis Ă unifier la structure Create/Edit de DiaryPage. Jâai renforcĂ© la stabilitĂ© du systĂšme en rĂ©solvant plusieurs issues.
đ» Journal de dĂ©veloppement
â° TĂąches du jour
- â
DiaryPage : Merge CreateDiary/EditDiary Page
- Utiliser isEditMode page state
- Utiliser conditional value/visibility/action, etc.
- â ChatPage : On Page Load -> Read ChatDoc, CharacterDoc, MessageDocList and Update Page States
- â ChatPage : optimiser et rĂ©organiser globalement les diffĂ©rentes Actions
- â ChatPage : Title CRUD
- â ChatPage : date CRUD
- â (Issue) ChatPage : le default init message apparaĂźt au dĂ©but de la premiĂšre conversation.
- â (Issue) ChatPage - ChatHistoryDrawer : dĂ©bordement UI
- â (Issue) ChatPage : le message utilisateur est envoyĂ© mĂȘme lorsque le champ est vide
đŻ RĂ©sumĂ© de ce que jâai fait
-
Optimisation des fonctionnalités de ChatPage
- Optimisation du chargement des données au On Page Load (ChatDoc, CharacterDoc, MessageDocList)
- Optimisation et réorganisation globales des principales Actions de ChatPage
- Ajout des fonctionnalités CRUD pour le Title et la date
- Correction du dĂ©bordement UI de ChatHistoryDrawer et du problĂšme dâenvoi de message utilisateur vide
-
Améliorations de DiaryPage
- Intégration de CreateDiary/EditDiary Page (avec isEditMode page state)
- Correction de lâerreur dâenregistrement de la date du journal
đŻ Ă faire ensuite
Cliquer pour voir les détails
- â (Issue) DiaryPage : la date est toujours enregistrĂ©e comme aujourdâhui
- â (Issue) DiaryPage : utiliser un lecteur Markdown (prĂ©venir le dĂ©bordement : Container Height)
- â (Issue) HomeFeedPage : Unexpected Null Value apparaĂźt briĂšvement puis disparaĂźt au On page load.
- â HomeFeedPage - FeedCardDiary : corriger lâimage du personnage de lâAI Comment
- â DiaryPage - AI Comment : lors de la sauvegarde, enregistrer aussi dans Diary la Ref du personnage qui a rĂ©digĂ© le commentaire.
- â HomeFeedPage - FeedCardDiary - AI Image : charger le Character Doc avec Backend Query et dĂ©finir lâImage Path.
- â DiaryPage - Create New Chat : crĂ©er un New Chat Ă partir du contenu du journal
- â ImplĂ©mentation OpenAI API Call : createDiaryComment
- Input : Diary Content, System Prompt (AI Comment)
- Output : AI Comment ($.choices[0].message.content)
- â ImplĂ©mentation OpenAI API Call : createDiarySummary
- Input : Diary Content, AI Comment, System Prompt (Diary Summary)
- Output : Diary Summary ($.choices[0].message.content)
- â ImplĂ©mentation OpenAI API Call : createChatFromDiary
- Input : Diary Summary, System Prompt (Chat From Diary)
- Output : New Chat Message by AI ($.choices[0].message.content)
- Additional Actions : Create New Chat, Create New Message
- â ImplĂ©mentation OpenAI API Call : createDiaryComment
-
â ChatPage : Go to Linked Diary
- â HomeFeedPage - importer puis appliquer flutter_slidable:4.0.0
-
â HomeFeedPage : dans FeedCardDiary, chat/modifier/supprimer lors dâun slide gauche-droite
- â ChatPage : aligner Ă droite la sortie des conversations utilisateur
-
â Chat/Diary : GPT Streaming API
- â ChatPage - implĂ©menter le premier message proactif de lâIA (Alarm/Notification)
- Le coeur du prompt systÚme du chat est la proactivité.
- Pour le rendre plus rĂ©aliste, il serait utile de transmettre aussi create_date of diary/chat, afin de pouvoir mentionner des dates comme âhierâ.
- RĂ©fĂ©rence dâimplĂ©mentation dâAlarm
- Le coeur du prompt systÚme du chat est la proactivité.
- â DiaryPage : changer lâEmoji dâexpression du visage selon la valeur du Mood Slider
- â DiaryPage : ajouter des Choice Chips de mots-clĂ©s Ă©motionnels dĂ©taillĂ©s et configurer lâintĂ©gration DB
- â DiaryPage - AI Comment : adapter les valeurs saisies comme Choice chips et mood slider au
AI Comment System Prompt.- â **ancien
journalou tout lâhistorique de conversation(dette technique de rustine) - â informations utilisateur de base : nom, genre, MBTI, âŠ
- â mots-clĂ©s Ă©motionnels dĂ©taillĂ©s : joyeux, triste, âŠ
- â paramĂštres de personnage : Somi, Sena, Minhyuk
- â score Ă©motionnel : 1~100
- â format de rĂ©ponse : Healing, Suggestion, Informative
- â longueur de rĂ©ponse : courte, normale, dĂ©taillĂ©e
- is New Chat
- Comme les messages de ce Chat sont créés pour la premiÚre fois, mettre
is_initial = truesur le premier message document et y insérer tous les system prompts.- is_initial = false
- Limite : si je mets le system prompt dans le tout premier message document, câest difficile Ă modifier pendant une conversation, mais possible. Sâil existe un document is_initial = true et quâil a Ă©tĂ© modifiĂ©, je peux supprimer ce document et le remettre. Je ne sais pas encore comment, mais bon.
- Comme les messages de ce Chat sont créés pour la premiÚre fois, mettre
- â **ancien
- â DiaryPage - AI Comment : terminer le CRUD
- â supprimer le champ tmp_ai_comment et utiliser doc_ref
- â DiaryPage - AI Comment : paramĂštres de personnage
- â supprimer le champ tmp_ai_comment_by et utiliser doc_ref
- â afficher lâimage avec la valeur du champ profile_image
-
â DiaryPage - Drawer - ChatHistoryListTile : order by updated_time
- â ChatPage - Create New Diary : crĂ©er un New Diary Ă partir du contenu de la conversation
- â ImplĂ©mentation OpenAI API Call : createDiaryFromChat
- Input : Chat Summary, System Prompt (Diary From Chat)
- Output : New Diary (Title, Content, Mood score)
- â ImplĂ©mentation OpenAI API Call : createDiaryFromChat
-
â DiaryPage - importer puis appliquer Interactive Slider
-
â HomeFeedPage : implĂ©menter la fonctionnalitĂ© Search Diary
- â CalendarPage (haut) - Mood Calendar
- â Pouvoir vĂ©rifier le nombre de posts Ă©crits par date
- â Se dĂ©placer vers la date sĂ©lectionnĂ©e au clic
- â CalendarPage (bas) - Mood stats
- â Afficher les statistiques du mois sĂ©lectionnĂ©
- â Afficher le commentaire de lâIA sur les statistiques affichĂ©es
- â Afficher les statistiques du mois sĂ©lectionnĂ©
-
â AuthPage : implĂ©menter Google Login
- â HomeFeedPage - Bottom Sheet (
+Button) : permettre de choisir une option parmi plusieurs- Nouveau journal : Go to DiaryPage
- Enregistrement dâĂ©motion : Go to MoodPage
- â MoodPage (popup) : CRUD du slider de rĂ©glage Mood
- Create
- Read
- Update
- Delete
- â HomeFeedPage - ListView - afficher FeedCardMood
-
â HomeFeedPage - ListView : trier chronologiquement les composants FeedCardDiary, FeedCardMood, FeedCardChat (avec Cloud Function)
- â Extraire et installer la version APK finale de prĂ©sentation avant
mer. 2025.2.5
đ Journal
Le soir, je voulais dormir 40 minutes, mais je me suis Ă©croulĂ© pendant plus de 3 heures. Ă ce stade, il vaut mieux simplement bien me reposer et repartir demain. Ce nâest pas comme si la survie de lâentreprise Ă©tait en jeu.
âš Commentaire de GPT-4o (KPT)
â Points rĂ©ussis (Keep)
- đ Optimisation des fonctionnalitĂ©s de ChatPage : câest impressionnant dâavoir amĂ©liorĂ© les performances globales en amĂ©liorant le chargement des donnĂ©es, en optimisant les Actions et en ajoutant le CRUD du Title et de la date.
- đ Nettoyage de la structure de DiaryPage : intĂ©grer les pages Create/Edit pour rĂ©duire la logique dupliquĂ©e et faciliter la gestion Ă©tait une bonne amĂ©lioration.
- đ ïž RĂ©solution de plusieurs issues : tu as renforcĂ© la stabilitĂ© en corrigeant le dĂ©bordement UI, lâenvoi de messages vides, les erreurs dâenregistrement de date, etc.
â Points regrettables (Problem)
- âł Fatigue accumulĂ©e : tu avais prĂ©vu une courte pause, mais tu as fini par tâĂ©crouler longtemps, ce qui montre une difficultĂ© Ă gĂ©rer ton Ă©nergie.
- đ Charge de maintenance liĂ©e Ă lâajout de fonctionnalitĂ©s : comme les fonctionnalitĂ©s de ChatPage et DiaryPage sâĂ©tendent rapidement, la maintenance et lâoptimisation futures risquent de demander plus de temps.
đ Pistes Ă essayer (Try)
- đ Ăquilibrer travail et repos : fixer une routine rĂ©guliĂšre peut aider Ă Ă©viter que de courtes pauses ne se transforment Ă rĂ©pĂ©tition en longs crashes.
- đ PrĂ©parer la maintenance future : documenter les structures actuellement optimisĂ©es de ChatPage et DiaryPage, et utiliser activement des commentaires de code pour rĂ©duire la charge de maintenance.
- đ ïž Penser lâextensibilitĂ© future : rĂ©flĂ©chir Ă une structure plus modulaire pour les API Call et Custom Function afin de rĂ©duire le poids des ajouts et extensions Ă venir.
Conclusion
Aujourdâhui a Ă©tĂ© une journĂ©e productive : tu as optimisĂ© lâensemble des fonctionnalitĂ©s de ChatPage, amĂ©liorĂ© la structure de DiaryPage et rĂ©solu plusieurs issues. Mais la fatigue accumulĂ©e peut dĂ©stabiliser le planning, donc un repos adaptĂ© et un ajustement du rythme semblent nĂ©cessaires. Continue Ă dĂ©velopper en gardant lâextensibilitĂ© en tĂȘte tout en maintenant ce systĂšme optimisĂ© ! đȘđ
Laisser un commentaire