ChatGPTNextWeb / ChatGPT-Next-Web

A cross-platform ChatGPT/Gemini UI (Web / PWA / Linux / Win / MacOS). 一键拥有你自己的跨平台 ChatGPT/Gemini 应用。
https://app.nextchat.dev/
MIT License
72.45k stars 57.57k forks source link

add google api safety settings by Settings page #4847

Open yeung66 opened 2 weeks ago

yeung66 commented 2 weeks ago

problem

Google's Gemini API has safety settings and will block some content that they think dangerous. Google supports setting a security filtering level to control the scope of filtering. The current security filtering level is hard-coded as BLOCK_ONLY_HIGH, which will only block content that Google deems highly likely to be unsafe. This hardcoded approach is not adjustable and lacks flexibility.

So an option for selecting the security filtering level has been added to the settings page. The default remains BLOCK_ONLY_HIGH, but users can now choose other security levels.

related issues:

Summary by CodeRabbit

vercel[bot] commented 2 weeks ago

@yeung66 is attempting to deploy a commit to the NextChat Team on Vercel.

A member of the Team first needs to authorize it.

coderabbitai[bot] commented 2 weeks ago

Walkthrough

The recent updates focus on integrating and configuring Google safety settings within the app. These changes include the addition of new enumerations for safety thresholds, UI elements for configuration, localization support, and updates to the access store to include default safety settings.

Changes

File Change Summary
app/client/platforms/google.ts Declared accessStore before using it in setting threshold values and minor formatting changes.
app/components/settings.tsx Added UI elements for configuring Google safety settings within the Settings component.
app/constant.ts Introduced GoogleSafetySettingsThreshold enum with new block level options.
app/locales/cn.ts Added GoogleSafetySettings with titles and subtitles related to safety filtering levels.
app/locales/en.ts Added GoogleSafetySettings entries under GeminiPro section for titles and subtitles.
app/store/access.ts Added googleSafetySettings property to DEFAULT_ACCESS_STATE using the new enum.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant SettingsUI
    participant AccessStore
    participant GoogleAPI

    User->>SettingsUI: Open Settings
    SettingsUI->>AccessStore: Get Current Safety Settings
    AccessStore-->>SettingsUI: Provide Safety Settings
    User->>SettingsUI: Update Safety Settings
    SettingsUI->>AccessStore: Save New Safety Settings
    AccessStore-->>SettingsUI: Acknowledge Changes
    User->>GoogleAPI: Make Request using New Safety Settings
    GoogleAPI-->>User: Respond with Filtered Data

Poem

A change came like a summer breeze,
Google safety eased with ease,
Thresholds set with care and flair,
In settings, users now prepare.
Control and filter what they see,
A safer cloud for you and me.
🐰✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
github-actions[bot] commented 2 weeks ago

Your build has completed!

[Preview deployment]()

lioensky commented 3 days ago

So,Has the feature of this security settings interface been implemented? Still not on the agenda?