{"id":19484415,"url":"https://github.com/funnygeeker/keiyume","last_synced_at":"2026-06-15T11:32:25.637Z","repository":{"id":113375022,"uuid":"553496180","full_name":"funnygeeker/keiyume","owner":"funnygeeker","description":"溪梦框架：依赖go-cqhttp运行，简单易用的qq框架，适合入门级开发者～","archived":false,"fork":false,"pushed_at":"2023-01-23T10:48:03.000Z","size":55713,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-25T18:31:56.945Z","etag":null,"topics":["framework","python","python3","qq","websocket","ximeng"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/funnygeeker.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}},"created_at":"2022-10-18T09:57:27.000Z","updated_at":"2024-05-01T11:27:36.000Z","dependencies_parsed_at":"2023-06-15T18:00:39.005Z","dependency_job_id":null,"html_url":"https://github.com/funnygeeker/keiyume","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/funnygeeker/keiyume","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funnygeeker%2Fkeiyume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funnygeeker%2Fkeiyume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funnygeeker%2Fkeiyume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funnygeeker%2Fkeiyume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/funnygeeker","download_url":"https://codeload.github.com/funnygeeker/keiyume/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funnygeeker%2Fkeiyume/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34358751,"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-06-15T02:00:07.085Z","response_time":63,"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":["framework","python","python3","qq","websocket","ximeng"],"created_at":"2024-11-10T20:21:24.412Z","updated_at":"2026-06-15T11:32:25.615Z","avatar_url":"https://github.com/funnygeeker.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### 溪梦框架\r\n\r\n!\u003e 本框架为早期版本，这意味着本框架并不成熟，而且框架内会有很多作者自己都不知道怎么想的脑残设计。在编写插件时您可能会发现教程的缺失，后续您编写的插件也不能保证长期兼容最新框架。如果你有自己的想法，可以和我们一起改进框架。\r\n\r\n#### 框架简介\r\n- 使用 Python3 开发，通过 [go-cqhttp](https://docs.go-cqhttp.org/) 的 api 接口运行的简易框架，\r\n并对 [go-cqhttp](https://docs.go-cqhttp.org/) 部分 api 和 event 以函数的形式做了简易封装。\r\n\r\n- 软件生态，代码规范，以及设计合理性可能远远不及 [NoneBot](https://nb2.baka.icu/)，请各位新手慎重参考本框架里边的代码！\r\n\r\n- 本说明文档目前还在进一步完善中...\r\n\r\n- 早期版本可前往 [Release](https://github.com/funnygeeker/keiyume/releases) 下载\r\n\r\n\r\n\u003e~~由于一时半会读不懂 [NoneBot](https://nb2.baka.icu/) 的插件开发文档，索性自己写了一个框架的屑萌新。等到写完框架，发现读懂了。~~\r\n\r\n\r\n\u003e 我们希望通过不断设计和完善这个框架，来提高我们的代码水平和代码质量。故作此框架以练手。此一早期版本，望各位大佬轻喷！\r\n\r\n\r\n!\u003e注意：\r\n由于溪梦框架仍在开发中，暂未发布正式版，本文档将仅保留最新版的文档，被遗弃的功能将会从文档中删除，如有需要，请在旧版本的 [Release](https://github.com/funnygeeker/XiMeng/releases) 中下载源码，并在解压后的 docs 目录查找文档\r\n\r\n!\u003e注意：`2.0` 正式版发布前插件规范可能会频繁迭代，如果您是插件开发者，请密切关注最新版插件开发文档，以保证插件对最新框架的兼容性。\r\n\r\n#### 问题反馈\r\n您可以通过 [兔小巢](https://support.qq.com/product/464061) 或者 [Github](https://github.com/funnygeeker/keiyume) 又或者 [加入QQ群](https://jq.qq.com/?_wv=1027\u0026k=aCSDHr8h) 向我们反馈问题和提出建议\r\n\r\n#### 查看说明文档\r\n社区服务器：[溪梦文档站](https://docs.keiyume.com/keiyume) （最新消息和内容）\r\n稳定服务器：[Github Pages](https://funnygeeker.github.io/keiyume) （稳定的服务器）\r\n\r\n\r\n### 框架原理\r\n\r\n#### 执行流程\r\n- 启动框架时，会先加载基本配置文件，根据配置文件设置日志记录器（提示：DEBUG模式可以查看更多详细日志）\r\n- 当框架每接收到一个来自 [go-cqhttp](https://docs.go-cqhttp.org/) 上报的消息，将会为对应的消息开一个单独的线程，用于处理消息\r\n- 收到消息后调用插件，每个插件分别处理消息，并修改消息的原始内容（如果需要）然后根据优先级顺序，传递给后续插件\r\n- 如果有出现调用 go-cqhttp api 的情况，将会在调用 api 后阻塞线程，等待主线程接收到返回值后继续\r\n- 接收到消息的 api 函数会返回结果数据，若超时则可能会报错并返回 `None`\r\n- 对应消息线程的所有插件执行结束后，线程将被关闭\r\n\r\n#### 线程说明\r\n- 本框架采用多线程，每条消息的处理都会单独开一个线程，消息处理完毕则关闭线程\r\n- 主线程：管理基本的通信，每接收到消息则新开一个线程处理消息\r\n- 命令线程：用于处理在控制台上输入的命令。\r\n- 任务线程：由 [APScheduler](https://pypi.org/project/APScheduler/) 管理计划任务。\r\n- 消息线程：数量不定，用于处理消息。\r\n\r\n#### 版本要求\r\n- 仅支持 **Python3.7** 或更高的 **Python3** 版本，框架开发环境为 **Python3.8**，后续可能仅支持 **Python3.8** 以及之后的版本。\r\n\r\n#### 通信方式\r\n- 与 go-cqhttp 进行 **正向 WebSocket** 通信（在 go-cqhttp 生成配置文件时选择2）\r\n\r\n### 注意事项\r\n- 框架中的部分代码可能存与 Python 代码标准标准不一致的部分\r\n- 请各位小白**慎重参考**其中的代码，以免出现不好的习惯！\r\n- 若框架存在设计缺陷或规范缺陷，请指出，感激不尽！\r\n\r\n!\u003e 此文档为早期版本，说明并不完善。也有可能存在错误。如遇错误，请加群进行反馈，或在 Github 中提出。\r\n\r\n### 运行截图\r\n\u003cimg width=\"367\" alt=\"image\" src=\"https://user-images.githubusercontent.com/96659329/203594423-53053944-8b0a-4bc8-8f45-4a633f784d76.png\"\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunnygeeker%2Fkeiyume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffunnygeeker%2Fkeiyume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunnygeeker%2Fkeiyume/lists"}