{"id":50181711,"url":"https://github.com/yoqu/shenma-gallery-chrome-extension","last_synced_at":"2026-05-25T07:03:11.770Z","repository":{"id":356044581,"uuid":"1230789346","full_name":"yoqu/shenma-gallery-chrome-extension","owner":"yoqu","description":"Chrome MV3 side panel extension for collecting AI image prompts into Qushenma","archived":false,"fork":false,"pushed_at":"2026-05-15T06:57:56.000Z","size":1716,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-15T08:51:46.155Z","etag":null,"topics":["ai-art","chrome-extension","manifest-v3","prompt-management","qushenma","side-panel"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yoqu.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":"2026-05-06T10:18:53.000Z","updated_at":"2026-05-15T06:58:00.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yoqu/shenma-gallery-chrome-extension","commit_stats":null,"previous_names":["yoqu/shenma-gallery-chrome-extension"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yoqu/shenma-gallery-chrome-extension","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoqu%2Fshenma-gallery-chrome-extension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoqu%2Fshenma-gallery-chrome-extension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoqu%2Fshenma-gallery-chrome-extension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoqu%2Fshenma-gallery-chrome-extension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoqu","download_url":"https://codeload.github.com/yoqu/shenma-gallery-chrome-extension/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoqu%2Fshenma-gallery-chrome-extension/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33464012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T06:32:55.349Z","status":"ssl_error","status_checked_at":"2026-05-25T06:32:35.322Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai-art","chrome-extension","manifest-v3","prompt-management","qushenma","side-panel"],"created_at":"2026-05-25T07:02:52.018Z","updated_at":"2026-05-25T07:03:11.765Z","avatar_url":"https://github.com/yoqu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 神马图鉴收集助手 Chrome Extension\n\n一个公开可用的 Chrome Manifest V3 扩展，用侧边栏从网页中收集 AI 图片、提示词、模型和标签，并批量提交到 [趣神马](https://www.uyoqu.com/)。\n\n源码位于本仓库；主站仓库通过 Git 子模块引用到 `chrome-extension/`。\n\n![侧边栏开始页](docs/screenshots/01-sidepanel-start.png)\n\n## 功能\n\n- 右侧常驻 Side Panel，不打断当前网页浏览。\n- 页面区域选择器：移动高亮、滚轮切换层级、点击确认。\n- AI 整理：把选中区域里的图片、提示词、模型、标签整理为作品列表。\n- 人工校对：勾选、编辑字段、候选图片拖拽替换。\n- 一键提交：自动上传图片并创建/发布趣神马作品。\n- 多服务商预设：OpenAI、豆包、通义千问、Kimi、智谱、硅基流动，以及自定义 OpenAI 兼容接口。\n\n## 安装\n\n1. 下载或克隆本仓库。\n2. 打开 Chrome，进入 `chrome://extensions/`。\n3. 开启右上角「开发者模式」。\n4. 点击「加载已解压的扩展程序」。\n5. 选择本仓库根目录。\n6. 点击浏览器工具栏里的扩展图标，打开右侧边栏。\n\n## 配置\n\n### 趣神马网站\n\n- 默认域名：`www.uyoqu.com`\n- 授权方式：登录趣神马后，在扩展里点击「获取授权」。\n- 私有部署：把域名改成自己的趣神马部署域名。\n\n### AI 大模型\n\n扩展调用 OpenAI Chat Completions 兼容接口。推荐选择一个支持图片理解的模型，否则图片和提示词配对效果会变差。\n\n需要填写：\n\n- `API Base URL`\n- `API Key`\n- `模型名称`\n\n![设置页](docs/screenshots/02-settings.png)\n\n## 使用流程\n\n1. 打开任意 AI 图片或提示词页面。\n2. 点击侧边栏里的「选择页面区域」。\n3. 鼠标在网页上移动，选择包含图片和提示词的区域。\n4. 点击确认后，等待 AI 整理结果。\n5. 勾选要提交的作品，必要时编辑标题、提示词、模型、标签和摘要。\n6. 点击「提交到趣神马」，查看提交日志。\n\n![选择网页区域](docs/screenshots/03-select-area.png)\n\n![整理结果](docs/screenshots/04-results.png)\n\n![提交日志](docs/screenshots/05-submit-log.png)\n\n更详细的步骤见 [docs/workflow.md](docs/workflow.md)。\n\n## 权限说明\n\n扩展使用以下 Chrome 权限：\n\n- `activeTab` / `tabs` / `scripting`：在当前网页注入区域选择器。\n- `storage`：保存站点域名、Token 和 AI 配置。\n- `sidePanel`：提供右侧常驻操作界面。\n- `declarativeNetRequest`：移除扩展请求中的 `Origin` 头，避免后端 CORS 拦截。\n- `\u003call_urls\u003e`：允许在不同网站上选择内容和读取候选图片 URL。\n\n## 本地开发\n\n```bash\nnpm install\nnpm test\nnpm run screenshots\n```\n\n扩展没有构建步骤。修改源码后，在 `chrome://extensions/` 中点击扩展卡片的刷新按钮即可。\n如果当前机器没有可被 Playwright 调用的 Chrome，生成截图前先运行 `npx playwright install chromium`。\n\n## 目录结构\n\n```text\n.\n├── manifest.json\n├── background.js\n├── picker.js\n├── providers.js\n├── sidepanel.html\n├── sidepanel.css\n├── sidepanel.js\n├── icons/\n├── tests/\n├── docs/\n└── scripts/\n```\n\n## 测试\n\n```bash\nnpm test\n```\n\n当前测试覆盖：\n\n- background service worker 的协议判断、AI 响应解析、提交数据结构。\n- 内容提取相关启发式规则。\n- `tests/test-content-extraction.html` 可作为手动页面选择器测试页。\n\n## 开源协议\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoqu%2Fshenma-gallery-chrome-extension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoqu%2Fshenma-gallery-chrome-extension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoqu%2Fshenma-gallery-chrome-extension/lists"}