Browser Copilot 开源浏览器扩展,使用现有或定制的 AI 助手来完成日常 Web 应用程序任务。

一、软件介绍

文末提供源码和开源扩展程序下载

     Browser Copilot 是一个开源浏览器扩展,允许您使用现有或定制的 AI 助手来帮助您完成日常 Web 应用程序任务。

      目标是提供多功能的 UI 和简单的框架,以实现和使用越来越多的 copilots(AI 助手)。这些副驾驶可以通过利用浏览器扩展功能来帮助完成各种任务。

以下是这些副驾驶可以做什么的几个示例:

  • 自动激活与特定 Web 应用程序相关的 Copilot。例如,当 Mail Web 应用程序加载到浏览器选项卡中时,Mail Copilot 可以激活。
  • 从当前 Web 应用程序中提取信息。例如,副驾驶可以从邮件 Web 应用程序中提取当前邮件内容,并提供邮件摘要,或者用户可以询问有关邮件内容的问题。
  • 与 Web 应用程序交互。Copilot 可以根据用户请求生成邮件正文。它还可以使用适当的测试数据填充 Web 应用程序表单字段。
  • 使用任何服务 API 提取其他信息或自动执行 Web 应用程序流程。例如,副驾驶可以从 Web 应用程序后端检索有效示例以填充前端表单。
  • 通过将浏览器扩展与 AI 和功能LLM相结合,可以探索许多其他想法和功能。

二、用法

  1. 通过从发行版下载最新版本,在浏览器中安装扩展。要从 zip 文件安装扩展,您需要转到浏览器的“管理扩展”屏幕,启用开发人员模式,然后拖放扩展 zip 文件。
  2. 通过单击其图标打开扩展程序,并通过提供其基本 URL 添加新的 copilot。基 URL 应对应于 manifest.json 和 logo.png 的位置,例如: http://localhost:8000 如果您的代理在本地运行。
  3. 通过单击配置的 Copilot 开始新聊天,或者,如果 Copilot 具有自动激活功能,只需使用浏览器,Copilot 聊天就会在 Copilot 激活时自动出现。
  4. 直接从聊天中保存您的首选提示。要稍后快速访问它们,只需在聊天输入中键入“/”即可。

      在任何时候,您都可以关闭 Copilot,以便稍后通过扩展图标或右键单击页面并选择 Toggle Browser Copilot 来恢复对话。

      如果您不知道任何 copilot URL,此项目在代理文件夹中包含一个简单的 copilot 实现。您可以通过将 agent/sample.env 复制到 agent/.env ,更改其上的环境变量,然后运行 docker-compose up (需要 docker) 来启动它。启动后,您可以通过添加带有 URL http://localhost:8000 的 copilot 来配置扩展以使用它。

      当您激活 copilot (单击 copilot 列表) 时,它将请求一些凭据。使用 test user 和 test password 登录。

       将来,我们计划添加社区贡献的 copilots 目录。因此,如果您创建新的副驾驶,请告诉我们,以便我们可以将它们包含在初始目录中。

三、代理开发

      要开发新的代理,您可以参考 agent-mock、agent-simple 或 agent-extended 文件夹。后者是最完整的,其中包含有关端点和 manifest.json .

      对于开发环境,此项目使用 devbox 和 direnv。

      要安装所有必需的依赖项(在安装 devbox 和 direnv 之后),请运行以下命令:

devbox run install

接下来,在 中设置 agent-extended/.env 适当的环境变量。

为了加快开发速度,您可以注释掉 Keycloak 部分,这样您就不需要在每次想在扩展中尝试 copilot 时都进行身份验证。如果你没有注释掉 Keycloak 部分,那么你需要运行 devbox run keycloak 以启动 Keycloak 进行身份验证,并使用 test test 凭据进行登录(当浏览器扩展请求时)。

       要在开发模式下运行代理,并在代理源文件中检测到任何更改时启用自动热重载,请执行以下命令:

devbox run agent

如果要调试代理,可以使用首选 IDE 启动代理,指向 devbox 创建的相关虚拟环境,并使用 IDE 的调试器功能运行主脚本。

      有关代理的更多详细信息,请参阅其 readme。

浏览器扩展开发

如果您计划对浏览器扩展进行更改,请参阅 browser-extension 文件夹。

要启动具有热重载功能的 Chrome 浏览器,请使用以下命令:

devbox run browser

要修改默认浏览器设置,请参阅 browser-extension/vite.config.ts。

要构建扩展的最终分发,请执行以下命令:

devbox run build

软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:https://github.com/abstracta/browser-copilot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium等待

通常代码执行的速度⽐页⾯渲染的速度要快,如果避免因为渲染过慢出现的⾃动化误报的问题呢?可以使⽤selenium中提供的三种等待⽅法: 1. 隐式等待(Implicit Wait) 隐式等待适用于全局,它告诉 WebDriver 在查找元素时等待一定的时间,直到元素出现。 如果超时,WebDriver 不…

解锁C++:指针与数组、字符串的深度探秘

目录 一、指针与数组:亲密无间的伙伴 1.1 指针是数组的 “快捷通道” 1.2 数组名与指针:微妙的差别 1.3 动态数组:指针大显身手 二、指针与字符串:千丝万缕的联系 2.1 字符指针与 C 风格字符串 2.2 指针与 std::string 类 2.3 字符串常量与指针 三、指针在数组和字…

20250315-OpenAI-AgentSDK实验

凑热闹。可以用GLM跑。 这里暂时用GLM底座“魔鬼修改”,代码库仅供参考(共同进步吧) openai-agents-python-glm: 基于GLM底座运行SDK,学习实验SDK内的mAGT功能。https://gitee.com/leomk2004/openai-agents-python-glm 自言自语&a…

Qt QML实现弹球消砖块小游戏

前言 弹球消砖块游戏想必大家都玩过,很简单的小游戏,通过移动挡板反弹下落的小球,然后撞击砖块将其消除。本文使用QML来简单实现这个小游戏。 效果图: 正文 代码目录结构如下: 首先是小球部分,逻辑比较麻…

04_Linux驱动_05_pinctrl子系统

以下代码都在pinctrl相关的驱动函数和设备树中 pinctrl-rockchip.c驱动,对应的是那个(那些)设备树呢? 答案:通过.compatible "rockchip,rk3568-pinctrl"连接到rk3568.dtsi根节点下的pinctrl节点 一&#…

Python的那些事第四十五篇:继承自Nose的测试框架Nose2

Nose2:继承自Nose的测试框架 摘要 本文深入探讨了Nose2这一继承自Nose的测试框架。在软件开发过程中,测试是确保代码质量和稳定性的重要环节,而测试框架为测试工作的开展提供了有力支持。Nose2作为Nose的继承者,在保留Nose优势的基础上进行了诸多改进和扩展,为Python测试…

如何通过 Airbyte 将数据摄取到 Elasticsearch

作者:来自 Elastic Andre Luiz Airbyte 是一个数据集成工具,可自动化并可扩展地将信息从各种来源传输到不同的目的地。它使你能够从 API、数据库和其他系统提取数据,并将其加载到 Elasticsearch 等平台,以实现高级搜索和高效分析。…

RBAC 模型的简单实现

RBAC 模型基本介绍 RBAC(Role-Based Access Control,基于角色的访问控制)是一种广泛应用的权限管理模型。它的核心思想是通过角色来管理权限,而不是直接分配权限给用户。用户被赋予一个或多个角色,而每个角色拥有不同…

数据结构---堆栈和列

一、堆栈 1.栈堆:具有一定操作约束的线性表;(只在一端做插入删除) 2.栈的顺序存储结构: 由一个一维数组和一个记录栈顶元素位置的变量组成。定义方式如下: 3.入栈操作: 注意:&…

2023 年全国职业院校技能大赛(中职组)移动应用与开发赛项 赛题第十套

2023 年全国职业院校技能大赛(中职组)移动应用与开发赛项 赛题第十套) 移动应用与开发赛项竞赛模块 A:移动应用界面设计任务 1 环保中心界面设计(7.5 分)任务 2:首页界面设计(7.5 分…

FPGA为何要尽量减少组合逻辑的使用

在FPGA设计中,组合逻辑的使用确实需要谨慎,尤其是要尽量减少它的复杂性。这并不是因为组合逻辑本身不好,而是因为它在实际应用中容易引发一系列问题,而这些问题往往与FPGA的设计哲学和硬件特性相冲突。让我从几个关键点来和你聊聊…

c语言笔记 字符串函数---strcmp,strncmp,strchr,strrchr

目录 函数strcmp与strncmp 以下是错误的示范:两个指针字符型的指针不能直接进行比较 函数strchr与函数strrchr 函数strchr与函数strrchr与strstr函数三者对比 背景:如果说我们要比较两个字符串是否相等,使用strcmp或者strncmp函数。在c语言中…

合React宝宝体质的自定义节流hook

本文为开发开源项目的真实开发经历,感兴趣的可以来给我的项目点个star,谢谢啦~ 具体博文介绍: 开源|Documind协同文档(接入deepseek-r1、支持实时聊天)Documind 🚀 一个支持实时聊天和接入 - 掘…

【RTSP】客户端(五)H264 265处理逻辑

H264处理逻辑 整体逻辑分析 实现逻辑 解析 RTP 包头:首先检查 RTP 头部的有效负载类型(payloadType)是否匹配处理扩展头:如果 RTP 包包含扩展头,跳过扩展头部分,获取有效负载处理分片数据:H264…

IDEA集成git,项目的克隆,远程仓库中文件的添加删除

目录 一、克隆项目 二、使用IDEA完成文件的上传和删除 1.配置git 2.上传 3.删除(通过git bash) 一、克隆项目 点击克隆,复制url ,如下 打开你想要克隆到哪里,右击,选择 open Git Bash here 这一步之后…

神经网络:定义与核心原理

神经网络(Artificial Neural Network, ANN)是一种受生物神经系统启发的计算模型,旨在通过模拟神经元之间的连接与信息传递机制,实现复杂的数据处理和模式识别功能。其本质是由大量简单处理单元(神经元)构成…

将pdf或者word转换成base64格式

废话不多说直接上代码: function fileToBase64(file) {return new Promise((resolve, reject) > {const reader new FileReader();reader.readAsDataURL(file);reader.onload function (event) {const base64Data event.target.result.split(,)[1];resolve(b…

Spring @Bean注解使用场景二

bean:最近在写一篇让Successfactors顾问都能搞明白的sso的逻辑的文章,所以一致在研究IAS的saml2.0的协议,希望用代码去解释SP、idp的一些概念,让顾问了解SSO与saml的关系,在github找代码的时候发现一些代码的调用关系很难理解&…

ubuntu22.04 关于挂在设备为nfts文件格式无法创建软连接的问题

最近遇到情况,解压工程报错,无法创建软连接 但是盘内还有130G空间,明显不是空间问题,查找之后发现是移动硬盘的文件格式是NTFS,在ubuntu上不好兼容,于是报错。 开贴记录解决方案。 1.确定文件格式 使用命…