[{"data":1,"prerenderedAt":398},["ShallowReactive",2],{"blog-\u002Fblog\u002Fcyber-maid-doa":3},{"id":4,"title":5,"body":6,"date":386,"description":26,"extension":387,"meta":388,"navigation":389,"path":390,"seo":391,"stem":392,"subtitle":393,"tags":394,"thumbnail":396,"__hash__":397},"blog\u002Fblog\u002Fcyber-maid-doa.md","DOA를 소개합니다",{"type":7,"value":8,"toc":371},"minimark",[9,16,21,28,31,38,41,48,58,62,112,115,119,127,130,148,151,190,193,198,201,231,234,239,246,264,267,272,276,300,303,308,314,330,334,339,342,346,355],[10,11,12],"blockquote",{},[13,14,15],"p",{},"바이브코딩으로 구현된 사이트에 대해 다루고 있습니다.",[17,18,20],"h2",{"id":19},"doa","DOA",[13,22,23],{},[24,25],"img",{"alt":26,"src":27},"","https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F2a1b228c-dee0-40e0-bf59-17b55f2b8522.webp",[13,29,30],{},"파스텔톤 UI에 귀여운 메이드 컨셉을 가진 개인용 챗봇 사이트 \u002F 어플이에요.",[13,32,33,37],{},[34,35,36],"strong",{},"ADHD+경증우울증"," 유저가 자신의 상황에 맞게 사용하기 위해 만들었어요. 일정관리를 해도 되고, 감정쓰레기통으로 삼아도 되고, 둘다 해도 상관없어요.",[13,39,40],{},"(다만, 인공지능 챗봇에게 감정을 공유하기 전에는 담당 의사선생님과의 상담을 먼저 거쳐주세요)",[13,42,43,44,47],{},"OpenAI API로 대화하면서 데드라인·루틴·일정·버킷리스트를 자동으로 기억했다가, 그 일을 상기시켜야 할 때가 되면 ",[34,45,46],{},"먼저 말을 걸어줘요",".",[49,50,51,55],"ul",{},[52,53,54],"li",{},"프로필 사진은 일단 neka로 만들어져 있어요.",[52,56,57],{},"어느 정도는 책 \u003C성인 ADHD의 대처기술 안내서> 에 나온 대처법을 기반으로 제작되었어요.",[17,59,61],{"id":60},"주요-기능","주요 기능",[49,63,64,70,76,82,88,94,100,106],{},[52,65,66,69],{},[34,67,68],{},"OpenAI 기반 대화"," — 답장 길이·속도를 사람처럼 조절(짧은 답은 빠르게, 고민 상담은 천천히 + 타이핑 인디케이터)",[52,71,72,75],{},[34,73,74],{},"데드라인 \u002F 버킷리스트 \u002F 반복 루틴 \u002F 일정","을 대화 중 자동으로 기억·추가·수정·완료·삭제 : 물론 반만 자동이긴 합니다만...",[52,77,78,81],{},[34,79,80],{},"알림톡"," — 루틴\u002F일정 시간, 마감일 전날, 24시간 무응답 시 자동으로 먼저 말 걸기 (Web Push 알림 포함, 확인 체크박스로 나만 체크 가능)",[52,83,84,87],{},[34,85,86],{},"캘린더 \u002F 위클리 페이지"," - 루틴\u002F일정\u002F데드라인을 색상별로 한눈에 보여줘요",[52,89,90,93],{},[34,91,92],{},"할 일 목록 페이지"," - 포괄 실행 목록처럼 관리할 수 있어요",[52,95,96,99],{},[34,97,98],{},"다중 유저 지원"," — 유저별 데이터 완전 격리, 소유자가 신규 가입 잠금\u002F해제 가능",[52,101,102,105],{},[34,103,104],{},"개인 OpenAI API 키(BYOK)"," — 개인 키를 브라우저에 저장해두고 사용할 수 있어요. 서버엔 저장 안 되니 걱정하지 마세요. 푸쉬알림 같은 건 운영자의 키를 사용합니다.",[52,107,108,111],{},[34,109,110],{},"PWA"," - 홈 화면에 추가 하면, 모바일에서 앱처럼 동작할 수 있게 만들어져 있어요",[17,113,114],{"id":114},"기능",[116,117,118],"h3",{"id":118},"사이드바",[120,121,122],"center",{},[24,123],{"src":124,"style":125,"alt":126},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002Fe4bcbade-298d-45f4-b70c-4ab859752939.jpg","max-height: 550px;","모바일 사이드바",[13,128,129],{},"모바일 버전의 사이드바이지만, PC버전도 같아요.",[49,131,132,139,145],{},[52,133,134,135,138],{},"다른 페이지(",[34,136,137],{},"캘린더, 위클리, 리스트"," 페이지)로 넘어갈 수 있어요.",[52,140,141,144],{},[34,142,143],{},"푸쉬알림","을 켤 수 있어요.",[52,146,147],{},"운영자의 경우 가입을 허용할지 여부를 선택할 수 있어요.",[13,149,150],{},"아래쪽에는 일정을 관리하기 위한 아주 기본적인 정보들이 표시돼요.",[49,152,153,159,165,171,177,183],{},[52,154,155,158],{},[34,156,157],{},"DOA가 기억하는 나","는 채팅이 진행되면 진행될수록 구체적인 인상이 되어요.",[52,160,161,164],{},[34,162,163],{},"루틴","은 매일 반복해야 하는 일이므로 맨 앞에 있어요.",[52,166,167,170],{},[34,168,169],{},"데드라인","은 언제 이 일을 시작해야 할지는 정해지지 않았지만, 마감 날짜가 딱! 정해진 일이에요.",[52,172,173,176],{},[34,174,175],{},"일정","은 일을 시작해야 하는 시각, 약속 시각, 집안을 돌보는 시각 등 유저가 직접 움직여서 무언가를 하기 시작해야 하는 일정이에요.",[52,178,179,182],{},[34,180,181],{},"버킷리스트","는 언제 해야 할 지도 모르고, 마감일도 없지만 언젠가는 하고 싶거나 해야 하는 일이에요.",[52,184,185,186,189],{},"마지막으로 ",[34,187,188],{},"API 키"," 항목에서 자신의 API키를 로컬 브라우저에 기억하게 할 수 있어요. 여러 디바이스를 사용하고 계신다면 모든 디바이스에 따로따로 입력해 주어야 해요.",[116,191,192],{"id":192},"채팅",[120,194,195],{},[24,196],{"src":197,"style":125},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F84774041-2f79-46a7-a038-cd5388705405.jpg",[13,199,200],{},"챗봇과 실제로 대화를 하는 화면입니다.",[49,202,203,206,217,224],{},[52,204,205],{},"일반적인 채팅 어플과 유사하지만, 파일 첨부 등의 기능은 없습니다.",[52,207,208,209,212,213,216],{},"챗봇에게 말을 걸면, 난이도에 따라 설정된 ",[34,210,211],{},"랜덤한 지연 시간"," 동안 마치 챗봇이 직접 타이핑을 하는 것처럼 ",[34,214,215],{},"타이핑 인디케이터","가 뜨다가 답장이 올라옵니다.",[52,218,219,220,223],{},"여타의 모델과 다르게, ",[34,221,222],{},"메시지를 보낸 시각","이 기록되고 채팅에 반영됩니다.",[52,225,226,227,230],{},"DOA의 알림톡에 ",[34,228,229],{},"확인 버튼"," 을 누르는 동작을 통해 해당 할일을 더욱 강하게 상기시킬 수 있습니다. (완료 버튼이 아닙니다!)",[116,232,233],{"id":233},"캘린더",[120,235,236],{},[24,237],{"src":238,"style":125},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F28ccacf1-0b38-4299-8a96-1027020ffa46.jpg",[13,240,241,242,245],{},"챗봇과의 대화를 통해 누적된 일정 중, ",[34,243,244],{},"날짜나 시각이 명확히 지정된 일정","을 표시해요.",[49,247,248,254,261],{},[52,249,250,253],{},[34,251,252],{},"루틴, 일정, 데드라인","이 색상을 구분하여 표시돼요.",[52,255,256,257,260],{},"날짜를 클릭하면 해당 날짜에 잡혀 있는 모든 루틴, 일정, 데드라인이 ",[34,258,259],{},"시간 순서대로"," 표시돼요.",[52,262,263],{},"여기에선 완료\u002F삭제 처리를 할 수는 없어요.",[116,265,266],{"id":266},"위클리",[120,268,269],{},[24,270],{"src":271,"style":125},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F9e4c234e-92b8-451c-b688-2e8e97276be7.jpg",[13,273,241,274,245],{},[34,275,244],{},[49,277,278,285,289,298],{},[52,279,280,281,284],{},"일정의 시작 시간만 명시했지 끝나는 시간을 지정하진 않았기 때문에, 일정은 블록이 아니라 ",[34,282,283],{},"선으로 표시"," 돼요.",[52,286,287,253],{},[34,288,252],{},[52,290,291,294,295,297],{},[34,292,293],{},"루틴, 일정","은 선 아래에 글자가 들어가고, ",[34,296,169],{},"은 선 위에 글자가 들어가서 둘을 구분할 수 있어요.",[52,299,263],{},[116,301,302],{"id":302},"리스트",[120,304,305],{},[24,306],{"src":307,"style":125},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F13a55315-85fe-40a0-ad46-00f493793a6d.jpg",[13,309,310,313],{},[34,311,312],{},"포괄 실행 목록","과 같이, 유저가 해야 할 일들이 포스트잇 형태로 표시돼요.",[49,315,316,327],{},[52,317,318,319,322,323,326],{},"당장 해야 하는 일들의 리스트보다는, ",[34,320,321],{},"기억해야 하는"," 일들의 리스트예요. 그래서, 루틴과 일정은 포함되어 있지 않고, ",[34,324,325],{},"데드라인과 버킷리스트(느슨한 계획)"," 만이 포함되어 있도록 지정했어요.",[52,328,329],{},"체크 표시를 눌러 완료할 수도, X 표시를 눌러 항목을 지워버릴 수도 있어요.",[116,331,333],{"id":332},"푸쉬-알림","푸쉬 알림",[13,335,336],{},[24,337],{"alt":26,"src":338},"https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002Feec6eeaf-fb00-4a56-a1e1-0f7bc91fc447.jpeg",[13,340,341],{},"모바일 디바이스 등에서 알림을 설정해 둔 경우, DOA가 알림톡을 보낼 때 위 사진과 같이 푸쉬 알림이 와요.",[17,343,345],{"id":344},"주소는요","주소는요?",[13,347,348],{},[349,350,354],"a",{"href":351,"rel":352},"https:\u002F\u002Fgithub.com\u002Fjyhyun1008\u002Fcyber-doa",[353],"nofollow","레포지토리",[49,356,357,364],{},[52,358,359,360,363],{},"양방향 채팅을 할 때는 유저들이 OpenAI의 API 키를 사용하도록 되어 있지만, 알림톡의 경우에는 ",[34,361,362],{},"서버에서 설정된 공용 키를 사용","해야 해요. 이것은 본 서버의 API키 사용량에 크지는 않지만 나름대로의 영향을 끼칠 수 있으며, 가입된 유저 수에 따라 정말로 생계가 위험해질 수도 있기 때문에, 현재 주소를 공개하지 않고 있어요.",[52,365,366,367,370],{},"뭔가 수익 모델을 붙이기보다는, 코드가 공개되어있는만큼 ",[34,368,369],{},"알아서 본인 서버에 올리고 사용해주세요"," 라는 정책을 유지하고 싶어요.",{"title":26,"searchDepth":372,"depth":372,"links":373},2,[374,375,376,385],{"id":19,"depth":372,"text":20},{"id":60,"depth":372,"text":61},{"id":114,"depth":372,"text":114,"children":377},[378,380,381,382,383,384],{"id":118,"depth":379,"text":118},3,{"id":192,"depth":379,"text":192},{"id":233,"depth":379,"text":233},{"id":266,"depth":379,"text":266},{"id":302,"depth":379,"text":302},{"id":332,"depth":379,"text":333},{"id":344,"depth":372,"text":345},"2026-07-31","md",{},true,"\u002Fblog\u002Fcyber-maid-doa",{"title":5,"description":26},"blog\u002Fcyber-maid-doa","일정과 루틴 관리를 위한 AI 메이드",[395],"개발","https:\u002F\u002Fbucket.howeverina.studio\u002Fgongran\u002F2759dbc3-7637-4ef0-b907-cbc7adf3b3c4.webp","GlwtgJZEC0iOE-pYYT6SOkFLhXJPBcq4hIG9IMipwlc",1786906831187]