{"id":13643612,"url":"https://github.com/ikechan8370/chatgpt-plugin","last_synced_at":"2026-07-05T07:03:46.988Z","repository":{"id":64368941,"uuid":"574775497","full_name":"ikechan8370/chatgpt-plugin","owner":"ikechan8370","description":"云崽系机器人的智能聊天插件","archived":false,"fork":false,"pushed_at":"2026-07-04T09:23:11.000Z","size":36542,"stargazers_count":1078,"open_issues_count":24,"forks_count":128,"subscribers_count":7,"default_branch":"v3","last_synced_at":"2026-07-04T09:26:20.708Z","etag":null,"topics":["bot","chatgpt","qq","yunzai","yunzai-bot"],"latest_commit_sha":null,"homepage":"https://www.yunzai.chat/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikechan8370.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-06T03:29:10.000Z","updated_at":"2026-07-04T09:23:14.000Z","dependencies_parsed_at":"2023-01-15T14:00:43.907Z","dependency_job_id":"14c486ae-2950-4c56-8039-79fe1511ddd6","html_url":"https://github.com/ikechan8370/chatgpt-plugin","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"purl":"pkg:github/ikechan8370/chatgpt-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikechan8370%2Fchatgpt-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikechan8370%2Fchatgpt-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikechan8370%2Fchatgpt-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikechan8370%2Fchatgpt-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikechan8370","download_url":"https://codeload.github.com/ikechan8370/chatgpt-plugin/tar.gz/refs/heads/v3","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikechan8370%2Fchatgpt-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35145900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","chatgpt","qq","yunzai","yunzai-bot"],"created_at":"2024-08-02T01:01:50.131Z","updated_at":"2026-07-05T07:03:46.967Z","avatar_url":"https://github.com/ikechan8370.png","language":"JavaScript","funding_links":[],"categories":["Browser-extensions"],"sub_categories":[],"readme":"![chatgpt-plugin](https://socialify.git.ci/ikechan8370/chatgpt-plugin/image?description=1\u0026font=Jost\u0026forks=1\u0026issues=1\u0026language=1\u0026name=1\u0026owner=1\u0026pulls=1\u0026stargazers=1\u0026theme=Light)\n\u003cdiv align=center\u003e\n\n   \u003cimg src =\"https://img.shields.io/github/issues/ikechan8370/chatgpt-plugin?logo=github\"/\u003e\n\u003cimg src =\"https://img.shields.io/github/license/ikechan8370/chatgpt-plugin\"/\u003e\n\u003cimg src =\"https://img.shields.io/github/v/tag/ikechan8370/chatgpt-plugin?label=latest%20version\u0026logo=github\"/\u003e\n\u003cimg src =\"https://img.shields.io/github/languages/top/ikechan8370/chatgpt-plugin?logo=github\"/\u003e\n\u003c/div\u003e\n\n\n\n![26224FE397F1E74104C1C007C1A32DDE](https://user-images.githubusercontent.com/21212372/227718994-4d33da74-6886-41d5-afd0-73986b086df0.gif)\n\n\n\n\n\u003e 插件v3大幅重构中，基本可用，持续完善中。遇到问题请提issue，欢迎PR。\n\u003e todo列表：\n\u003e - [x] 插件v3重构完成，插件基本功能可用，持续完善中。\n\u003e - [ ] RAG知识库\n\u003e - [ ] 预设更详细的配置\n\u003e - [x] 自定义触发器\n\u003e - [ ] 自定义插件\n\u003e - [ ] 兼容mcp\n\n\n## 插件简介\n\nChatGPT-Plugin 以 Chaite 为内核，将多模型渠道、工具、处理器、触发器、RAG 和管控面板封装成一套适配 Miao-Yunzai / Yunzai-Bot 的插件方案。通过 Chaite 的 API 服务器与可插拔的存储层（默认 SQLite），插件可以在本地完成高并发对话、知识库检索、伪人陪聊以及记忆管理，亦可接入 Chaite Cloud 复用在线渠道与工具。\n\n## 核心特性\n\n- **多渠道与预设体系**：依托 Chaite 的 ChannelsManager 与 ChatPresetManager，支持为不同模型配置流量、负载均衡与个性化 prompt，群友也可在授权后自助切换预设。\n- **高级消息适配**：前后文触发方式支持 `@Bot` 与前缀；自动处理引用、图片、语音等多模态输入，并在工具调用或推理阶段通过转发消息回显。\n- **群上下文与伪人模式**：可按配置注入指定条数的群聊记录；BYM 伪人模式支持概率触发、关键词命中、预设覆盖及限时撤回，营造更拟人的陪聊体验。\n- **记忆与 RAG**：内置 memoryService + vectra 向量索引，提供群记忆、私人记忆与外部知识库（RAGManager）注入能力，支持混合检索与手动管理。\n- **可视化与指令双管控**：`#chatgpt管理面板` 一键获取面板 token，Web 端即可操作渠道、工具、触发器；同时保留完整的命令行 CRUD 指令。\n- **自动更新与依赖管理**：`#chatgpt更新` / `#chatgpt强制更新` 调用 git 同步仓库并自动更新 chaite 依赖，减少手动维护成本。\n\n## 快速安装\n\n1. **克隆代码**\n   ```bash\n   cd plugins\n   git clone https://github.com/ikechan8370/chatgpt-plugin.git\n   ```\n2. **安装依赖**（推荐 Node.js ≥ 18 + pnpm ≥ 8）\n   ```bash\n   cd chatgpt-plugin\n   pnpm install\n   ```\n   若安装日志出现 `Ignored build scripts: better-sqlite3` 或运行时报错找不到 `better-sqlite3` bindings，可执行 `pnpm approve-builds`，在交互列表中勾选全部或仅 `better-sqlite3` 以允许编译。然后再次 `pnpm install`\n3. **在 Yunzai 中启用插件**\n    - 重启机器人或运行 `node app` 让插件自动加载。\n    - 首次启动会在 `plugins/chatgpt-plugin/config/` 下生成 `config.json / config.yaml`。\n4. **保持更新**\n    - 主人账号发送 `#chatgpt更新` 获取最新版本。\n    - `#chatgpt强制更新` 会放弃本地修改后重新拉取，请谨慎使用。\n\n## 配置指引\n\n配置文件默认位于 `plugins/chatgpt-plugin/config/config.json`，也可改写为 YAML。常用字段示例：\n\n```yaml\nbasic:\n  toggleMode: at            # at / prefix\n  togglePrefix: \"#chat\"     # prefix 模式下的触发词\n  commandPrefix: \"#chatgpt\" # 管理指令前缀\nllm:\n  defaultModel: \"gpt-4o-mini\"\n  defaultChatPresetId: \"default\"\n  enableGroupContext: true\n  groupContextLength: 20\nbym:\n  enable: false\n  probability: 0.02\n  defaultPreset: \"bym_default\"\nchaite:\n  cloudApiKey: \"\"           # 可选，接入 Chaite Cloud\n  host: \"0.0.0.0\"\n  port: 48370\nmemory:\n  group:\n    enable: false\n    enabledGroups: [\"123456\"]\n  user:\n    enable: false\n    whitelist: [\"123456789\"]\n```\n\n- **basic**：控制触发方式、调试与命令前缀。\n- **llm**：定义默认模型、嵌入模型、群上下文等。`defaultChatPresetId` 需在面板或命令中提前创建。\n- **chaite**：`storage` 默认 SQLite，会在 `plugins/chatgpt-plugin/data/data.db` 生成数据文件；如接入 Chaite Cloud，请填入 `cloudApiKey` 并开放 `host/port`。\n- **bym**：配置伪人触发概率、关键词映射、撤回与思考内容开关。\n- **memory**：为群记忆或私人记忆开启检索、模型与提示词，可按需启用 `extensions.simple` 以加载自定义词典。\n\n修改后保存文件，插件会自动热加载；在 Chaite 面板修改配置时也会反向写回本地文件。\n\n## 使用方式\n\n### 基础对话\n\n- `@Bot 你好` 或 `#chat 今天天气如何` 触发默认预设，插件会保持用户 `conversationId` 与 `messageId`，自动续写多轮对话。\n- 回复图片/文本可作为上下文输入，模型返回的图片、语音与思考内容会自动转换为 QQ 消息或转发记录。\n- `#结束对话` 仅清空自己的会话；`#结束全部对话` 需主人权限。\n\n### 管理命令 \u0026 面板\n\n- `#chatgpt管理面板`：生成一次性 token，访问 `http://\u003chost\u003e:\u003cport\u003e` 即可使用 Chaite Web 面板。\n- CRUD 命令示例（均支持 `列表 / 添加 / 查看 / 删除`）：\n  ```\n  #chatgpt渠道列表\n  #chatgpt预设添加 角色扮演 {...}\n  #chatgpt工具删除 web-search\n  #chatgpt处理器查看 markdown\n  ```\n- `#chatgpt调试模式开关`、`#chatgpt伪人开关` 等指令可快速切换全局开关。\n\n### 伪人（BYM）模式\n\n1. 在配置中启用 `bym.enable` 并指定 `defaultPreset` 或 `presetMap`。\n2. 伪人会在命中关键词或达到概率阈值时主动发言，可通过 `presetPrefix` 调整统一人设，`temperature/maxTokens` 控制语气与长度。\n3. 支持为不同关键词配置 `recall` 秒数，实现“发完撤回”效果。\n\n### 记忆系统\n\n- **群记忆指令**\n  ```\n  #群记忆          #仅群聊\n  #删除群记忆 1    #主人或群管\n  #记忆列表        #主人查看全局开关\n  ```\n- **私人记忆指令**\n  ```\n  #记忆 / 我的记忆\n  #他的记忆 @xxx   #群聊内查看他人（需其授权）\n  #删除记忆 1\n  ```\n- 记忆抽取依赖配置中的 `memory.group` / `memory.user` 模型与预设，collector 会定期读取群聊历史，必要时可在 `enabledGroups` 中按群号白名单控制。\n\n### 更新与维护\n\n- `#chatgpt更新`：git pull 插件仓库并使用 pnpm/npm 更新 chaite 依赖。\n- `#chatgpt强制更新`：在更新前执行 `git checkout .`，用于舍弃本地改动。\n- 日志会通过转发消息发送最近 20 条 commit，方便追踪版本变化。\n\n\n## 赞助\n\n如果觉得本项目好玩或者对你有帮助，愿意的话可以赞助我一口快乐水：\n\nhttps://afdian.net/a/ikechan8370\n\n## 贡献者\n\n感谢以下贡献者\n\n\u003ca href=\"https://github.com/ikechan8370/chatgpt-plugin/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=ikechan8370/chatgpt-plugin\" /\u003e\n\u003c/a\u003e\n\n\n![Alt](https://repobeats.axiom.co/api/embed/076d597ede41432208435f233d18cb20052fb90a.svg \"Repobeats analytics image\")\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=ikechan8370/chatgpt-plugin\u0026type=Date)](https://star-history.com/#ikechan8370/chatgpt-plugin\u0026Date)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikechan8370%2Fchatgpt-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikechan8370%2Fchatgpt-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikechan8370%2Fchatgpt-plugin/lists"}