Public
Versions
- Open: VersionChanges from v141 to v142+1-1⦚ 88 unchanged lines ⦚<div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/30">
<input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button></div>⦚ 103 unchanged lines ⦚⦚ 88 unchanged lines ⦚<div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/30"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white bg-teal-800" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button></div>⦚ 103 unchanged lines ⦚ - Open: VersionChanges from v140 to v141+1-0⦚ 84 unchanged lines ⦚</div></template>
</div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/30">⦚ 106 unchanged lines ⦚⦚ 84 unchanged lines ⦚</div></template><span id="bottom"></span></div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/30">⦚ 106 unchanged lines ⦚ - Open: VersionChanges from v139 to v140+1-1⦚ 86 unchanged lines ⦚</div><div class="py-2">
<div class="flex fixed bottom-10 p-4 bg-teal-900/10"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚⦚ 86 unchanged lines ⦚</div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/30"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚ - Open: VersionChanges from v138 to v139+1-1⦚ 86 unchanged lines ⦚</div><div class="py-2">
<div class="flex fixed bottom-10 p-4 bg-teal-900/50"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚⦚ 86 unchanged lines ⦚</div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/10"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚ - Open: VersionChanges from v137 to v138+1-1⦚ 86 unchanged lines ⦚</div><div class="py-2">
<div class="flex fixed bottom-10 p-4 bg-teal-900"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚⦚ 86 unchanged lines ⦚</div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900/50"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚ - Open: VersionChanges from v136 to v137+1-1⦚ 86 unchanged lines ⦚</div><div class="py-2">
<div class="flex fixed bottom-10"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚⦚ 86 unchanged lines ⦚</div><div class="py-2"><div class="flex fixed bottom-10 p-4 bg-teal-900"><input type="text" x-model="prompt" class="border border-gray-300 rounded-md px-2 py-1 flex-grow text-white" @keydown.enter="sendPrompt" /><button @click="sendPrompt" class="text-white rounded-md px-4 py-2 ml-2">Send</button>⦚ 104 unchanged lines ⦚ - Open: VersionChanges from v135 to v136+1-1⦚ 71 unchanged lines ⦚</div><div class="flex justify-end">
<img class="max-w-full h-auto" alt="Nighthawks by Hopper" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Nighthawks_by_Edward_Hopper_1942.jpg/1920px-Nighthawks_by_Edward_Hopper_1942.jpg" /></div></div>⦚ 119 unchanged lines ⦚⦚ 71 unchanged lines ⦚</div><div class="flex justify-end"><img class="max-w-full h-auto | this overrides: fixed bottom-10 w-1/2" alt="Nighthawks by Hopper" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Nighthawks_by_Edward_Hopper_1942.jpg/1920px-Nighthawks_by_Edward_Hopper_1942.jpg" /></div></div>⦚ 119 unchanged lines ⦚ - Open: VersionChanges from v134 to v135+1-1⦚ 77 unchanged lines ⦚<div class="text-white text-xs" x-text="generatedText"></div><div class="mb-4 text-white text-2xl" x-show="charId" x-text="char.chars?.name||''"></div>
<div class="flex-grow overflow-y-auto mb-18"><template x-for="message in messages"><div class="text-white text-xl mb-2">⦚ 113 unchanged lines ⦚⦚ 77 unchanged lines ⦚<div class="text-white text-xs" x-text="generatedText"></div><div class="mb-4 text-white text-2xl" x-show="charId" x-text="char.chars?.name||''"></div><div class="flex-grow overflow-y-auto mb-24"><template x-for="message in messages"><div class="text-white text-xl mb-2">⦚ 113 unchanged lines ⦚ - Open: Version+194-0/** @jsx jsx */import { Hono } from "npm:hono@3";import { jsx } from "npm:hono@3/jsx";import { Nighthawks } from "https://esm.town/v/yawnxyz/nighthawks";import { ModelProvider, modelProvider } from "https://esm.town/v/yawnxyz/ai";import { KV } from "https://esm.town/v/yawnxyz/blobManager";const app = new Hono();const nighthawks = new Nighthawks();const kv = new KV();async function generateText(prompt, charId) {if (charId) {await nighthawks.loadCharacter(charId);if (nighthawks.characters.length > 0) {const response = await nighthawks.characters[0].gen({ prompt });await nighthawks.saveCharacter(nighthawks.characters[0]);return response.text;}}return "No character available.";}async function createCharacter() {await nighthawks.createCharacter();const char = nighthawks.characters[nighthawks.characters.length - 1];await nighthawks.saveCharacter(char);return char;}async function getStoredCharacter(charId) {await nighthawks.loadCharacter(charId);if (nighthawks.characters.length > 0) {return nighthawks.characters[0];}return null;
yawnxyz-nighthawkschat.web.val.run
Updated: May 31, 2024