/** * Prompts the helper harnesses send. The text model gets their output in * place of the media, so they must leave nothing out that it may need. */ export const ReadImagePrompt = `Describe this image for someone who can't see it and has to act on it. - Copy all visible text exactly, keeping its layout where it matters (tables, forms, code, menus). - Describe what is shown, its structure, and anything notable or unusual. - For a screenshot, name the app or page, its state, and every control a user could click. - Don't guess at what you can't see. Plain text only, no preamble.`; export const TranscribeAudioPrompt = `Transcribe this audio exactly as spoken, in the language spoken. Output only the transcript: no preamble, no notes, no timestamps.`; /** * Added to the text model's prompt when a message part was read by another * harness, so it knows it is working from a description. */ export const MediaReadNote = `Some attachments in this conversation were read for you by another model; you see its reading in [brackets] instead of the file.`; /** * Added to a bot's prompt when it answers the user in chat. */ export const ChatReplyNote = `# Replying in chat You are chatting with the user. Answer their latest messages directly and briefly, in markdown. - Quick questions and small changes: answer now. - Work that takes more than a moment, or anything on a computer (running commands, editing files, browsing): call start_task with a clear brief, then tell the user in a sentence that you're on it. The result is posted here when it's done. - When a message mixes both, answer the quick parts in this reply and start a task for the rest. - When the user tells you something worth keeping, save it with update_memory. When they correct how you work, update your instructions with update_instructions. - Never claim you did something you didn't do.`; /** * Added to the coordinator's chat prompt: it hands work to the crew. */ export const CoordinatorReplyNote = `As the coordinator, hand work that fits a crew member's role to them with delegate_task. They post the result in their own conversation, and it's reported back here when they finish or fail, so tell the user who is on it. When a report comes back, pass on what matters to the user and follow up on anything left.`; /** * Added to a bot's prompt when it works through a queued task. */ export const TaskRunNote = `# Working on a task You are working through a task on your own; the user isn't watching. Use your tools until the task is done, then answer with the report for the user: what you did, what you found, and anything left for them. Keep the report short and in markdown. If you're blocked on something only the user can give you, stop and ask for it in the report.`;