# PR Checklist
- [x] Did you check if it works normally in all models? *Not applicable
since this is a JSON translation update.*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? *Not applicable since this is a JSON translation
update.*
- [x] Did you added a type def? *Not applicable since no type
definitions are involved in this PR.*
# Description
- Completed translation for the current version
- Adjusted wording:
- Changed "你" to "您" for consistent use of formal language
- Made minor refinements to better align with Traditional Chinese usage
(e.g., "圖像" changed to "圖片", etc.)
- Completed translation for the current version
- Adjusted wording:
- Changed "你" to "您" for consistent use of formal language
- Made minor refinements to better align with Traditional Chinese usage (e.g., "圖像" changed to "圖片", etc.)
# PR Checklist
- [ ] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [x] Did you added a type def?
# Description
This PR fixes the image input functionality for the Gemini model.
### Issue with Existing Code
The previous implementation attempted to process images in the following
way:
1. In the `OpenAIChat` type, if the `memo` field started with
`inlayImage`, the `content` field's value was copied into a variable
called `pendingImage`.
2. Later, if the `chat` role was `'user'` and `pendingImage` was not an
empty string, the code processed the image.
However, it does not seem to work as expected in the current state.
### Update
I updated the image input handling to align with the method used in
RisuAI for handling GPT’s image input. Specifically, the changes
include:
1. In `image.ts`, I explicitly specified the `gemini-exp` model.
2. If the `chat` object has a `multimodals` field and the `role` is
`user`:
- I created an array called `geminiParts` to store `GeminiPart` objects.
- The `chat.content` value is set as the `text` field of the
`GeminiPart` object in the array.
- I then iterated over `chat.multimodals` and created an object for each
`image` type, formatting it to match the Gemini structure, and added it
to the `geminiParts` array.
- After the iteration, the `geminiParts` array is assigned to the
`parts` field of `reformatedChat`.
### Notes
- I removed the previous non-functional code entirely. If this causes
any inconvenience or violates any conventions, I sincerely apologize.
- As the final name of the next-generation Gemini model is currently
unknown, I restricted the functionality to the **gemini-exp** model in
the `image.ts` file for now. This can be updated later when the official
name is confirmed.
The Gemini model is currently very widely used, so I kindly request you
to review the updated code. If you have any feedback or if the changes
are not acceptable, I completely understand if this PR is rejected.
Thank you for your time and consideration! Let me know if there's
anything I can improve or clarify.
# PR Checklist
- [x] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?
# Description
There was an issue where the autoTranslateCachedOnly option was being
ignored when sending messages. This occurred due to the way the
translated variable was initialized with let translated =
$state(DBState.db.autoTranslate).
# PR Checklist
- [x] Did you check if it works normally in all models? *ignore this
when it dosen't uses models*
- [x] Did you check if it works normally in all of web, local and node
hosted versions? if it dosen't, did you blocked it in those versions?
- [ ] Did you added a type def?
# Description
This PR fixes hypav2 issue where the "search_document: " string is not
truncated correctly.
If the "search_document: " string is not truncated correctly, it will
cause "t: " to remain within the <Past Events Details></Past Events
Details> tag.
Edit: This PR also add memo "supaPrompt" to detect supaMemory model
requests in the plugin