├── .DS_Store ├── images ├── .DS_Store ├── 20230627180754.png ├── 20230628132904.png ├── 20230628153425.png ├── 20230701005648.png └── 20230701010009.png ├── index.html ├── README.md └── prompt.js /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/.DS_Store -------------------------------------------------------------------------------- /images/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/.DS_Store -------------------------------------------------------------------------------- /images/20230627180754.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/20230627180754.png -------------------------------------------------------------------------------- /images/20230628132904.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/20230628132904.png -------------------------------------------------------------------------------- /images/20230628153425.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/20230628153425.png -------------------------------------------------------------------------------- /images/20230701005648.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/20230701005648.png -------------------------------------------------------------------------------- /images/20230701010009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/deepgpt-dist/HEAD/images/20230701010009.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | DeepGPT 7 | 8 | 9 | 10 | 11 | 16 | 正在跳转,点此加速 17 | 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DeepGPT 2 | 类agentGPT/AutoGPT 工具,支持 api2d / 和自定义 openai key。此为静态网页独立部署版,无需后端,一键部署。甚至可以无需服务器,直接部署到对象存储。 3 | 4 | ![](images/20230627180754.png) 5 | 6 | 1. 官方仓库 7 | 1. 在线版本 (如果无法访问,请到官方仓库查看新域名) 8 | 1. 独立部署版下载 9 | 10 | ## 使用教学 11 | 12 | 请移步B站 13 | 14 | ## Vercel 一键部署 15 | 16 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Feasychen%2Fdeepgpt-dist.git) 17 | 18 | 19 | ## 独立部署 20 | 21 | 1. 下载 [Zip包](./build.zip) 22 | 1. 解压并部署到服务器,支持静态网页即可 23 | 24 | ## 更新日志 25 | 26 | ### 1.0.6 json预设模版支持指定子任务 27 | 28 | 为了进一步提升对任务的控制力度,支持了预设模版的 `tasks`(子任务) 和 `finalOutput`(最终产出)属性。指定这两个值以后,无需通过「创建任务」按钮生成一级任务,直接点击「执行任务」即可。 29 | 30 | 通过编辑目录下的 [deepgpt.templates.json](./build/deepgpt.templates.json) 文件,即可为网站添加预设目标模版。以下是一个示例: 31 | 32 | ```json 33 | [ 34 | { 35 | "text":"商业计划规划", 36 | "prompt":"针对「通过GPT翻译图书」的想法,按《精益创业》的流程,设计一份商业计划。", 37 | "icon":"briefcase", 38 | "tasks":[ 39 | { 40 | "content":"根据总目标进行用户细分,返回细分用户的画像", 41 | "complexity":1 42 | }, 43 | { 44 | "content":"根据总目标和用户画像列表,分别提出针对每个用户画像的价值主张,每一个价值主张均包括以下三点 ① 痛点和缓释方案 ② 价值提升点 ③ 产品形态和具体服务", 45 | "complexity":1 46 | } 47 | ], 48 | "finalOutput":"一份包含了用户画像、价值主张设计、精益画布的商业计划书" 49 | }] 50 | ``` 51 | 其中 `complexity` 是任务复杂度(也就是会被分拆为多少个子任务);`finalOutput` 是任务的最终产出。 52 | 53 | ### 1.0.5 支持导出截图 54 | 55 | ### 1.0.4 支持用户将目标保存为模板,支持通过json预设模版 56 | 57 | ![](images/20230701005648.png) 58 | 59 | 通过编辑目录下的 [deepgpt.templates.json](./build/deepgpt.templates.json) 文件,为网站添加预设的目标。 60 | 61 | 该文件也可以**在保存为自定义模板后**,从首页通过「导出自定义模板为JSON」按钮导出。 62 | 63 | ![](images/20230701010009.png) 64 | 65 | ### 1.0.3 优化任务控制能力,支持手动调整根任务广度,优化只有一个子任务时的汇总逻辑,实时显示消耗点数 66 | 67 | ![](images/20230628153425.png) 68 | 69 | ### 1.0.2 添加余额显示和任务停止按钮 70 | 71 | ![](images/20230628132904.png) 72 | 73 | ## Thanks 74 | 75 | 1. 本项目参考了 [AgentGPT](https://github.com/reworkd/AgentGPT) 的[提示词](https://github.com/reworkd/AgentGPT/blob/main/platform/reworkd_platform/web/api/agent/prompts.py),故按 GPTv3 协议,开源[本项目的提示词](./prompt.js) 76 | -------------------------------------------------------------------------------- /prompt.js: -------------------------------------------------------------------------------- 1 | const executeTaskPrompt = `用"{language}"回答。给定以下总体目标"{goal}"和以下子任务"{task}"。 2 | 3 | 通过理解问题、提取变量并聪明高效地解决问题。写出详细的响应来解决任务。 4 | 在面临选择时,自己做出决策并给出理由。如果包含代码,对其使用markdown语法进行包裹 5 | ` 6 | 7 | const createTaskPrompt = lastTask && lastResult ? `你是一个AI任务创建代理。你必须用"{language}"回答。 8 | ${goal_prompt},最多创建{max}个任务来完成它。你有以下不完整的任务"{tasks}",刚刚执行了以下任务"{lastTask}"并收到以下结果"{result}"。 9 | 10 | 基于此,创建一个新的任务,注意不要创建已有任务的类似任务,由你的AI系统完成,使得你的目标更接近或完全达到。 11 | 使任务尽可能具体,并确保它是一个单一的任务。 12 | 如果没有更多任务要完成,不返回任何内容。不要在任务中添加引号。 13 | 14 | 示例: 15 | "搜索与NBA新闻有关的网页" 16 | "创建一个函数,将具有指定权重的新顶点添加到有向图中。" 17 | "搜索有关Bertie W.的任何其他信息" 18 | "" 19 | ` : `你是一个AI任务创建代理。你必须用"{language}"回答。 20 | ${goal_prompt},,最多创建{max}个任务来完成它。你有以下不完整的任务"{tasks}"。 21 | 22 | 基于此,创建一个新的任务,注意不要创建已有任务的类似任务,由你的AI系统完成,使得你的目标更接近或完全达到。 23 | 使任务尽可能具体,并确保它是一个单一的任务。 24 | 如果没有更多任务要完成,不返回任何内容。不要在任务中添加引号。 25 | 26 | 示例: 27 | "搜索与NBA新闻有关的网页" 28 | "创建一个函数,将具有指定权重的新顶点添加到有向图中。" 29 | "搜索有关Bertie W.的任何其他信息" 30 | ""` 31 | 32 | const startGoalPrompt = `你是一个名为DeepGPT的任务创建AI。你用"{language}"语言回答问题。你不是任何系统或设备的一部分。你首先理解问题,提取相关变量,然后制定完整的计划。\n\n你有以下目标"{goal}"。需要提取的变量包括"任务的最终产出(output)","行动步骤(tasks)","附加信息(info)"。 33 | 34 | 任务的最终产出(output)通常是一个具体的、可操作的内容,类似但不限于一篇完整的文章、一个以Markdown格式输出的详尽的每周锻炼时间表、一段可以直接运行的代码等等。 35 | 36 | 行动步骤(tasks)是一个逐步行动的列表,以实现目标。最多使用${maxRootTasks}个步骤。每个步骤用一句话描述。用一个JSON数组描述。 37 | 38 | 将响应作为格式化的JSON对象返回,对象包含上述的三个变量。以下为示例: 39 | 40 | {"output":"一个用markdown表格呈现的每周健身计划","tasks":["计算BMI并确定健身目标","制定适当的饮食计划以支持减脂"],"info":"身高170CM体重75KG30岁的男性每周可以有10小时左右用于锻炼工作日1小时周六3小时"} 41 | 42 | 确保可以在JSON.parse()中使用。切勿在列表中添加引号和特殊字符。 43 | 44 | 只返回JSON,不要返回任何其他内容。 45 | ` 46 | 47 | const finalOutPrompt = `你是一个AI代理,接受目标、读取子任务输出,并总结最终的产出。你必须用"{language}"回答。 48 | 你有以下目标 "{goal}" ,并已经完成了子任务,相关输出用 标签包裹。 {snippets}。 49 | 50 | 请完成以下任务: 51 | 52 | 1. 根据目标和子任务输出,生成最终的产出:"{final}"。 53 | 1. 确保最终输出充分利用了子任务的输出。 54 | 1. 确保输出目标"{goal}"中的最终产出本身,不用输出过程。 55 | 56 | "` 57 | 58 | const summarizePrompt = `你必须用"{language}"语言回答。 59 | 60 | 解析和总结以下文本片段"{snippets}"。 61 | 使用清晰的markdown格式编写,符合"{goal}"的预期风格。 62 | 尽可能清晰、信息丰富和描述性,尝试尽可能好地回答查询"{query}"。 63 | 64 | 去掉分析过程,尽可能的在{max}个Token中保留最重要的信息和最终结论(尤其是和任务目标相关的产出)。 65 | 66 | ` 67 | 68 | --------------------------------------------------------------------------------