项目介绍:chat-todo-plugin
项目概览
chat-todo-plugin 是一个专为管理待办事项(TODO)列表而设计的 ChatGPT 插件。通过此插件,用户可以轻松地增加、移除以及查看他们的待办事项。该项目为用户提供了一种简单而高效的方式来管理日常任务,并能在 ChatGPT 环境下无缝使用。
插件开发与结构
项目结构
项目的基本目录结构包括:
main.py
: 主程序文件,负责应用启动与路由处理。manifest.json
: 用于定义插件的元数据和配置。openapi.yaml
: 定义 API 规格和接口文档。- 其他文件如
logo.png
等用于界面显示和标识。
manifest.json 文件
插件的 manifest 文件提供了插件的描述信息与配置参数,例如:
schema_version
: 版本号。name_for_human
: 插件显示名称。description_for_human
: 人类可读的描述。auth
: 授权类型和 OpenAI API 验证信息。
openapi.yaml 文件
openapi.yaml 文件记录了 API 的详细规格,定义了待办事项的操作路径及其请求格式。通过此文件,开发者可以明确哪些功能和端点可以通过 ChatGPT 插件使用。
系统设计与功能
核心功能
chat-todo-plugin 提供了一系列 RESTful API,使用户能够:
- 获取待办事项列表: 查看所有待办事项。
- 针对特定用户获取待办事项: 为不同用户查询个人任务。
- 为特定用户添加待办事项: 向个人任务列表中添加新任务。
- 删除特定用户的待办事项: 移除待办事项中的指定项目。
这些 API 使用 HTTP 协议进行数据传输,并通过 Authorization
头验证用户请求的权限。
main.py 关键代码
应用由 Quart 框架搭建,并启用 CORS 支持。通过一系列的路由设置,应用能够响应不同路径上的 GET、POST 和 DELETE 请求,具体包括:
- 验证身份头以确保请求授权。
- 处理待办事项的增删查操作。
- 返回插件 logo 和 manifest 信息。
插件部署
部署时,建议使用 Replit 平台进行简易托管:
- 访问 Replit,点击 "Create Repl"。
- 选择 "Import from GitHub",并输入
https://github.com/lencx/chat-todo-plugin
。 - 选定 Python 作为语言并导入代码。
- 点击运行按钮进行部署。
API 使用示例
以下是一些常用的 API 请求示例:
-
获取所有待办事项:
curl -X GET http://0.0.0.0:5002/todos \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer $SERVICE_AUTH_KEY'
-
获取特定用户的待办事项:
curl -X GET http://0.0.0.0:5002/todos/lencx \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer $SERVICE_AUTH_KEY'
-
为特定用户添加待办事项:
curl -X POST http://0.0.0.0:5002/todos/lencx \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer $SERVICE_AUTH_KEY' \ -d '{ "todo": "hello" }'
-
删除特定用户的待办事项:
curl -X DELETE http://0.0.0.0:5002/todos/lencx \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer $SERVICE_AUTH_KEY' \ -d '{ "todo_idx": 0 }'
chat-todo-plugin 的设计为用户提供强大的工具来通过程序化方式管理任务,而此插件在 ChatGPT 环境中的应用更是让操作变得顺畅自然。这种结合使得待办事项的管理变得更加高效且符合用户习惯。