为了给你的网站增加一个免费的AI助手,纯HTML是无法直接实现的,因为HTML本身只是标记语言,它无法处理逻辑或与服务器通信。不过,你可以通过结合HTML和JavaScript来创建一个简单的前端助手。为了实现一个基本的AI聊天助手,你还需要一些后端服务来处理智能对话,比如使用免费的API服务(如OpenAI的GPT API或者其他免费的对话API)。

这里是一个简单的示范,使用HTML和JavaScript来实现一个与用户对话的助手,前端部分依赖于API请求来生成对话。

步骤1: HTML 结构

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AI助手</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f4f4f9;
        }
        #chatbox {
            width: 100%;
            max-width: 600px;
            margin: 20px auto;
            padding: 10px;
            background-color: #fff;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        #messages {
            height: 400px;
            overflow-y: auto;
            padding: 10px;
            border-bottom: 1px solid #ddd;
        }
        .message {
            padding: 10px;
            margin: 10px 0;
            border-radius: 10px;
            background-color: #f1f1f1;
        }
        .user-message {
            background-color: #d1e7ff;
            text-align: right;
        }
        .ai-message {
            background-color: #e1f5e1;
            text-align: left;
        }
        #input-container {
            display: flex;
            padding: 10px;
        }
        #input-box {
            flex: 1;
            padding: 10px;
            border-radius: 20px;
            border: 1px solid #ddd;
            font-size: 16px;
        }
        #send-button {
            padding: 10px 20px;
            margin-left: 10px;
            background-color: #4CAF50;
            color: white;
            border: none;
            border-radius: 20px;
            cursor: pointer;
        }
        #send-button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <div id="chatbox">
        <div id="messages"></div>
        <div id="input-container">
            <input type="text" id="input-box" placeholder="输入您的问题...">
            <button id="send-button">发送</button>
        </div>
    </div>

    <script>
        const sendButton = document.getElementById('send-button');
        const inputBox = document.getElementById('input-box');
        const messages = document.getElementById('messages');

        sendButton.addEventListener('click', async () => {
            const userInput = inputBox.value.trim();
            if (userInput) {
                displayMessage(userInput, 'user');
                inputBox.value = '';
                await getAIResponse(userInput);
            }
        });

        async function getAIResponse(userInput) {
            // 这里可以替换成实际的API请求,例如OpenAI的API
            // 示例是模拟AI的返回
            const aiResponse = await fetchAIResponse(userInput);
            displayMessage(aiResponse, 'ai');
        }

        function displayMessage(message, sender) {
            const messageElement = document.createElement('div');
            messageElement.classList.add('message', sender === 'user' ? 'user-message' : 'ai-message');
            messageElement.textContent = message;
            messages.appendChild(messageElement);
            messages.scrollTop = messages.scrollHeight; // 滚动到最新消息
        }

        // 模拟一个AI的响应,实际项目中你需要接入API
        async function fetchAIResponse(userInput) {
            // 这里是一个模拟延迟
            await new Promise(resolve => setTimeout(resolve, 1000));
            return `AI回答: 您问的是 "${userInput}",这是一个自动生成的回复。`;
        }
    </script>
</body>
</html>

说明:

  1. HTML 结构部分创建了一个简单的对话框,包含消息显示区域 (#messages) 和输入框 (#input-box)。
  2. CSS 用来简化和美化界面。我们使用了简单的色调和布局来使聊天框更友好。
  3. JavaScript 主要通过事件监听用户点击“发送”按钮后,获取输入内容并展示到对话框。之后,它调用模拟的 fetchAIResponse 函数返回一个简单的AI回复。

如何扩展:

  1. 实际的API集成:如果你有API密钥(例如OpenAI GPT-3或GPT-4的API),你可以将 fetchAIResponse 替换为实际的API调用。
    • 例如使用 fetch 函数发起HTTP请求,获取API的返回内容并显示在页面上。
  2. 样式和功能增强:你可以添加更多的样式和互动功能,例如对话框更复杂的动画效果,或语音输入等。

接入OpenAI API的基本步骤:

你可以通过以下的方式集成OpenAI的API:

  1. 注册并获取API密钥:访问 OpenAI官网 注册并获取API密钥。
  2. 替换fetchAIResponse函数:用OpenAI API替换模拟的响应函数。你可以用类似下面的代码来获取响应:
async function fetchAIResponse(userInput) {
    const response = await fetch('https://api.openai.com/v1/completions', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer YOUR_API_KEY`
        },
        body: JSON.stringify({
            model: 'text-davinci-003', // 或其他模型
            prompt: userInput,
            max_tokens: 100
        })
    });
    const data = await response.json();
    return data.choices[0].text.trim();
}

记得将 YOUR_API_KEY 替换为你自己的API密钥。

通过这种方式,你就可以为你的网站提供一个免费的、简单的AI聊天助手。