Introdução
O ExtensionPay é um framework de desenvolvimento de extensões para navegadores projetado para Inteligência Artificial (IA). Você pode usar IA para criar aplicativos de extensão puramente funcionais e com uma única função, que é a capacidade atual da IA. No entanto, é improvável que se consiga construir sistemas complexos, maduros e robustos com IA em curto prazo. Desenvolvemos este sistema de arquitetura para maximizar as capacidades existentes da IA. Ao desenvolver um aplicativo puramente funcional usando IA, recursos de login e pagamento podem ser adicionados automaticamente com um clique, e 55 idiomas podem ser traduzidos automaticamente com um único clique. Como nossos usuários exclusivos com contrato, você também desfruta do upload automatizado com um clique, o que reduz significativamente o processo e o tempo de desenvolvimento, eliminando a necessidade de criar serviços de backend. Este framework atende principalmente aqueles que não sabem programar, mas podem desenvolver programas usando IA, auxiliando-os na monetização de seus programas criados com linguagem natural.
本框架主要服务人群是哪些不会写代码,但可以使用Ai开发出程序的人群,协助他们通过自然语言设计出的程序可以盈利
curso
Cursos
Exemplo de palavras-chave de IA
Este é um exemplo de palavras-chave padrão para o desenvolvimento de extensões de navegador.
你是一个开发Chrome扩展程序的专家,下方是开发Chrome扩展的规范化文档: 0、所有技术相关的都要用最新版本和最新信息,所有用户可见的文本必须使用多语言系统,包括js中动态显示的文本。 1、全局代码采用UTF-8编码 2、开发谷歌浏览器扩展之前,必须尽可能少的使用permissions权限,尽可能不使用,如果用户的需求必须使用敏感权限,你需要告知用户哪里使用的敏感权限坏处是什么,若必须使用你需要向我证明你使用权限的必要性理由 3、权限域名需要考虑国际化,例如test.de、de.test.com 4、代码需要简洁功能纯粹,非必要不额外增加代码,只需要最纯粹的纯功能,你需要向我证明代码是极简的没有多余的东西 5、扩展需要有popup.html页面,popup页面必须具备自适应,pupop页面必须要有一个纯a标签target="_blank"在新窗口打开的按钮,用户看起来是一个按钮,标题为示例网址,和使用教程的元素,点击示例网址跳转到示例页面 6、多语言_locales只需要创建zh_CN目录,并严格按照下方规范加入多语言,你需要向我证明所有代码中多语言正确加入没有遗漏 7、你需要使用纯原生Js开发浏览器扩展,注解是中文的 8、适当的增加一些必要的Css样式,保持基本的页面美观性,例如按钮标签图片的基本样式 9、这个文件夹里的代码是我自己后期手动加入的/nbsdk/,所有关于这个文件夹的代码直接跳过 10、每个界面上都需要有一个比较显眼位置例如页面下方文本显示:联系作者邮箱:9723331@gmail.com,售后邮箱:9723331@gmail.com 11、确保给我详细的项目文件目录结构,文件名,文件对应的内容 12、多语言只需要翻译用户可见的静态或动态ui显示的内容,console.log打印的日志报错之类的无须多语言 先不着急开发,先给我一份开发蓝图和目录结构,并依次向我证明你蓝图和我命令与规范化示例的对应关系 下方是必要的规范化示例,请务必按照规范化示例和其特定风格研发程序: ``` 目录结构的规范化与命名示例: ├── _locales/ │ └── zh_CN/ │ └── messages.json ├── icons/ │ ├── icon16.png │ ├── icon48.png │ └── icon128.png ├── popup/ │ ├── popup.html │ ├── popup.js │ └── popup.css ├── background.js ├── content.js ├── manifest.json └── README.md ``` ``` 配置文件规范化格式示例:manifest.json { "manifest_version":3, "name":"__MSG_app_name__", "short_name": "__MSG_app_short_name__", "description":"__MSG_app_description__", "version":"1.8", "version_name": "1.8", "permissions":["tabs","storage"], "icons":{ "16":"icons\/icon16.png", "48":"icons\/icon48.png", "128":"icons\/icon128.png" }, "action":{ "default_icon":{ "16":"icons\/icon16.png", "48":"icons\/icon48.png", "128":"icons\/icon128.png" }, "default_popup":"popup\/popup.html" }, "background":{ "service_worker":"background.js" }, "content_scripts":[{ "matches":["*:\/\/*.test.com\/*","*:\/\/*.test.de\/*","*:\/\/*.test.co.jp\/*","*:\/\/de.test.com\/*","*:\/\/jp.test.com\/*"], "js":["content.js"] }], "host_permissions":["*:\/\/*.test.com\/*","*:\/\/*.test.de\/*","*:\/\/*.test.co.jp\/*","*:\/\/de.test.com\/*","*:\/\/jp.test.com\/*"], "default_locale":"zh_CN", "update_url":"https:\/\/clients2.google.com\/service\/update2\/crx", "homepage_url": "https:PLACEHOLDER_0_ab5ef4f4f41b202126ae3aa20f27369b } ``` ``` homepage_url里面只有带uninstall_url,才会卸载后跳转该链接 background配置必须按照正确示例设置 ✅正确的background配置示例:"background":{"service_worker":"background.js"} ❌错误的background配置示例:"background":{"service_worker":"background.js","type":"module"} ✅正确的引用方法示例:importScripts(""); ❌错误的引用方法示例:import(""); ``` ``` 多语言文件 _locales/zh_CN/messages.json 必须严格遵循以下格式: 1. 文件结构要求: ✅HTML中的静态文本使用 data-i18n 属性 ✅JavaScript中的动态文本使用 chrome.i18n.getMessage(),下方有示例 ✅确保所有用户可见文本必须使用多语言系统,确保没有硬编码的中文文本 ✅只允许出现键名如:app_name、 message 、placeholders字段 ❌严禁使用,非标准格式外的,占位符、变量替换、参数等任何额外内容 ❌不得出现 description等其他字段,必须保证语言包积极小 ❌不得出现非可翻译中文语言类,例如网址链接,特殊符号等等,示例:"message": "www.baidu.com" 2. 标准格式,多语言格式示例:\_locales\zh_CN\messages.json: { "app_name": { "message": "扩展名" }, "app_short_name": { "message": "扩展简称" }, "app_description": { "message": "扩展介绍" }, "leng_1": { "message": "界面文本1" }, "leng_2": { "message": "界面文本2" }, "leng_3": { "message": "总共 $ 个" }, "leng_4": { "message": "当前第 $i$ 个", "placeholders": { "i": { "content": "$1" } } } } 页面配置多语言Demo示例:popup.html "> ">界面文本1
">当前第0个
------------------------------ popup.js多语言Demo示例: var i = "5"; const a = document.getElementById("test_i"); a.textContent = chrome.i18n.getMessage("leng_3", [i]); PLACEHOLDER_1_3f2b0ab17855c3c33d913987e7cd7ad6 function debugI18n(){ document.querySelectorAll("[data-i18n]").forEach(element => { const message = chrome.i18n.getMessage(element.dataset.i18n); if(message){ if(element.tagName.toLowerCase() === "optgroup"){ element.label = message; }else if(element.hasAttribute("placeholder")){ element.placeholder = message; }else{ element.textContent = message; } } }); } document.addEventListener("DOMContentLoaded", debugI18n);// 在文档加载完成后调用I18n多语言 ```
Ambiente de instalação
1. Instale o Google Chrome
中国版: https://www.google.cn/intl/zh-CN/chrome国际版: https://www.google.com/chrome
2. Habilitar extensões de arquivo do Windows
文件夹 -> 查看 -> 勾选这俩:1.✓[文件扩展名] -> 2.✓[隐藏的项目]3. Instale o Notepad++
全球下载链接: http://notepad-plus-plus.org/downloads/v8.8.5/中国下载链接: https://pan.baidu.com/s/1VnjDZAVh5xrMz6KJE9Z1Og?pwd=q83q
安装成功后,新建几个后缀的文件:txt、js、css、json
右键 -> 打开方式 -> [选择其他应用] -> 并勾选[始终使用此应用打开] -> 更多应用 -> 在这台电脑上查找其他应用 -> Notepad++ -> Notepad++.exe
4. Instale o Python
下载链接: http://python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe以管理员身份运行,勾选下方出现的两个选项:
✓ [install launcher for all users]
✓ [Add Python 3.10 to PATH],后点击上方[Customize installation]
之后勾选出现的所有选项,点击[Next]
之后可以看到安装路径,全选复制并记住路径,并点击[Install]
安装完成之后,若出现[Disable path length limit],就点击
之后将刚复制的路径,在文件管理器打开,打开后点击文件路径,并全选删除文件路径
并输入cmd后点击键盘上的[Enter],之后会弹出一个窗口
在窗口中依次输入以下两个命令,每次输入命令后需要等待1分钟后再输入新的命令:
python -m venv venv
venv\Scripts\activate
5. Instale o PyCharm
下载链接: jetbrains.com/zh-cn/pycharm/download打开下载链接后,直接点击[下载]二字即可
下载完成后安装,安装时默认目录即可,之后页面勾选所有出现的选项:
✓ [PyCharm]
✓ [将bin文件夹添加到PATH]
✓ [添加将文件夹打开为项目]
✓ [.py]
勾选后点击 [下一步] -> [安装]
安装成功后打开,点击[新建项目] -> 勾选✓[创建欢迎脚本] -> [创建]
创建项目后,点击[main.py],在代码框内,鼠标右键点击[运行main]
运行结果会显示在下方,如果运行结果是[Hi, PyCharm]就说明PyCharm安装成功
之后PyCharm左下角有一个选项叫[终端]点击打开,输入以下命令: pip install urllib3 requests beautifulsoup4
之后下载:[Hook注入扩展所需.py]
中国版: https://www.google.cn/
国际版: https://www.google.com/
下载完成后,右键选择该文件 -> [复制] -> 回到PyCharm,鼠标右键点击[main.py] -> [打开于] -> [资源管理器] -> 粘贴
6. Sites para baixar ícones
中国版: https://www.iconfont.cn国际版: https://www.flaticon.com
7. URLs comuns de IA
deepseek.comyuanbao.tencent.com
chatgpt.com
claude.ai
gemini.google.com
8. Atalhos de teclado comuns
Ctrl+C 复制Ctrl+V 粘贴
Ctrl+F 搜索
Ctrl+A 全选
9. Software que impede atualizações do sistema Windows
中国下载链接: https://hefen.lanzoue.com/b00q0hgfab国际下载链接: https://drive.google.com/file/d/1IwiI30Zg12DlggduaGGfG7G4Bh--7rhC
10. Ferramenta de captura de tela
中国下载链接: https://pan.baidu.com/s/1rHUvbnfBHPEOuldKKfxi0A?pwd=p76p国际下载链接: https://drive.google.com/file/d/1b8Ono9pnM8P0p1ossQmueEUDKP4D-3ar
Pagamento personalizado_Web
通过浏览器扩展content.js注入到网页之中,在被注入网页中拉起支付示例: Clique para baixar o código-fonte da demonstração. pay_is()用于判断用户是否支付,如果没支付返回false,支付了返回trueasync function pay_is() {
const { userInfo } = await chrome.storage.local.get("userInfo");
if (Math.floor(Date.now()/1000) Math.floor(Date.now() / 1000))) {
return true;
}
return false;
}button.addEventListener("click", () => {//网页上注入的按钮被点击
pay_ok();
});button.addEventListener("click", async() => {//网页上注入的按钮被点击
if (await pay_is()) {// ✅ 判断是会员则
pay_ok();
}else{//不是会员则
chrome.runtime.sendMessage({ action: "OpenPopupPay" });//拉起支付
}
});Janela pop-up de pagamento personalizada
通过浏览器扩展popup页面中,通过js拉起支付示例:Clique para baixar o código-fonte da demonstração. pay_is()用于判断用户是否支付,如果没支付返回false,支付了返回trueasync function pay_is() {
const { userInfo } = await chrome.storage.local.get("userInfo");
if (Math.floor(Date.now()/1000) Math.floor(Date.now() / 1000))) {
return true;
}
return false;
}document.getElementById('btn').addEventListener('click', async () => {
const [tab] = await chrome.tabs.query({active: true, currentWindow: true});
chrome.tabs.sendMessage(tab.id, {action: 'getImages'}, async (images) => {
let limit = images.length;
for (let i = 0; i document.getElementById('btn').addEventListener('click', async () => {
const [tab] = await chrome.tabs.query({active: true, currentWindow: true});
chrome.tabs.sendMessage(tab.id, {action: 'getImages'}, async (images) => {
let limit = images.length;
//*********************************************************
if (!await pay_is()) {//判断不是会员,则
const choice = await showVipDialog();
if (choice === '用户点击了升级会员按钮'){
chrome.runtime.sendMessage({ action: "OpenPopupPay" });//拉起支付
return; // 拉起支付,不下载
}
limit = 5;//不是会员就将数组数量设置为5
}
//***************************************************************************
for (let i = 0; i Tutorial de Upload
上架网址: https://chrome.google.com/webstore/devconsole 1、确保Gmail邮箱是通过你【长期】使用可接收短信验证码的手机号注册绑定的 2、gmail安全设置中的所有设置都绑定:myaccount.google.com/security 以上配置好了之后,下方链接打开谷歌扩展开发者后台,注册并支付5美金,如果您没有可付款的银行账户可以在您所在国家的电商平台或者Google搜索代付、代充值、Visa、Mastercard之类的关键词,找到代付完成付款。若您仍然无法付款,可联系我的邮箱将您的扩展源代码发送给我,并发送给我必要的截图,扩展介绍,隐私协议的谷歌文档链接,等等信息,我可以代为发布 3、注册开发者账户之后选择[非交易者],点击[账户] -> 绑定[联系电子邮件地址] 绑定完成后到网页底部勾选开启所有通知并点击[保持更改]Exemplo de arquivo de manifesto padrão
1、manifest.json
Este é um exemplo de arquivo de manifesto de extensão padrão do Google que pode ser usado como referência.
| parâmetro | ilustrar |
|---|---|
version_name |
Se o valor for [1.8 npy], o login e o pagamento não serão exibidos. No entanto, o login e o pagamento podem ser iniciados por meio de um pagamento personalizado. "npy" significa "NoPay", o que desativa o pagamento. Se você for iniciante e não entender, pode optar por não fazer nada e usar o valor padrão. |
homepage_url |
Se o valor incluir `uninstall_url`, o usuário será redirecionado para este link após a desinstalação; caso contrário, será utilizada a função padrão `homepage_url`, conforme definido na documentação oficial do Google. |
author |
`author=appid` é um campo obrigatório e precisa ser definido de forma diferente para cada extensão. Ele é usado principalmente para identificar a qual extensão pertence. O formato do nome `appid` é: [Nome do Autor_Nome da Extensão_Três Números] |
__MSG_app_name__ |
Este nome é um valor padrão do sistema e não pode ser personalizado. |
__MSG_app_short_name__ |
Este nome é um valor padrão do sistema e não pode ser personalizado. |
__MSG_app_description__ |
Este nome é um valor padrão do sistema e não pode ser personalizado. |
{
"manifest_version":3,
"name":"__MSG_app_name__",
"short_name": "__MSG_app_short_name__",
"description":"__MSG_app_description__",
"version":"1.8",
"version_name": "1.8",
"permissions":["tabs","storage"],
"icons":{
"16":"icons\/icon16.png",
"48":"icons\/icon48.png",
"128":"icons\/icon128.png"
},
"action":{
"default_icon":{
"16":"icons\/icon16.png",
"48":"icons\/icon48.png",
"128":"icons\/icon128.png"
},
"default_popup":"popup\/popup.html"
},
"background":{
"service_worker":"background.js"
},
"content_scripts":[{
"matches":["*:\/\/*.test.com\/*","*:\/\/*.test.de\/*","*:\/\/*.test.co.jp\/*","*:\/\/de.test.com\/*","*:\/\/jp.test.com\/*"],
"js":["content.js"]
}],
"host_permissions":["*:\/\/*.test.com\/*","*:\/\/*.test.de\/*","*:\/\/*.test.co.jp\/*","*:\/\/de.test.com\/*","*:\/\/jp.test.com\/*"],
"default_locale":"zh_CN",
"update_url":"https:\/\/clients2.google.com\/service\/update2\/crx",
"homepage_url": "https:\/\/docs.google.com/forms/d/e/xxxxx&uninstall_url",
"author":"xiaoqian_amazon_001"
}
2、\_locales\zh_CN\messages.json
Este é um exemplo de arquivo multilíngue padrão de extensão do Google. A formatação abaixo pode ser traduzida automaticamente e usada como referência.
| parâmetro | ilustrar |
|---|---|
app_name |
O nome app_name é um valor padrão fixo definido pelo sistema e não pode ser personalizado. |
app_short_name |
O nome app_short_name é um valor padrão fixo definido pelo sistema e não pode ser personalizado. |
app_description |
O nome `app_description` é um valor padrão fixo definido pelo sistema e não pode ser personalizado. |
{
"app_name": {
"message": "扩展名"
},
"app_short_name": {
"message": "扩展简称"
},
"app_description": {
"message": "扩展介绍"
},
"leng_1": {
"message": "界面文本1"
},
"leng_2": {
"message": "界面文本2"
},
"leng_3": {
"message": "总共 $ 个"
},
"leng_4": {
"message": "当前第 $i$ 个",
"placeholders": {
"i": {
"content": "$1"
}
}
},
"test_1": {
"message": "测试 $ass$ 第二",
"placeholders": {
"ass": {
"content": "$1"
}
}
},
"test_2": {
"message": "$option$换行开始\n 换行\n结束",
"placeholders": {
"option": {
"content": "$1"
}
}
},
"test_3": {
"message": "版权所有© $year$ 保留所有权利。 ",
"placeholders": {
"year": {
"content": "$1",
"example": "1984"
}
}
},
"test_4": {
"message": "当前 $ 第几 $ 个"
},
"test_5": {
"message": "$1 / $2"
},
"test_6": {
"message": "测试 $ass$ 尾 $bbb$ 多 $ccc$ 组",
"placeholders": {
"ass": {
"content": "$1"
},
"bbb": {
"content": "$2"
},
"ccc": {
"content": "$3"
}
}
}
}