chatgpt-imagegen
Generate images with your ChatGPT subscription — no OPENAI_API_KEY. A tiny zero-dependency Python CLI (and AI-agent skill): one file, stdlib only.
面向 API 开发/测试的 Chrome 扩展:绕过 CORS 发请求、自动生成 cURL,并对 YApi「运行」页做增强(内嵌 cURL、路径参数 {param} 引导填写)。 本仓库包含生态内的多个子项目: packages/yapi-mcp — CLI / Skill(发布包名保持为 @leeguoo/yapi-mcp,MCP 配置作为兼容方案保留,不影响扩展打包) plugins/yapi-plugin — Cursor 与 Claude Code 插件(已从原独立仓库
> /plugin marketplace add leeguooooo/cross-request-master> /plugin install yapi-plugin@cross-request-marketplace
Repo: leeguooooo/cross-request-master
What's inside
面向 API 开发/测试的 Chrome 扩展:绕过 CORS 发请求、自动生成 cURL,并对 YApi「运行」页做增强(内嵌 cURL、路径参数 {param} 引导填写)。
本仓库包含生态内的多个子项目:
packages/yapi-mcp — CLI / Skill(发布包名保持为 @leeguoo/yapi-mcp,MCP 配置作为兼容方案保留,不影响扩展打包)plugins/yapi-plugin — Cursor 与 Claude Code 插件(已从原独立仓库 leeguooooo/yapi-plugin 归档并整合回本仓库)当前推荐安装链路是 npx skills add leeguooooo/cross-request-master -y -g 安装 Skill,再用 yapi config init 初始化 ~/.yapi/config.toml。yapi-mcp 已支持浏览器登录同步 Cookie(yapi login --browser),可用于仅支持 SSO/无法账号密码登录的 YApi 场景。
crossRequest,由扩展后台代发{param} 时提示填写,避免请求失败npx skills add)/ Cursor 与 Claude Code 插件(plugins/yapi-plugin/)/ MCP 配置(兼容)/ CLI 使用与 docs-syncfetch / Promise 工作流,兼容历史 $.ajaxChrome Web Store(推荐)
https://chrome.google.com/webstore/detail/efgjanhcajpiljllnehiinpmicghbgfm
开发者模式
git clone https://github.com/leeguooooo/cross-request-master.git
cd cross-request-master
./build-extension.sh
然后在 chrome://extensions/ 开启开发者模式 → “加载已解压的扩展程序” → 选择 build/。
安装后直接在 YApi「运行」页发送请求即可,扩展会自动处理跨域、显示 cURL,并把 JSON 响应解析为对象供脚本使用。
在接口详情页(基本信息区域右上角)额外提供:
npx skills add)、MCP 配置(兼容)、CLI 使用与 docs-sync 说明(自动拼好命令)如果你要在本机直接装好 Skill + CLI,当前最短路径是:
npm install -g @leeguoo/yapi-mcp
npx skills add leeguooooo/cross-request-master -y -g
yapi config init --base-url=https://your-yapi-domain.com --auth-mode=global --email=your_email@example.com
yapi login --base-url=https://your-yapi-domain.com --browser
更完整说明见 packages/yapi-mcp/README.md。
clawhub sync --all):pnpm run clawhub:sync:dry
pnpm run clawhub:sync
扩展在页面侧额外暴露 window.crossRequest.yapiMcp(也可用 window.crossRequest.yapi),把 YApi OpenAPI 封装成与 Yapi-MCP 一致的 5 个方法,方便直接在浏览器控制台/脚本里操作接口文档:
// 先配置(支持多项目:'28:token1,29:token2')
window.crossRequest.yapiMcp.configure({
baseUrl: 'https://your-yapi-domain.com',
token: '28:your_project_token'
});
// 查接口、拉分类、搜索、保存
const api = await window.crossRequest.yapiMcp.yapi_get_api_desc({ projectId: '28', apiId: '66' });
window.crossRequest({
url: 'https://api.example.com/data',
method: 'GET',
headers: { Authorization: 'Bearer token' },
success(res) {
console.log('Success:', res);
},
error(err) {
console.error('Error:', err);
}
});
crossRequest 也会返回 Promise:
const resp = await window.crossRequest({ url: '/api/ping' });
console.log(resp.status, resp.data);
大多数场景建议直接使用 fetch + window.crossRequest。以下仅用于历史页面仍依赖 $.ajax 时:
$.ajax。如需关闭:crossRequest: falsecrossRequest: true$.ajax({
url: 'https://api.example.com/data',
method: 'GET',
crossRequest: true
});
const fd = new FormData();
fd.append('file', fileInput.files[0]);
fd.append('name', 'demo');
await window.crossRequest({
url: 'https://api.example.com/upload',
method: 'POST',
body: fd
});
仓库内置 types/cross-request.d.ts,可直接复制到你的项目并在 tsconfig.json 中 include,或在 global.d.ts 引用:
/// <reference path="./types/cross-request.d.ts" />
Access-Control-Request-Headers:这是浏览器 CORS 预检行为,需要服务端正确返回 Access-Control-Allow-Headers。项目结构:
manifest.json MV3 配置
background.js Service Worker
content-script.js 注入/通信
index.js 页面侧 API 与适配器
popup.html/popup.js 扩展弹出窗口
src/helpers/ 可复用 helper
tests/ Jest 单测
skills/yapi/ YApi Skill(canonical;自动同步到 packages/yapi-mcp/skill-template 与 plugins/yapi-plugin/skills)
packages/yapi-mcp/ CLI(@leeguoo/yapi-mcp)与 MCP skill-template
plugins/yapi-plugin/ Cursor 与 Claude Code 插件
docs/ 文档(见 docs/README.md)
常用命令:
pnpm install
pnpm test
pnpm lint
pnpm format
./build-extension.sh
CONTRIBUTING.md如果你觉得这个项目对你有帮助,可以请作者喝杯咖啡:
GitHub Sponsors
微信 / 支付宝
见 CHANGELOG.md。
docs/README.mddocs/TESTING.mddocs/ROADMAP.mddocs/yapi-plugin/README.mdBuilt by leeguooooo — field notes on AI agents, reverse engineering & Cloudflare Workers at blog.misonote.com · follow on X @leeguooooo
.claude-plugin/
marketplace.json
.githooks/
pre-commit
pre-push
.github/
alipay.JPG
FUNDING.yml
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
pull_request_template.md
wechatpay.JPG
workflows/
auto-tag.yml
ci.yml
claude-code-review.yml
claude.yml
pages.yml
publish-npm.yml
release.yml
.gitignore
.mailmap
.prettierignore
.prettierrc.json
AGENTS.md
background.js
build-extension.sh
CHANGELOG.md
content-script.js
CONTRIBUTING.md
docs/
archive/
FIXES.md
marketplace-auto-sync.patch
marketplace-pull-sync.patch
RELEASE_NOTES_v4.5.3.md
CHROME_WEB_STORE_CHECKLIST.md
README.md
ROADMAP.md
STORE_SUBMISSION_GUIDE.md
superpowers/
plans/
2026-03-26-yapi-plugin.md
2026-05-14-yapi-html-docs-sync-plan.md
2026-05-15-yapi-doc-immersive-mode-plan.md
specs/
2026-03-26-yapi-plugin-design.md
2026-05-14-yapi-html-docs-sync-design.md
2026-05-15-yapi-doc-immersive-mode-design.md
2026-05-15-yapi-menu-virtual-grouping-design.md
TEAM_AI_SYSTEM.md
TESTING.md
yapi-plugin/
README.md
ROADMAP.md
eslint.config.js
icon.png
icons/
icon-128.png
icon-16.png
icon-32.png
icon-48.png
images/
curl-generation-demo-new.png
extension-popup.png
pop.png
store/
promo-small-440x280.jpg
promo-top-1400x560.jpg
index.js
jquery-3.1.1.js
manifest.json
package.json
packages/
yapi-cli/
bin/
yapi.js
package.json
yapi-mcp/
.env.example
.eslintrc
.gitignore
.npmrc
.nvmrc
.prettierrc
bun.lock
CHANGELOG.md
eslint.config.js
images/
demo1.png
sse-link.png
token.png
LICENSE
package.json
pnpm-lock.yaml
README.md
RELEASING.md
scripts/
smoke-global.ts
skill-template/
SKILL.md
src/
bin.ts
cli/
commands/
col.ts
config.ts
docs-sync.ts
env.ts
export.ts
follow.ts
group.ts
install-skill.ts
interface.ts
log.ts
login.ts
logout.ts
member.ts
project.ts
request.ts
search.ts
self-update.ts
user.ts
whoami.ts
http.ts
simple-request.ts
types.ts
utils.ts
docs/
markdown.ts
source-doc.ts
services/
yapi/
yapi.ts
api.ts
auth.ts
authCache.ts
cache.ts
logger.ts
types.ts
skill/
install.ts
metadata.ts
types/
yargs.d.ts
yapi-cli.ts
tests/
auto-login.test.ts
docs-sync-hash.test.ts
docs-sync-html.test.ts
skill-install.test.ts
source-doc.test.ts
yapi-cli.test.ts
tsconfig.json
PERMISSION_JUSTIFICATION.md
plugins/
yapi-plugin/
.claude-plugin/
plugin.json
.cursor/
.cursor-plugin/
plugin.json
.gitignore
.gitignore
assets/
logo.svg
commands/
bind-docs-sync.md
get-interface-by-id.md
list-category-interfaces.md
login-yapi.md
run-docs-sync.md
search-interface.md
setup-yapi.md
whoami-yapi.md
docs/
add-a-plugin.md
development.md
marketplace-submission.md
superpowers/
plans/
2026-03-26-github-pages.md
usage.md
package.json
README.md
scripts/
ensure-yapi.mjs
run-yapi.mjs
setup-yapi.mjs
validate-template.mjs
skills/
yapi/
SKILL.md
tests/
ensure-yapi.test.mjs
run-yapi.test.mjs
pnpm-lock.yaml
popup.html
popup.js
PRIVACY_POLICY.md
README.md
screenshots/
screenshot-1-curl-generation-640x400.jpg
screenshot-1-curl-generation.jpg
screenshot-2-popup-640x400.jpg
screenshot-2-popup.jpg
screenshot-3-popup-detail-640x400.jpg
screenshot-3-popup-detail.jpg
store/
store-1-yapi-interface-1280x800.jpg
store-2-yapi-run-curl-1280x800.jpg
store-3-popup-1280x800.jpg
scripts/
analyze-forks.js
check-release.js
clawhub-sync.sh
dev.js
skills/
yapi/
SKILL.md
src/
helpers/
body-parser.js
fixed-headers.js
form-data.js
logger.js
path-params.js
query-string.js
request-body.js
request-headers.js
response-handler.js
yapi-doc-immersive.js
yapi-menu-grouping.js
yapi-openapi.js
tests/
form-data.test.js
helpers.test.js
jquery-ajax.test.js
path-params.test.js
request-body.test.js
yapi-context.test.js
yapi-doc-immersive.test.js
yapi-menu-grouping.test.js
yapi-openapi.test.js
thoughts/
ledgers/
CONTINUITY_ses_401a.md
CONTINUITY_ses_42ad.md
types/
cross-request.d.tsGenerate images with your ChatGPT subscription — no OPENAI_API_KEY. A tiny zero-dependency Python CLI (and AI-agent skill): one file, stdlib only.
An always-on language coach for AI editors — improve any target language while you work in Codex, Claude Code, or Cursor.
Your Claude Code usage, at a glance. 5h / 7d rate-limit bars, reset countdowns, model, context window, and prompt-cache freshness — inline in Claude Code's status line, or a floating HUD on the desktop app.
FAQ
cross-request-master is a Claude Code plugin with 2 hand-picked skills for testing work, indexed on Flowy. Install it with the command on its page. It includes yapi, yapi. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.