DeepSite,堪称浏览器中的 Cursor!

文章目录

一、介绍

二、演示

1)提示词:写一个小蜜蜂的游戏

2)提示词:写一个烟花特效

3)提示词:爬取漫画网站上指定页码的漫画

4)提示词:写一个类似微信聊天的app

三、部署

1. 登入官网,需要科学上网

 2. 本地部署

1)克隆GitHub镜像地址

2)修改llm配置

3)npm安装和构建安装:

4)启动服务 最后npm start启动就行了:

四、结语


一、介绍

刚刚试了部署在 Hugging Face(一个开源社区) 上的一个神器 DeepSite,堪称浏览器的 cursor ,稍微有点惊叹。

DeepSite 是集成了最新的 DeepSeek V3 的开发工具,使用这个工具你不需要配置环境、安装,只需要打开一个网页,输入你想要开发的游戏或者应用,等着预览运行就好了。

二、演示

话不多说,来看看实机演示:

1)提示词:写一个小蜜蜂的游戏

2)提示词:写一个烟花特效

3)提示词:爬取漫画网站上指定页码的漫画

生成的代码:结构非常清晰!!

import os
import requests
from bs4 import BeautifulSoup
import time
import json


def download_xkcd_comics(start_comic=1, end_comic=None, save_dir='xkcd_comics'):
    """
    下载XKCD漫画

    参数:
        start_comic (int): 开始下载的漫画编号(默认为1)
        end_comic (int): 结束下载的漫画编号(默认为最新漫画)
        save_dir (str): 保存漫画的目录(默认为'xkcd_comics')
    """
    # 创建保存目录
    os.makedirs(save_dir, exist_ok=True)

    # 元数据列表
    metadata = []

    # 获取最新漫画编号
    if end_comic is None:
        response = requests.get('https://xkcd.com/')
        response.raise_for_status()
        soup = BeautifulSoup(response.text, 'html.parser')
        end_comic = int(soup.select_one('a[rel="prev"]')['href'].strip('/'))

    # 遍历所有漫画
    for comic_num in range(start_comic, end_comic + 1):
        try:
            print(f"正在下载漫画 #{comic_num}...")

            # 构建URL
            if comic_num == 404:
                print("跳过404页面(特殊页面)")
                continue

            url = f'https://xkcd.com/{comic_num}/'

            # 获取页面内容
            response = requests.get(url)
            response.raise_for_status()

            # 解析HTML
            soup = BeautifulSoup(response.text, 'html.parser')

            # 提取漫画信息
            comic_elem = soup.select_one('#comic img')
            if not comic_elem:
                print(f"漫画 #{comic_num} 没有图片元素,跳过")
                continue

            comic_url = 'https:' + comic_elem['src']
            comic_title = comic_elem['alt']
            comic_alt = comic_elem['title']

            # 下载图片
            img_response = requests.get(comic_url)
            img_response.raise_for_status()

            # 保存图片
            _, ext = os.path.splitext(comic_url)
            filename = f"xkcd_{comic_num}{ext}"
            filepath = os.path.join(save_dir, filename)

            with open(filepath, 'wb') as f:
                f.write(img_response.content)

            # 保存元数据
            metadata.append({
                'number': comic_num,
                'title': comic_title,
                'alt_text': comic_alt,
                'url': comic_url,
                'file': filename
            })

            print(f"成功下载漫画 #{comic_num}: {comic_title}")

            # 保存元数据到JSON文件
            with open(os.path.join(save_dir, 'metadata.json'), 'w') as f:
                json.dump(metadata, f, indent=2)

            # 礼貌爬取,避免被封
            time.sleep(1)

        except Exception as e:
            print(f"下载漫画 #{comic_num} 时出错: {e}")
            continue


if __name__ == '__main__':
    # 示例: 下载最新的10个漫画
    download_xkcd_comics(end_comic=10)

    # 要下载所有漫画,可以这样调用:
    # download_xkcd_comics()

放入python解释器中,可以完美运行:

4)提示词:写一个类似微信聊天的app

(图片没有显示,是因为没有对应的图片资源)

三、部署

1. 登入官网,需要科学上网

官方网址:https://huggingface.co/spaces/enzostvs/deepsite

 2. 本地部署

1)克隆GitHub镜像地址

git clone https://github.com/skywalk163/deepsite

2)修改llm配置

修改server.js文件里从262句开始的base_url、key和模型名字,参考:

const openai = new OpenAI({
  baseURL: 'http://192.168.1.5:1337/v1',
  apiKey: 'your-api-key', // 如果需要认证
});
 
async function chatCompletionStream(prompt) {
  const stream = await openai.chat.completions.create({
    model: 'deepseek-v3', // 你的模型名称
    messages: [{ role: 'user', content: prompt }],
    stream: true,
  });

3)npm安装和构建
安装:

npm install

如果速度慢,就加上镜像

npm config set registry https://registry.npmmirror.com

再执行一下build:

 npm run build

4)启动服务 
最后npm start启动就行了:

 npm start

服务启动,访问端口是3000,用浏览器打开3000端口的web网页即可。

四、结语

整体来说,一句话看着 AI 帮你干活还是挺爽的,一般看着左边的代码一行行的生成,右边预览区域逐渐变成一个像样的东西。

Deepsite  确实有点东西,编程能力还是取决于背后的模型的能力,这个开源项目只是做了一种边开发边预览的工程化实现。

<think>嗯,用户的问题是关于如何在浏览器中运行带有cursor功能的代码。首先,我需要明确“cursor功能”具体指的是什么。在编程中,"cursor"可能有不同的含义,比如数据库游标、鼠标光标效果,或者是某种特定的库功能。根据用户提供的引用内容,特别是引用[3]中的示例代码,看起来用户可能在讨论与数据库交互的游标(cursor),例如Python中的SQLite游标。然而,用户提到想在浏览器中展示,所以可能涉及前端JavaScript与后端数据库的交互。 接下来,我需要考虑用户的实际需求。他们可能想在前端页面上展示从数据库获取的数据,这通常需要后端服务来处理数据库操作,并通过API与前端通信。比如使用Python的Flask或Django框架创建后端,然后前端使用JavaScript获取数据并展示。此外,引用[1]中提到CSS3和开发者工具,可能用户还希望页面有良好的样式和兼容性。 另一个可能性是用户误解了“cursor”的功能,可能指的是页面上的鼠标效果,比如自定义光标样式。这时需要指导用户使用CSS的cursor属性来实现,但这与引用中的数据库游标示例不符,所以需要进一步分析。 查看引用[3]中的代码示例,使用的是SQLite的游标执行UPDATE语句,这属于后端数据库操作。因此,用户可能希望将后端数据库查询的结果展示在浏览器中,这需要前后端结合。比如,使用Python Flask搭建一个Web服务器,处理数据库请求,然后通过路由返回HTML页面或JSON数据,前端用JavaScript获取并渲染数据。 可能用户对前后端交互的流程不太清楚,需要分步骤指导:设置后端API、连接数据库、前端调用API并展示数据。同时,确保代码示例正确,比如使用正确的SQL语句和防止SQL注入的参数化查询,如引用[3]中的示例。此外,引用[2]提到的代码分析工具可能帮助用户理解现有代码,但用户的问题更偏向于如何运行和展示。 需要考虑用户的技术水平,提供清晰的步骤,比如安装必要的库(如Flask、sqlite3),创建路由,编写HTML模板,处理跨域问题(如果前后端分离),以及使用JavaScript的fetch API获取数据。同时,提醒用户注意安全性和错误处理,比如使用try-except块处理数据库异常,避免暴露敏感信息。 总结,用户需要的是如何将后端使用数据库游标的代码集成到Web应用中,并在浏览器中展示结果。需要分步骤说明前后端的设置,代码示例,以及运行方法,确保用户能够按步骤操作并看到效果。</think>要实现浏览器中展示带有数据库游标功能的代码运行效果,需要分为前端展示层和后端数据处理层。以下是具体实现步骤: 一、后端服务搭建(Python Flask示例) ```python from flask import Flask, jsonify import sqlite3 app = Flask(__name__) def get_db_connection(): conn = sqlite3.connect('database.db') conn.row_factory = sqlite3.Row # 使查询结果可转为字典 return conn @app.route('/api/data') def get_data(): try: conn = get_db_connection() cursor = conn.cursor() cursor.execute('SELECT * FROM about_me') # 使用游标查询数据[^3] data = cursor.fetchall() return jsonify([dict(row) for row in data]) except Exception as e: return jsonify({'error': str(e)}), 500 finally: cursor.close() conn.close() if __name__ == '__main__': app.run(debug=True) ``` 二、前端展示页面(HTML+JavaScript) ```html <!DOCTYPE html> <html> <head> <title>数据展示</title> <style> /* 使用CSS3美化展示效果[^1] */ .data-card { border-radius: 12px; box-shadow: 0 4px 8px rgba(0,0,0,0.1); padding: 20px; margin: 20px; transition: transform 0.3s; } .data-card:hover { transform: translateY(-5px); } </style> </head> <body> <div id="content"></div> <script> // 使用Fetch API获取数据 async function loadData() { try { const response = await fetch('http://localhost:5000/api/data'); const data = await response.json(); data.forEach(item => { const card = document.createElement('div'); card.className = 'data-card'; card.innerHTML = ` <h2>${item.name}</h2> <p>${item.description}</p> `; document.getElementById('content').appendChild(card); }); } catch (error) { console.error('数据加载失败:', error); } } window.onload = loadData; </script> </body> </html> ``` 三、运行步骤 1. 安装依赖: ```bash pip install flask ``` 2. 创建SQLite数据库: ```python # init_db.py import sqlite3 conn = sqlite3.connect('database.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE about_me (id INTEGER PRIMARY KEY, name TEXT, description TEXT)''') cursor.execute("INSERT INTO about_me VALUES (1, '示例用户', '这是我的个人简介')") conn.commit() cursor.close() conn.close() ``` 3. 启动服务: ```bash python app.py ``` 4. 访问页面: 打开浏览器访问 `http://localhost:5000` 即可看到带动态加载效果的数据展示[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穿梭的编织者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值