27 lines
1.2 KiB
Swift
27 lines
1.2 KiB
Swift
import Foundation
|
||
|
||
extension OnboardingView {
|
||
func maybeKickoffOnboardingChat(for pageIndex: Int) {
|
||
guard pageIndex == self.onboardingChatPageIndex else { return }
|
||
guard self.showOnboardingChat else { return }
|
||
guard !self.didAutoKickoff else { return }
|
||
self.didAutoKickoff = true
|
||
|
||
Task { @MainActor in
|
||
for _ in 0..<20 {
|
||
if !self.onboardingChatModel.isLoading { break }
|
||
try? await Task.sleep(nanoseconds: 200_000_000)
|
||
}
|
||
guard self.onboardingChatModel.messages.isEmpty else { return }
|
||
let kickoff =
|
||
"Hi! I just installed Clawdbot and you’re my brand‑new agent. " +
|
||
"Please start the first‑run ritual from BOOTSTRAP.md, ask one question at a time, " +
|
||
"and before we talk about WhatsApp/Telegram, visit soul.md with me to craft SOUL.md: " +
|
||
"ask what matters to me and how you should be. Then guide me through choosing " +
|
||
"how we should talk (web‑only, WhatsApp, or Telegram)."
|
||
self.onboardingChatModel.input = kickoff
|
||
self.onboardingChatModel.send()
|
||
}
|
||
}
|
||
}
|