通过Cline智能体完成python点名系统

前沿:什么是智能体

OpenAI的元老翁丽莲于2023年6月在个人博客首次提出了现代AI Agent架构。智能体(AI Agent)是一种能够自主行动、感知环境、做出决策并与环境交 互的计算机系统或实体,通常依赖大型语言模型作为其核心决策和处理单元 ,具备独立思考、调用工具去逐步完成给定目标的能力。

举例:以前你让大模型帮你查询一个机票,或者对比多个航班的优劣,飞机和高铁哪个更方便,性价比更高,这些很常见,但它不是智能体,智能体就像一个助手,你只需要告诉它,我几月几号需要去哪里,帮我预定一下机票,那么它就会去查询,对比,下单,成交,并到一定时间通知你,跟你的贴身小秘书一样,这样的东西叫做智能体,也就是说智能体比大模型做的更多,更全面。

前段时间非常火的 Manus 就是一个非常牛的智能体。

Cline是VS Code的插件,可以通过调用LLM的API实现自动化开 发,可被视为用于开发智能体。 它是一个github上的开源项目,仓库地址如下:

https://github.com/cline/cline

一、VS Code 下载

下载地址:Visual Studio Code - Code Editing. Redefined

二、VS Code 汉化

在 Visual Studio Code 中进行汉化(设置中文界面)的方法如下:

步骤 1:安装简体中文语言包

打开 Visual Studio Code。

打开VS Code,点击左侧边栏【Extensions】(扩展)按钮

在搜索框中输入“ Chinese (Simplified)”有个【install】的按钮。点击它很快就安装完了

安装完成以后,关闭 VS Code,再重新打开后,发现还是英文的。中文插件没起作用。这怎么办?

步骤 2:切换到中文界面

安装完中文语言包后,VS Code 会提示是否重新加载以应用语言设置。如果没有弹出提示,您可以手动切换语言:

按 Ctrl + Shift + P 打开命令面板。

输入 Configure Display Language,然后选择它。

在弹出的语言选项中选择 zh-CN(简体中文)。

选择后,VS Code 会提示您重新加载窗口,点击 Reload(重新加载)。

步骤 3:确认界面语言已切换

重新加载后,VS Code 界面将会显示为中文。

这样,你就可以将 Visual Studio Code 完成汉化

三、 VS Code配置

通过Cline插件将DeepSeek集成到VSCode。

步骤1:插件市场选择Cline,安装 即可

步骤2:安装完成后点击左侧图标打 开Cline

步骤3:注册硅基流动

注册地址:硅基流动,加速 AGI 普惠人类

新建一个 key 并复制

复制 Mode ID:

硅基流动的 base url 为:https://api.siliconflow.cn/v1

步骤 4: 配置API 信息

最后点击 “Let's go !”

四、Cline 的使用

默认全选即可。 最多请求数量可根据实际需求灵活调整

五、演示需求

步骤一:设置一个文件夹

在任意位置创建空目录 dianming01,作为Cline的工作目录 在VSCode中打开该目录。

步骤2:选择Cline工作模式

大多数情况下,直接使用Act模式即可,特别复杂的任务才需要 先拆分任务,设计工作流,然后再执行。

步骤3:在聊天窗口中写入以下内容发送 给Cline

提示词:

帮我实现一个 dianming.py程序,可以进行随机点名,点名的名单来自于一个 person.txt 文件,点名时界面上有名字滚动的效果,以及音效。

需要安装 python 环境:

自动帮我写代码中.....

遇到需要点击的按钮就点,就允许即可,最终第一版效果如下:

继续修饰关键词:

界面上没有开始按钮和结束按钮,点击开始按钮,就进入随机点名环节,点名时名字在界面滚动,并播放音乐,点击结束按钮,音乐停止,名字也停止滚动,将最终的人名显示在页面上。生成的程序中音乐音效不好,现在给你了一个登场.mp3这个音乐文件,路径和dianming.py 在一个目录下,请重新生成代码。

经过修改和思考,cline 自行修改代码,并运行结果,如下:

这显然还不是我们想要的效果,于是继续修改提示词:

提示词:

编写一个python点名系统,文件名叫做dianming.py,它需要读取person.txt 文件中的名字,并加载1.mp3音乐,页面上有两个按钮,点击“开始点名”按钮,名字有滚动特效,并播放1.mp3音乐,当点击“停止点名”按钮,显示选中的姓名,并停止音乐。

点击开始,音乐起,并且随机点名:

点击“结束”,点名完毕。

六、随堂代码

import pygame
import random
import tkinter as tk
from tkinter import font

class RollCallSystem:
    def __init__(self, master):
        self.master = master
        master.title("课堂点名系统")
        master.geometry("600x400")

        # 初始化音乐播放
        pygame.mixer.init()

        # 加载学生名单
        with open('person.txt', 'r', encoding='utf-8') as f:
            self.names = [line.strip() for line in f.readlines()]
        
        # 创建界面元素
        self.create_widgets()
        self.is_rolling = False
        self.current_name = ""

    def create_widgets(self):
        # 使用更美观的字体
        custom_font = font.Font(family="Microsoft YaHei", size=24)

        # 显示姓名的标签
        self.name_label = tk.Label(self.master, text="准备就绪", font=custom_font)
        self.name_label.pack(pady=50)

        # 按钮容器
        button_frame = tk.Frame(self.master)
        button_frame.pack(pady=20)

        # 开始按钮
        self.start_btn = tk.Button(button_frame, text="开始点名", 
                                 command=self.start_rollcall,
                                 bg="#4CAF50", fg="white",
                                 font=("Microsoft YaHei", 14), 
                                 width=15, height=2)
        self.start_btn.pack(side=tk.LEFT, padx=20)

        # 停止按钮
        self.stop_btn = tk.Button(button_frame, text="停止点名", 
                                command=self.stop_rollcall,
                                bg="#F44336", fg="white",
                                font=("Microsoft YaHei", 14),
                                width=15, height=2)
        self.stop_btn.pack(side=tk.LEFT, padx=20)

    def start_rollcall(self):
        if not self.is_rolling:
            self.is_rolling = True
            self.start_btn.config(state=tk.DISABLED)
            pygame.mixer.music.load('1.mp3')
            pygame.mixer.music.play(-1)  # 循环播放
            self.roll_names()

    def roll_names(self):
        if self.is_rolling:
            self.current_name = random.choice(self.names)
            self.name_label.config(text=self.current_name, fg=self.get_random_color())
            self.master.after(100, self.roll_names)  # 每100ms更新一次

    def get_random_color(self):
        colors = ["#2196F3", "#9C27B0", "#FF9800", "#E91E63"]
        return random.choice(colors)

    def stop_rollcall(self):
        if self.is_rolling:
            self.is_rolling = False
            self.start_btn.config(state=tk.NORMAL)
            pygame.mixer.music.stop()
            self.name_label.config(fg="black")
            # 显示最终结果
            self.master.after_cancel(self.roll_names)
            self.name_label.config(text=f"选中学生:{self.current_name}")

if __name__ == "__main__":
    root = tk.Tk()
    app = RollCallSystem(root)
    root.mainloop()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

闫哥大数据

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

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

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

打赏作者

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

抵扣说明:

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

余额充值