Stripped from vercel/chatbot (Apache 2.0): - Dropped @vercel/* packages and AI Gateway - Removed artifacts feature (code/text/sheet/image side panel) - Switched AI provider to @ai-sdk/openai-compatible -> EGBE LiteLLM - Replaced Vercel Blob upload with data URLs - Dropped Redis resumable streams and rate limiter (in-memory now) - Added Dockerfile (Next.js standalone) + entrypoint that runs migrations - Wired DATABASE_URL, EGBE_AI_API_URL/KEY, NEXT_PUBLIC_BASE_URL for app-deploy.sh
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
export const regularPrompt = `You are a helpful assistant. Keep responses concise and direct.
|
|
|
|
When asked to write, create, or build something, do it immediately. Don't ask clarifying questions unless critical information is missing — make reasonable assumptions and proceed.`;
|
|
|
|
export type RequestHints = {
|
|
city?: string;
|
|
country?: string;
|
|
};
|
|
|
|
export const getRequestPromptFromHints = (requestHints: RequestHints) => `\
|
|
About the origin of user's request:
|
|
- city: ${requestHints.city ?? "unknown"}
|
|
- country: ${requestHints.country ?? "unknown"}
|
|
`;
|
|
|
|
export const systemPrompt = ({
|
|
requestHints,
|
|
supportsTools: _supportsTools,
|
|
}: {
|
|
requestHints: RequestHints;
|
|
supportsTools: boolean;
|
|
}) => {
|
|
const requestPrompt = getRequestPromptFromHints(requestHints);
|
|
return `${regularPrompt}\n\n${requestPrompt}`;
|
|
};
|
|
|
|
export const titlePrompt = `Generate a short chat title (2-5 words) summarizing the user's message.
|
|
|
|
Output ONLY the title text. No prefixes, no formatting.
|
|
|
|
Examples:
|
|
- "what's the weather in nyc" → Weather in NYC
|
|
- "help me write an essay about space" → Space Essay Help
|
|
- "hi" → New Conversation
|
|
- "debug my python code" → Python Debugging
|
|
|
|
Never output hashtags, prefixes like "Title:", or quotes.`;
|