346 lines
25 KiB
JSON
346 lines
25 KiB
JSON
{
|
|
"o_Toggle_Sidebar": "Show/Hide",
|
|
"o_Context_RAG": "RAG",
|
|
"o_Context_Direct": "Direct",
|
|
"o_Context_Mode": "RAG: uses summary, recent messages, code context, and relevant past chunks.\nDirect: sends only the current message and selected references.",
|
|
"o_Add_Model": "Add Model",
|
|
"o_AI_Models_Empty": "The model list in config is empty. At least one model must be defined.",
|
|
"o_Delete_Model": "Delete Model",
|
|
"o_Delete_Model_Confirm": "Do you want to delete this model?\n\n{model_id}",
|
|
"o_Min_Model_Title": "Model can't be deleted",
|
|
"o_Min_Model_Error": "At least one model must remain. You cannot delete the last model.",
|
|
"o_New_Chat": "New Chat",
|
|
"o_Options": "Options",
|
|
"o_Toggle_Dark_Mode": "Toggle Dark Mode",
|
|
"o_Settings": "Settings",
|
|
"o_Suggestions_Title": "Try asking something",
|
|
"o_Suggestion_1": "Tell me a joke",
|
|
"o_Suggestion_2": "Summarize this text",
|
|
"o_Suggestion_3": "Give me an idea for a project",
|
|
"o_Suggestion_4": "Explain a topic simply",
|
|
"o_Suggestion_5": "Help me write an email",
|
|
"o_Select_File": "Select File",
|
|
"o_Attachments": "Take photo, Attach file",
|
|
"o_Prompt_Chooser": "Prompt Chooser",
|
|
"o_PC_Copyable": "Copyable Content",
|
|
"o_PC_Apply": "Apply Changes to Files",
|
|
"o_PC_FileCreate": "Create New Files (DOCX / XLSX)",
|
|
"o_PC_WebSearch": "Web search",
|
|
"o_PC_Structured": "Structured Output",
|
|
"o_PC_Code": "Code Generation / Editing",
|
|
"o_PC_PDFText": "PDF Text",
|
|
"o_PC_PDFImage": "PDF Image",
|
|
"o_PC_PDFTextImage": "PDF Text + Image",
|
|
"o_PDF_Mode_Required": "You must select a PDF mode from the Prompt Chooser:\n- PDF Text\n- PDF Image\n- PDF Text + Image",
|
|
"o_PDF_Text_Edited": "PDF text was edited and the file was created.",
|
|
"o_PDF_Image_Edited": "PDF image was edited and converted to PDF.",
|
|
"o_PDF_Image_Block_Edited": "PDF image block was edited and the PDF was created.",
|
|
"o_PDF_Mixed_Edited": "Mixed PDF was edited and the file was created.",
|
|
"o_PDF_Convert_Failed": "PDF could not be converted to images. Check the PDF conversion setup.",
|
|
"o_PDF_Has_Text_Select_Text_Model": "This PDF contains extractable text. Please select PDF Text mode instead of PDF Image mode.",
|
|
"o_PDF_No_Images_Found": "No images were found in this PDF.",
|
|
"o_PDF_Text_Extract_Failed": "PDF text could not be extracted.\nDo not ask for the file path.\nUse OCR or PDF Image mode.",
|
|
"o_File_Content_Already_Extracted": "The file content is already extracted below. Do not access the path.",
|
|
"o_File_Note_Images_Preserved": "Images are preserved by the app. Do not regenerate or describe images.",
|
|
"o_File_Note_PDF_Pages_As_Images": "PDF text could not be extracted. Pages are sent as images.",
|
|
"o_File_Note_Unsupported_Text_Read": "This file type cannot currently be read as text.",
|
|
"o_Microphone": "Dictate",
|
|
"o_Stop_Recording": "Stop Recording",
|
|
"o_Send_Button": "Send",
|
|
"o_Stop_Button": "Stop",
|
|
"o_Scroll_Left": "Scroll left",
|
|
"o_Scroll_Right": "Scroll right",
|
|
"o_Clear_Selection": "Clear selection",
|
|
"o_Image": "Image",
|
|
"o_Image_Could_Not_Be_Loaded": "Image could not be loaded:\n{path}",
|
|
"o_Zoom_Attachments": "Zoom in",
|
|
"o_Close_Attachments": "Close",
|
|
"o_Scroll_Down": "Scroll down",
|
|
"o_AI_Models": "AI Models",
|
|
"o_Chats": "Chats",
|
|
"o_Delete_Chat": "Delete chat",
|
|
"o_Delete_Chat_Confirm": "Do you want to delete this chat?\nThis action cannot be undone.",
|
|
"o_Rename": "Rename",
|
|
"o_New_Name": "New Name:",
|
|
"o_Rename_Hint": "(This will be used as the file name)",
|
|
"o_Pin": "Pin",
|
|
"o_Unpin": "Unpin",
|
|
"o_OpenRouter-Tavily_API_Key": "🔑 OpenRouter/Tavily Key",
|
|
"o_OpenRouter_API_Key": "🔑 OpenRouter API Key",
|
|
"o_Tavily_API_Key": "🔑 Tavily Key",
|
|
"o_Response_Style": "🧠 Response style",
|
|
"o_Personalization": "🎨 Personalization",
|
|
"o_Language": "🇬🇧 Language",
|
|
"o_RAG_Settings": "🧩 RAG Settings",
|
|
"o_AI_Settings": "🤖 Local AI Settings",
|
|
"o_STT_Settings": "🎙️ STT Settings",
|
|
"o_Input_Tokens": "Input tokens",
|
|
"o_Output_Tokens": "Output tokens",
|
|
"o_Total_Tokens": "Total",
|
|
"o_Copy": "Copy",
|
|
"o_Download": "Download",
|
|
"o_Image_Created": "Image created.",
|
|
"o_File_Saved": "File saved.",
|
|
"o_File_Not_Found": "File not found.",
|
|
"o_Thinking": "Thinking",
|
|
"o_AI_Process_Failed": "AI process failed.",
|
|
"o_Take_Photo": "Take Photo",
|
|
"o_Attach_File": "Attach File",
|
|
"o_Reference_Message": "message selected as reference",
|
|
"o_Apply": "Apply",
|
|
"o_Apply_Mode_replace": "Replacing",
|
|
"o_Apply_Mode_before": "Inserting before",
|
|
"o_Apply_Mode_after": "Inserting after",
|
|
"o_Reject": "Reject",
|
|
"o_Save": "Save",
|
|
"o_Cancel": "Cancel",
|
|
"o_Search": "Search",
|
|
"o_Search_Query": "Query",
|
|
"o_Empty_Search_Query": "Empty search query.",
|
|
"o_Web_Search_Request": "Web search request",
|
|
"o_Web_Searching": "Searching...",
|
|
"o_Web_Search_Searched": "Searched",
|
|
"o_Web_Search_Cancelled": "Web search cancelled",
|
|
"o_Web_Search_Request_With_Query": "AI wants to search the web:\n{query}",
|
|
"o_Web_Search_API_Key_Invalid": "Web search API key is invalid.",
|
|
"o_Web_Search_API_Error": "Web search API error ({status_code}).",
|
|
"o_Web_Search_Failed": "Search failed",
|
|
"o_Web_Search_Error_With_Detail": "Search failed: {error}",
|
|
"o_OK": "OK",
|
|
"o_Add": "Add",
|
|
"o_Delete": "Delete",
|
|
"o_File_Created": "File created.",
|
|
"o_File_Changed": "File modified",
|
|
"o_Cancelled": "Operation cancelled",
|
|
"o_Generation_Failed": "Failed to generate response",
|
|
"o_OpenRouter_Placeholder": "Enter OpenRouter API Key...",
|
|
"o_Tavily_Placeholder": "Enter Tavily API Key...",
|
|
"o_Response_Style_Placeholder": "Example: Speak in a friendly and humorous tone",
|
|
"o_Window_BG": "Window background",
|
|
"o_Input_BG": "Input background",
|
|
"o_User_BG": "User bubble background",
|
|
"o_User_Text": "User text color",
|
|
"o_Bot_BG": "Bot bubble background",
|
|
"o_Bot_Text": "Bot text color",
|
|
"o_Sidebar_Text": "Sidebar text color",
|
|
"o_Local_Model_Color": "Local model highlight color",
|
|
"o_Token_Usage": "Token Usage",
|
|
"o_Use_Token_Value": "Show Token Value",
|
|
"o_Token_Value": "Token Value",
|
|
"o_Token_Value_Hint": "Price per 1M tokens",
|
|
"o_Total_Token_Price": "Total Token Price",
|
|
"o_Use_Image_Settings": "Use Image Settings",
|
|
"o_Image_Resolution": "Image Resolution",
|
|
"o_Image_Aspect_Ratio": "Image Aspect Ratio",
|
|
"o_Image_Quality": "Image Quality",
|
|
"o_Image_Style": "Image Style",
|
|
"o_Image_Output_Preferences_Title": "Image output preferences:",
|
|
"o_Image_Output_Size": "Preferred output image size: {size}.",
|
|
"o_Image_Output_Aspect_Ratio": "Preferred output image aspect ratio: {aspect_ratio}.",
|
|
"o_Image_Output_Quality": "Preferred output quality: {quality}.",
|
|
"o_Image_Output_Style": "Preferred output style: {style}.",
|
|
"o_Image_Output_Preferences_Note": "Use these values as preferred output settings when the image model supports them. If the requested aspect ratio is wider than the input image, expand the canvas horizontally and add suitable new visual content to the left and right sides while preserving the original subject.",
|
|
"o_Color_Edit_Hint": "You are editing {mode_name} colors.\nUse hex format: e.g. #303643",
|
|
"o_Background_Hint": "Chat Background Image",
|
|
"o_Background_Path_Placeholder": "/file-path/photo.png",
|
|
"o_Clear": "Clear",
|
|
"o_Select_Image": "Select Image",
|
|
"o_Reset_Default": "Reset to default",
|
|
"o_RAG_Context_System_Message": "The following information is provided for conversation continuity. Do not respond to it directly; use it only to understand the latest user message.",
|
|
"o_RAG_Recent_Messages_System_Message": "The following messages are the most recent part of the conversation. Do not respond to them individually; use them only to understand the latest user message.",
|
|
"o_RAG_Recent_Count": "Recent message count",
|
|
"o_RAG_Recent_Count_Hint": "Number of recent conversation messages sent to the model in RAG mode.",
|
|
"o_RAG_Retrieved_Count": "Relevant old message count",
|
|
"o_RAG_Retrieved_Count_Hint": "Number of relevant old chunks retrieved from previous conversation.",
|
|
"o_RAG_Summary_Every": "Summary update interval",
|
|
"o_RAG_Summary_Every_Hint": "How often the conversation summary is updated.",
|
|
"o_RAG_Memory_Chunk_Max": "Memory chunk max length",
|
|
"o_RAG_Memory_Chunk_Max_Hint": "Maximum character length of a single saved memory chunk.",
|
|
"o_RAG_Summary_Max": "Summary max length",
|
|
"o_RAG_Summary_Max_Hint": "Maximum character length of the conversation summary.",
|
|
"o_RAG_Code_Context_Max": "Code context max length",
|
|
"o_RAG_Code_Context_Max_Hint": "Maximum character length of code context sent to the model.",
|
|
"o_RAG_Use_Summary": "Use summary",
|
|
"o_RAG_Use_Summary_Hint": "Adds the conversation summary to the context when enabled.",
|
|
"o_RAG_Use_Recent": "Use recent messages",
|
|
"o_RAG_Use_Recent_Hint": "Adds recent messages to the context when enabled.",
|
|
"o_RAG_Use_Retrieval": "Use relevant old messages",
|
|
"o_RAG_Use_Retrieval_Hint": "Retrieves relevant old chunks from previous conversation when enabled.",
|
|
"o_RAG_Use_Code_Context": "Use code context",
|
|
"o_RAG_Use_Code_Context_Hint": "Adds summaries of attached code files to the context when enabled.",
|
|
"o_RAG_Recent_Attachments": "Send attachments in recent messages",
|
|
"o_RAG_Recent_Attachments_Hint": "When disabled, only text from recent messages is sent; old files/images are not resent.",
|
|
"o_Force_Language_Text": "Use UI Language for Responses",
|
|
"o_Force_Language_Hint": "AI should always respond in the selected language.",
|
|
"o_Ask_Web_Search": "Ask before web search",
|
|
"o_Ask_Web_Search_Hint": "The AI must ask for your permission before it performs a web search.",
|
|
"o_AI_Providers": "AI Providers",
|
|
"o_Selected_Provider": "Selected Provider",
|
|
"o_Add_Provider": "Add Provider",
|
|
"o_Stop_Provider": "Stop Provider",
|
|
"o_Provider_Cant_Be_Deleted": "Provider can't be deleted",
|
|
"o_Provider_Min_One_Required": "At least one provider must remain.",
|
|
"o_Delete_Provider": "Delete Provider",
|
|
"o_Delete_Provider_Confirm": "Do you want to delete this provider?\n\n{provider}",
|
|
"o_Provider_Name": "Provider Name",
|
|
"o_Enable_Provider": "Enable Provider",
|
|
"o_Enable_Provider_Hint": "Enable this AI provider for local models.",
|
|
"o_Run_Startup": "Run Startup",
|
|
"o_Run_Startup_Placeholder": "Enter a command or a script path to start the provider.",
|
|
"o_Stop_Command": "Stop Command",
|
|
"o_Stop_Command_Placeholder": "Exp: pkill -f 'ollama serve'",
|
|
"o_Custom_Error": "Custom Error Message",
|
|
"o_Custom_Error_Placeholder": "Write a custom error message that will be displayed if the provider cannot respond.",
|
|
"o_System_Prompt": "System Prompt",
|
|
"o_Online_STT_Text": "Online STT",
|
|
"o_Online_STT_Hint": "If enabled, speech-to-text is processed via OpenRouter.",
|
|
"o_Use_Desktop_Audio_Text": "Use Desktop Audio",
|
|
"o_Use_Desktop_Audio_Hint": "If enabled, system audio will be recorded instead of the microphone.",
|
|
"o_Online_STT_Model": "Online STT Model",
|
|
"o_Binary_Path": "Binary Path",
|
|
"o_Model_Path": "Model Path",
|
|
"o_Active_Chat": "Active Chat",
|
|
"o_Active_Model": "Active Model",
|
|
"o_Context_Mode_Text": "Context Mode",
|
|
"o_Current": "Current",
|
|
"o_Pending_Attachments": "Pending attachments",
|
|
"o_Reference_Messages": "Reference messages",
|
|
"o_image": "image",
|
|
"o_file": "file",
|
|
"o_File_Changes": "File Changes",
|
|
"o_Files": "Files",
|
|
"o_Apply_Applied": "Applied",
|
|
"o_Apply_Failed": "Failed",
|
|
"o_Pin_Current_Chat": "Pin Current Chat",
|
|
"o_Unpin_Current_Chat": "Unpin Current Chat",
|
|
"o_Send_Message": "Send Message",
|
|
"o_sub_Send_Message": "Type your message. Press Enter on an empty line to finish.",
|
|
"o_Empty_Message": "Empty message was not sent.",
|
|
"o_AI_Response": "Sent. Waiting for AI response...",
|
|
"o_Drag_Drop": "Enter a file path or drag and drop the file",
|
|
"o_to_Menu": "Press Enter to return to the menu...",
|
|
"o_Empty_Input": "You cannot enter an empty value.",
|
|
"o_Type_ESC": "To cancel, type “esc” on the first line and press Enter.",
|
|
"o_Press_ESC": "You can cancel the selection by pressing ESC.",
|
|
"o_Change_Chat": "Change Chat",
|
|
"o_Rename_Chat": "Chat to be renamed",
|
|
"o_New_Value": "Please enter a new value:",
|
|
"o_Chat_Rename_Fail": "The new name must be different from the current name.",
|
|
"o_Chat_Not_Found": "Chat not found.",
|
|
"o_Delete_Error": "Delete error: {error}",
|
|
"o_Invalid_Name": "Invalid name.",
|
|
"o_Chat_Name_Exists": "A chat with this name already exists.",
|
|
"o_Rename_Error": "Rename error: {error}",
|
|
"o_No_Chats": "No chats found.",
|
|
"o_AI_Model": "AI Model",
|
|
"o_Change_AI_Model": "Change AI Model",
|
|
"o_Available_Languages": "Available languages",
|
|
"o_Language_Select_Hint": "You can choose one of the language codes below.",
|
|
"o_Invalid_Language_Code": "Invalid language code. This language was not found in the config.",
|
|
"o_Saved": "Saved",
|
|
"o_Go_Back": "Go Back",
|
|
"o_Exit": "Exit",
|
|
"o_Selection": "Selection",
|
|
"o_Error": "Error",
|
|
"o_Failed": "Failed",
|
|
"o_Error_With_Detail": "❌ Error:\n{error}",
|
|
"o_Config_Not_Found": "Config file not found.",
|
|
"o_Config_Read_Error": "Config could not be read: {error}",
|
|
"o_Chat_Read_Error": "Chat could not be read: {error}",
|
|
"o_OpenRouter_Key_Missing": "OpenRouter API Key not found.",
|
|
"o_Tavily_API_Key_Missing": "Tavily API key is not found.",
|
|
"o_Local_Model": "Local Model",
|
|
"o_Local": "Local",
|
|
"o_Online": "Online",
|
|
"o_Invalid_Value": "Invalid value",
|
|
"o_Invalid_Local_Model_Format": "Invalid local model format: {model}. Expected: provider/model",
|
|
"o_Local_Provider_Not_Found": "Local provider not found: {provider}",
|
|
"o_Local_Provider_Disabled": "Local provider is disabled: {provider}",
|
|
"o_On": "ON",
|
|
"o_Off": "OFF",
|
|
"o_Edit_Mode": "Enable file editing?",
|
|
"o_Yes": "yes",
|
|
"o_No": "no",
|
|
"o_History": "History",
|
|
"o_Commands": "Commands",
|
|
"o_Status": "Status",
|
|
"o_Open": "Open",
|
|
"o_Use_Timeout": "Use timeout",
|
|
"o_Timeout": "Timeout",
|
|
"o_Use_Silence_Auto_Stop": "Use silence auto-stop",
|
|
"o_Silence_Duration": "Silence duration",
|
|
"o_No_Links": "No links.",
|
|
"o_Open_Link_Number_Or_Enter": "Open link number or Enter",
|
|
"o_No_Text_To_Copy": "No text to copy.",
|
|
"o_No_User_Message_For_Regen": "No user message found for regen.",
|
|
"o_No_Downloadable_Items": "No downloadable files, images, or voices.",
|
|
"o_No_Openable_Items": "No file/image/voice to open.",
|
|
"o_No_Openable_Folder": "No file/image/voice folder to open.",
|
|
"o_Photo_Capture_Cancelled_Or_Failed": "Photo capture was cancelled or failed.",
|
|
"o_Assistant": "Assistant",
|
|
"o_Generated_Images": "Generated images",
|
|
"o_Image_Added": "Added (image): {name}",
|
|
"o_File_Added": "Added (file): {name}",
|
|
"o_Photo_Added": "Photo added: {name}",
|
|
"o_Local_STT_Failed": "Local STT failed.",
|
|
"o_Local_STT_Error": "Local STT error: {error}",
|
|
"o_STT_Recording_Silence": "Recording stopped by silence.",
|
|
"o_Unsupported_Local_Provider": "Unsupported local provider: {provider}",
|
|
"o_OpenRouter_API_Error": "OpenRouter API error ({status_code}): {details}",
|
|
"o_OpenRouter_Empty_Stream": "OpenRouter returned an empty stream.",
|
|
"o_Request_Timeout": "The request timed out.",
|
|
"o_Internet_Connection_Error": "Connection error. Check your internet connection.",
|
|
"o_Local_Connection_Error": "{provider} connection error.\nThe local AI server could not be reached.\nExpected address: {base_url}\nThe {provider} server may not be running.",
|
|
"o_Ollama_API_Error": "Ollama API error ({status_code}): {details}",
|
|
"o_Ollama_JSON_Parse_Error": "Ollama JSON parse error: {error}",
|
|
"o_Ollama_Empty_Response": "Ollama returned an empty response.",
|
|
"o_Script_Not_Found": "Script not found: {path}",
|
|
"o_Photo_Capture_Error": "Photo capture error: {error}",
|
|
"o_Voice": "voice",
|
|
"o_STT_Recording": "🎙️ Recording...",
|
|
"o_STT_Press_Enter_Stop": "Press ENTER to stop.",
|
|
"o_STT_Recording_Timeout": "Recording stopped by timeout.",
|
|
"o_STT_Error": "STT error: {error}",
|
|
"o_No_Speech_Detected": "No speech detected.",
|
|
"o_OpenRouter_STT_Key_Missing": "open_router_key is missing",
|
|
"o_Whisper_Bin_Not_Found": "whisper_cpp_bin not found: {path}",
|
|
"o_Whisper_Model_Not_Found": "whisper_cpp_model not found: {path}",
|
|
"o_Whisper_Failed": "whisper.cpp failed",
|
|
"o_Desktop_Audio_Monitor_Not_Found": "Monitor source for desktop audio was not found.",
|
|
"o_Microphone_Source_Not_Found": "Microphone source was not found.",
|
|
"o_Desktop_Audio_Requires_PWRecord": "pw-record is required for desktop audio capture.",
|
|
"o_Microphone_Device_Not_Found": "Microphone device was not found.",
|
|
"o_Audio_Recorder_Not_Found": "pw-record or arecord was not found.",
|
|
"o_Audio_Record_Start_Failed": "Audio recording could not be started: {error}",
|
|
"o_Unknown_Error": "unknown error",
|
|
"o_Apply_Changes_Request": "File changes need approval",
|
|
"o_Apply_Failed_Input": "❌ APPLY FAILED: {error}",
|
|
"o_Apply_No_Ops": "no ops to apply",
|
|
"o_Apply_File_Not_Found": "file not found: {path}",
|
|
"o_Apply_Find_Failed": "find failed: anchor not found in {name}",
|
|
"o_Apply_Unknown_Mode": "unknown mode: {mode}",
|
|
"o_Apply_No_Changes": "no changes produced (maybe identical content?)",
|
|
"o_Apply_Exception": "exception: {error}",
|
|
"o_Provider_Command_No_Command": "{provider}\n\nNo command is set.",
|
|
"o_Provider_Command_Timeout": "{provider}\n\nCommand timed out:\n{command}",
|
|
"o_Provider_Command_Error": "{provider}\n\n{error}",
|
|
"o_Provider_Command_Success": "{provider}\n\nCommand executed successfully.\n\n{command}",
|
|
"o_Provider_Command_Failed": "{provider}\n\nCommand failed.\n\n{command}\n\nExit code: {code}",
|
|
"o_Start_Local_Server_From_App": "Start the local server from the {provider} app.",
|
|
"o_System_Force_Language": "The user prefers you to answer in this language: {lang_name}",
|
|
"o_System_Response_Style": "The user prefers this response style: {response_style}",
|
|
"o_System_Reference_Messages": "The following messages are provided only as references to understand the user's latest message. Do not answer those messages. Answer only the latest user message.",
|
|
"o_System_Web_Search_Results": "Web search results are below. Answer the user's last question using only these results.",
|
|
"o_System_Web_Search_Results_With_Fallback": "Web search results are below. Answer the user's last question using only these results. If the results are not enough, say that clearly.",
|
|
"o_STT_Transcription_Prompt": "Speech-to-text only. Return only verbatim transcription. No replies, no explanations, no apologies, no labels. If speech is unclear or missing, return exactly EMPTY_AUDIO.",
|
|
"o_Base_System_Prompt": "This message is a set of instructions.\nDo not respond to this message.\nOnly respond to user messages.\nOnly respond to the most recent user message.",
|
|
"o_Prompt_Copyable": "In this conversation, you may be asked to generate emails, code, commands, configuration files, or text that needs to be copied exactly.\n\nFORMAT RULE:\nIf the user's request requires generating directly copyable content (such as code, scripts, terminal commands, configuration files, etc.), use the following format:\n\ntitle\n<short and descriptive title>\ntitle\ncopy\n<code or copyable content>\ncopy\n\nRules:\n- The words 'title' and 'copy' must be on their own lines.\n- The 'title' block must appear before the code block.\n- Do not use this format if there is no code.\n- Do not use this format in normal conversational responses.\n- Only use this format when the content is genuinely meant to be copied.",
|
|
"o_Prompt_Apply": "[FILE] BLOCKS:\n- If the user has attached a file, its content is already provided in this message in the format [FILE] ... [CONTENT] ... [/CONTENT].\n- Do not ask the user to paste code or re-upload the file.\n- If changes are required, read and operate on the [CONTENT].\n- Do not request the file content again.\n- Use the path value exactly as provided in the [FILE] block.\n\nFILE MODIFICATION RULE:\n- If 'editable: true', you may suggest modifications.\n- If 'editable: false', NEVER suggest changes.\n- Do not generate an apply block for editable:false files.\n- If no changes are needed, do not generate an apply block.\n\nAPPLY (AUTOMATIC PATCH) PROTOCOL:\nIf and only if the user requests changes to an editable:true file,\nappend the following block at the END of your response:\n\napply\n[\n {\n \"path\": \"/absolute/path/to/file\",\n \"find\": \"EXACT ANCHOR TEXT FOUND IN FILE\",\n \"mode\": \"before|after|replace\",\n \"text\": \"TEXT TO INSERT OR REPLACE\"\n }\n]\napply\n\nRules:\n- The apply block must contain ONLY JSON.\n- mode must be one of: before, after, replace.\n- path MUST be an absolute path.\n- find must be a short/medium anchor that exists exactly in the file.\n\nAPPLY SUMMARY LINE RULE:\n- If you generate an apply block, NEVER use definitive/finished statements.\n- Write exactly ONE summary line before the apply block.",
|
|
"o_Prompt_File_Create": "[FILE] BLOCKS:\n- If previous assistant messages contain a [GENERATED_FILES] block, and the user refers to 'the last file', 'the file you created', etc., use those path values.\n- Do not ask the user to upload the file again.\n- If file content is already provided in a [FILE] block, do not request it again.\n\nFILE_CREATE PROTOCOL:\nIf the user wants to edit an editable:true DOCX, XLSX, or text-based file and receive it as a new file, append the following block at the END of your response:\n\nfile_create\n[\n {\n \"source_path\": \"/absolute/path/to/source.docx\",\n \"format\": \"docx\",\n \"output_name\": \"edited-file.docx\",\n \"content\": \"New file content\"\n }\n]\nfile_create\n\nRules:\n- Do not include explanations outside JSON.\n- format must be one of: docx, xlsx, txt, md.\n- For DOCX, content must be plain text.\n- For XLSX, content must be a JSON table or supported operation object.\n- The content must be a 2D JSON array whenever possible.\n- Each inner array represents one row in Excel.\n- Avoid rewriting large XLSX files row by row.\n- Do not wrap the entire table inside one row.\n- Each row must be separate.",
|
|
"o_Prompt_Web_Search": "If current or unknown information is needed, do not answer normally. Instead, return only this JSON format:\n{\"tool\":\"web_search\",\"query\":\"search query\"}\n\nRules:\n- Use this only when current information is really needed.\n- Use it for match scores, current prices, latest news, new versions, today's information, etc.\n- If web results are provided to you, answer normally using only those results.\n- When web search results are provided, include a short 'Sources' section at the end of your answer. Use the source titles and URLs exactly as provided. Do not invent sources.\n- When web search results are used, write source URLs as full https:// links.",
|
|
"o_Prompt_Structured": "When needed, provide responses in a clean, structured, and parseable format. If JSON is requested, return only valid JSON.",
|
|
"o_Prompt_Code": "When writing code, produce clean, directly usable code without unnecessary explanation. If modifying existing code, preserve the original structure as much as possible.",
|
|
"o_Prompt_PDF_Text_Only_To_DOCX_Rule": "PDF TEXT REWRITE RULE:\nThe PDF text is already provided inside [CONTENT].\nDo not request file paths.\nDo not ask the user to upload the file again.\n\nRules:\n- Do not generate images.\n- Do not use HTML, markdown, or image placeholders.\n- Output plain text only.\n- Rewrite according to the request while preserving meaning.\n- Do not invent new content.\n\nReturn ONLY in file_create DOCX format:\nfile_create\n[\n {\n \"source_path\": \"/absolute/path/to/source.pdf\",\n \"format\": \"docx\",\n \"output_name\": \"edited-document.docx\",\n \"content\": \"Final rewritten text\"\n }\n]\nfile_create",
|
|
"o_Prompt_PDF_Mixed_Text_Only_Rule": "PDF MIXED TEXT-ONLY RULE:\nThe PDF contains both text and images, but only text should be modified.\nDo not modify images.\n\nRules:\n- Rewrite text only.\n- Do not invent new content.\n- Do not modify images.\n\nReturn ONLY JSON:\n{\n \"type\": \"pdf_mixed_rewrite\",\n \"content\": \"File created.\",\n \"text_replacements\": {\n \"TEXT_BLOCK_ID\": \"new text\"\n },\n \"image_replacements\": {}\n}"
|
|
}
|