{"id":21067475,"url":"https://github.com/lazycreeper/miraiui","last_synced_at":"2026-03-07T03:03:21.878Z","repository":{"id":164040608,"uuid":"592760189","full_name":"LazyCreeper/MiraiUI","owner":"LazyCreeper","description":"专门为Mirai设计了个壳","archived":false,"fork":false,"pushed_at":"2024-03-17T14:36:50.000Z","size":823,"stargazers_count":43,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-14T02:11:14.105Z","etag":null,"topics":["mirai","mirai-http-api","ui"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LazyCreeper.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}},"created_at":"2023-01-24T13:31:03.000Z","updated_at":"2025-02-14T01:46:27.000Z","dependencies_parsed_at":"2023-07-28T23:02:12.273Z","dependency_job_id":null,"html_url":"https://github.com/LazyCreeper/MiraiUI","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/LazyCreeper/MiraiUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LazyCreeper%2FMiraiUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LazyCreeper%2FMiraiUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LazyCreeper%2FMiraiUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LazyCreeper%2FMiraiUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LazyCreeper","download_url":"https://codeload.github.com/LazyCreeper/MiraiUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LazyCreeper%2FMiraiUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30206339,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"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":["mirai","mirai-http-api","ui"],"created_at":"2024-11-19T18:07:02.057Z","updated_at":"2026-03-07T03:03:21.863Z","avatar_url":"https://github.com/LazyCreeper.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mirai UI\n\n一个基于 [Mirai-http-api](https://docs.mirai.mamoe.net/mirai-api-http/) 的 WebQQ\n\n## 这有啥用\n\n能在网页操作 Mirai 机器人。\n\n## 运行环境\n\n任意支持静态 html 托管的服务器，无需 php，mysql 等复杂环境\n\n## 截图\n![main](./screenshorts/main.png)\n![chat](./screenshorts/chat.png)\n\n## 如何使用\n\n1. 按照如下配置好[Mirai-http-api](https://docs.mirai.mamoe.net/mirai-api-http/)插件（仅供参考，请勿直接复制粘贴此文本）\n\n```yaml\n## 必须开启http和ws\nadapters:\n  - http\n  - ws\n\n## 开启认证，并设置key\nenableVerify: true\nverifyKey: 1234567890\n\nadapterSettings:\n  http:\n    ## http服务器地址\n    host: localhost\n    port: 2345\n    cors: [*]\n  ws:\n    ## 保持与http一致\n    host: localhost\n    port: 2345\n    reservedSyncId: -1\n```\n\n2. 从`release`页面下载编译好的压缩包，上传到任意网站服务器（不支持放到二级目录）\n3. 访问网站，输入相关信息，点击验证即可\n\n#### 手动编译\n\n```bash\n# 克隆仓库到本地\ngit clone https://github.com/LazyCreeper/MiraiUI\n# 安装依赖\nnpm i\n# 编译\nnpm run build\n```\n\n## 目前已经实现的功能\n\n\u003cdetails\u003e\n  \u003csummary\u003e点击展开\u003c/summary\u003e\n\n- **获取账号信息**\n  - 获取好友列表\n  - 获取群列表\n  - 获取群成员列表\n  - 获取 Bot 资料\n  - 获取好友资料\n  - 获取群成员资料\n- **消息发送与撤回**\n\n  - \u003cdetails\u003e\n    \u003csummary\u003e发送好友消息\u003c/summary\u003e\n\n    - 文本\n    - 语音\n    - 图片\n    - 戳一戳\n    - XML\n    \u003c/details\u003e\n\n  - \u003cdetails\u003e\n    \u003csummary\u003e发送群消息\u003c/summary\u003e\n\n    - 文本\n    - 语音\n    - 图片\n    - @\n    - XML\n    \u003c/details\u003e\n\n  - 撤回消息\n\n- **群管理**\n\n  - 禁言群成员\n  - 解除群成员禁言\n  - 全体禁言\n  - 解除全体禁言\n  - 获取群员资料\n\n- **其他**\n  - 聊天记录自动保存到浏览器(`localStorage`)\n  \u003c/details\u003e\n\n## 暂时无法或不能实现的功能\n\n\u003cdetails\u003e\n  \u003csummary\u003e点击展开\u003c/summary\u003e\n  \n  - 实时消息接收\n  - 同步历史消息\n  - 绑定多个账号\n\u003c/details\u003e\n\n## BUG 列表\n\n1. 因为偷懒，对话框直接用了 CSS 的`direction: rtl`样式，所以对话框发送的消息的符号会反过来\n2. 移动端访问有点不友好\n3. 戳一戳消息好像失效（但是能用放大招\n4. 忘了或没想好，请下载后自行挖掘\n\n## 一些话\n\n本项目代码仅作为 vue 练手，可能会出现大量能跑但是屎山 💩 的代码或者一些魔法 🔮。请不要介意，如果你想的话可以提交`pr`😘。\n啊还有，如果你指望这玩意能替代 QQ，那我建议你去找其他第三方客户端~\n\n## 开源协议\n\n根据 Apache 协议开源\n\n## 要饭\n\n~~0.01 也是爱~~\n\n![QR CODE](https://cdn.imlazy.ink:233/img/20220924.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazycreeper%2Fmiraiui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flazycreeper%2Fmiraiui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flazycreeper%2Fmiraiui/lists"}