使用说明
TheKerr项目
描述
TheKerrProject是一个web应用程序,旨在根据用户提供的文本提示生成图像。它利用谷歌人工智能平台(特别是像Imagen这样的模型)的力量进行图像创建,并通过使用谷歌Gemini API生成与图像提示相关的诙谐评论来增强用户体验。
特性
- 基于提示的图像生成: 只需键入描述性文本提示即可创建独特的图像。
- 巧妙的评论整合: 在生成图像之前,获取与您的图像想法相关的有趣的AI生成评论。
- 交互式用户界面: 体验流畅的工作流程,状态更新清晰(例如“正在生成…”、“错误消息”)。
- 可下载图像: 轻松将生成的杰作保存到本地设备。
入门/如何跑步
- 打开应用程序: 要运行应用程序,只需打开
image_gen_app/index.html现代网络浏览器(如Chrome、Firefox、Safari、Edge)中的文件。 - 生成图像:
- 在页面上找到输入字段。
- 输入一个文本提示,描述您要创建的图像(例如,“一只戴着巫师帽的猫骑着彩虹上的独角兽”)。
- 按Enter键。
- 该应用程序将首先生成一条诙谐的评论,然后继续生成您的图像。
依赖项
该项目依赖于以下客户端JavaScript库,这些库包含在 image_gen_app/libs/ 目录:
- 萨德 (
image_gen_app/libs/zod/index.mjs):用于模式声明和数据验证。 - 事件源 (
image_gen_app/libs/eventsource/eventsource.js):允许处理服务器发送的事件,这对于流式更新非常有用。 - 事件源解析器 (
image_gen_app/libs/eventsource-parser/):用于解析EventSource流的实用程序集合。 - MCP-SDK (
image_gen_app/libs/mcp-sdk/):此SDK可能用于与模型上下文协议(MCP)服务器交互,可能用于扩展功能或管理AI模型交互。
已知问题
- 安全漏洞(硬编码API密钥):
- 目前,Google AI平台和Google Gemini的API密钥以及承载令牌直接硬编码到客户端JavaScript文件中(
image_gen_app/index.html第257-260、264和454行)。 - 这是一个重大的安全风险。 在客户端代码中公开API密钥和令牌允许未经授权的用户可能滥用它们,从而导致意外收费或服务滥用。
- 建议: 对于任何非平凡或公共部署,这些密钥必须移动到安全的后端服务。然后,客户端应用程序应向该后端发出请求,该后端将依次调用Google API。
- 目前,Google AI平台和Google Gemini的API密钥以及承载令牌直接硬编码到客户端JavaScript文件中(
未来的增强功能
- 安全的API密钥管理: 实现后端服务(例如,使用Node.js、Python/Flask等),以安全地存储和使用API密钥。
- 型号选择和参数: 允许用户从不同的图像生成模型中进行选择,或调整图像大小、样式或质量等参数。
- 图像历史记录: 为用户存储和显示以前生成的图像库或列表。
- 改进的错误处理: 为各种故障场景(API错误、网络问题等)提供更具体、更用户友好的错误消息。
- 用户身份验证: 引入用户帐户以保存首选项、图像历史记录或管理API使用情况。
- 高级提示功能: 探索负面提示、图像到图像生成或提示权重等选项。
技术概述(简化)
- 前端: 使用标准web技术构建:HTML、CSS和现代JavaScript(利用ES模块)。
- 外部API:
- 谷歌人工智能平台(可能是通过中指定的端点的Imagen模型
image_gen_app/index.html)用于核心图像生成。 - Google Gemini API(型号
gemini-1.5-flash-latest通过端点image_gen_app/index.html)因为他能发表诙谐的评论。
- 谷歌人工智能平台(可能是通过中指定的端点的Imagen模型
