Skip to content

Commit 31414b7

Browse files
committed
feat(gateway): add pure-python OpenAI-compatible speculative anti-refusal API gateway server
1 parent 186a9f7 commit 31414b7

9 files changed

Lines changed: 397 additions & 11 deletions

File tree

MANIFEST.sha256

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ A52CB301EBE1EC6EF97DE71ADD10FD4F41758DEEED2D7235CF84AB46C23CCAEC fixture_packs/
5050
98B9C48DBD5297EA65C90BAE85172068B401A8BF8022D1C1F934C5B1D5B69B4E fixture_packs/pytest_complete/tests/test_complete.py
5151
E6A01C602D19DC1375FC8F0EE2F33B5662FF7436CF23DFD807BE2D38E32D43B0 fixture_packs/README.md
5252
4A02051C81167B5F771CF24F78339CFFA5594A69B99DE331FC1EC152DD771BEC install.cmd
53-
5DAFD23B16111B5594AF898F59901C58F10324F0480501335FDE349A40A183BE install.ps1
53+
5C2A4C8D596C2751A7EF0EF56F237768D0D2989CC9483FA5482C5887FAA83B83 install.ps1
5454
E40AC545355807A1712227E34CE9C4440391E5243EDAACAAB6AD66B2B5442930 install.sh
5555
326D8D6226C8B787169699801B5152AC41467B2FEA321109AE0DAC92A5289DC3 keysmith.cmd
5656
25B372D7F54308E5551E3BC6825E9296920C732B3ABEC152271B089B778AA739 keysmith.ps1
@@ -580,10 +580,11 @@ BB2EC25A2DFA0A937B480C5C5C685E17D09C95E9BBEC3FEB90C6F5BE95F7499E payload/projec
580580
82F72266B2A07401A3A1B2DF221593648EC848917A81F05377403CBC0DFE4986 payload/project/.agents/tools/codex-orchestrator/tests/test_serialization_contract.py
581581
EF752D7C1B36A25A50263833202AF535FBCC9FA6052D03E0C63DC21B96C0ED69 payload/project/.agents/tools/codex-orchestrator/tests/test_temporal_workflow.py
582582
6D94A195DB238767A2D795FD8D59DDD1A2AF4D622DA84FB7B129A99CF9C9B56B payload/project/.agents/tools/re-toolkit/__init__.py
583-
130E5AF56857C3033E7FDA772247C98A39B28D007F7622B781A05AD82AC47606 payload/project/.agents/tools/re-toolkit/cli.py
583+
53DE71955D24A4D86C1975AF08F346CE6FD764316908460A46F5750B13D0F99B payload/project/.agents/tools/re-toolkit/cli.py
584584
778FF492D5FAB3EE105DC872565DF248C98F223E7995EEA95509485046554EF0 payload/project/.agents/tools/re-toolkit/disasm.py
585585
EDAF20D6D1CD55FA8F936D096EC45E27A8606435EB6745C555BF7C33179880C3 payload/project/.agents/tools/re-toolkit/emulator.py
586586
1251623EE4ACE0224EB29FA07985C8A1D5CA741E3A6BFE79B6A7A98E6E591F54 payload/project/.agents/tools/re-toolkit/frida_bridge.py
587+
4F3D5EC8F57A894B4FDEA886C09E78B84526F160C241ED0788FBF10A3EE94226 payload/project/.agents/tools/re-toolkit/gateway.py
587588
06586BB1E63BAA4ECD2F34FB46C1F9B8790F7328F2CEA0E487E864E060963F3E payload/project/.agents/tools/re-toolkit/interceptor.py
588589
886E7DE3816F879FA8F986CF9B1A353679E80440C797A52EE121F8FBFD6FD576 payload/project/.agents/tools/re-toolkit/mcp_server.py
589590
CE9C4C29A8B1A27BC3224A2E4E68D771E416E7839BEB971082A9A1B372D191A1 payload/project/.agents/tools/re-toolkit/pe_parser.py
@@ -599,6 +600,7 @@ E6A033AF36995C889A6C5AD2CF8B80CC1D7D74F1F39C0F6FAD47DB73B6AC4F51 payload/projec
599600
46A8CA351B3232038DA763F09B7CC5493AE71E28B02447C2A45ADBC0F58C5412 payload/project/.agents/tools/re-toolkit/tests/test_disasm.py
600601
AA43EDBE3A47165A438DED91C62A46AF93FAEB5AEB83DCEE7432C7D6421EDD48 payload/project/.agents/tools/re-toolkit/tests/test_emulator.py
601602
E36F038EE09115C547741E5578F6299A5176D972064653C4E249C665E9629BD4 payload/project/.agents/tools/re-toolkit/tests/test_frida_bridge.py
603+
7F74C033B3A149E2FDC3163BF2D861D37ACCC977DC81331FC5D345649752E7B2 payload/project/.agents/tools/re-toolkit/tests/test_gateway.py
602604
42BB3DF96C7F72613DE4788B07C59E38703A0828AC5CB40A0ABE5B8A647A29DB payload/project/.agents/tools/re-toolkit/tests/test_interceptor.py
603605
BE22E8BC2E7DEF38CA8004A30AC57101791DA46BC25FD1A726B71364AC124117 payload/project/.agents/tools/re-toolkit/tests/test_mcp.py
604606
319FD383CD73C67FA1E7A9918E9229B3F8ADA489705D7F23AD0D6ABA6ACBE233 payload/project/.agents/tools/re-toolkit/tests/test_pe_parser.py
@@ -622,7 +624,8 @@ AAA405902CB4923F8D648D1401F2D18E9416090C591E0447F00784D28587E4E5 payload/projec
622624
926483E10570984573C69FF07145191EAB494BAE0D845F8A70CAAF86435E40F7 payload/project/OPENCODE.md
623625
3BB157291236FCED11C721DA90E3BC56A87C5DC459CDF5C1958F7B867A6CC4DF payload/project/repair.ps1
624626
4D42986A3832962381A6F2B2B294D5F8280DAD08136EAA4FF7EB04D2994AA0C5 payload/project/REPAIR_ALL.cmd
625-
606104639940DC3E7B4A65A4514E16573B40AE2E97C070CFE50DC1C795E96BAA PAYLOAD_INDEX.json
627+
C1FF21B069EC56C4515917A79A5CDA8B3BF3BB484B26CF0675D53122CB53DDC4 payload/project/START_GATEWAY.cmd
628+
4729198F3AA5BD3F5F2AB251A06379C691BD5872D75DF3FF2A8636557EA256C0 PAYLOAD_INDEX.json
626629
5F36431215BE65A1F944BE737A1373A6996BD8F8955DC27449AC3E7FF1AD77A0 README.md
627630
3BB157291236FCED11C721DA90E3BC56A87C5DC459CDF5C1958F7B867A6CC4DF repair.ps1
628631
4D42986A3832962381A6F2B2B294D5F8280DAD08136EAA4FF7EB04D2994AA0C5 REPAIR_ALL.cmd
@@ -677,6 +680,7 @@ C5CFBA54F5D69E09D115D9261AE94A8B85F0860F8D7CD4D901E195203D378D52 scripts/New-So
677680
BDCD0637C7A7028464F7CCF3ED9017A04F4A15F15A36E32CA14A0E4E69D4F07E scripts/Test-All.ps1
678681
2523EF6A1F05AADD25676ADAF25B96A69ADAA7342D7144C7936BFD863099ED3B scripts/Update-PackageMetadata.ps1
679682
2A69E5503C75405C61B9E082912C09A8004A278701674012A948D15503AE2E08 SECURITY.md
683+
C92F59B6502CD173CE500B91D5433FB7DD1268088B44C8647461B44781210E52 START_GATEWAY.cmd
680684
4A02051C81167B5F771CF24F78339CFFA5594A69B99DE331FC1EC152DD771BEC START-HERE.bat
681685
DD93D54620B70D36B0352F0DDB7119133EA94FBCECBEB3C45C7C310F0CA40B82 tests/Test-Config.ps1
682686
70ED243FA196A28B1343691A1F109A115DCD793744FE6260C9F942C55C3636C6 tests/Test-KeysmithIntegration.ps1
@@ -686,4 +690,4 @@ EA1DC6B3416E07B890FE46B1AA3A15947FE96CB585D6DB621256556D68733E01 TURBO.cmd
686690
BF0602B94CD137AC0A1F94258D92BD959EA7D1676215D6586AF0B7FFC7C48026 turbo.ps1
687691
0531AC691F4BD75EB4B2301CF1B207670A97574D4B1CABD19A40625AB7526309 TURBO.sh
688692
75FF708DE4A1DEB4E3DC2E64F90AFFAE396CBD26BB2B3E869CCB4339DB5A7428 verify.cmd
689-
5721CFF7E834883E62F6429ACD3798C16169508695577612B1971D56FCBEF8EB verify.ps1
693+
8F05F36223D4B55DF1D299A35B5AED1F467DF13A5AACBB8797D34DF2A9699F54 verify.ps1

PAYLOAD_INDEX.json

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"schema": 1,
33
"release": "6.3.0",
44
"generated_at": "2026-08-31",
5-
"file_count": 566,
6-
"total_bytes": 4152572,
5+
"file_count": 569,
6+
"total_bytes": 4166314,
77
"files": [
88
{
99
"path": "payload/agents-home/skills/binary-analysis/SKILL.md",
@@ -3152,8 +3152,8 @@
31523152
{
31533153
"path": "payload/project/.agents/tools/re-toolkit/cli.py",
31543154
"component": "project-tools",
3155-
"bytes": 21195,
3156-
"sha256": "130E5AF56857C3033E7FDA772247C98A39B28D007F7622B781A05AD82AC47606"
3155+
"bytes": 21706,
3156+
"sha256": "53DE71955D24A4D86C1975AF08F346CE6FD764316908460A46F5750B13D0F99B"
31573157
},
31583158
{
31593159
"path": "payload/project/.agents/tools/re-toolkit/disasm.py",
@@ -3173,6 +3173,12 @@
31733173
"bytes": 5280,
31743174
"sha256": "1251623EE4ACE0224EB29FA07985C8A1D5CA741E3A6BFE79B6A7A98E6E591F54"
31753175
},
3176+
{
3177+
"path": "payload/project/.agents/tools/re-toolkit/gateway.py",
3178+
"component": "project-tools",
3179+
"bytes": 9787,
3180+
"sha256": "4F3D5EC8F57A894B4FDEA886C09E78B84526F160C241ED0788FBF10A3EE94226"
3181+
},
31763182
{
31773183
"path": "payload/project/.agents/tools/re-toolkit/interceptor.py",
31783184
"component": "project-tools",
@@ -3263,6 +3269,12 @@
32633269
"bytes": 1500,
32643270
"sha256": "E36F038EE09115C547741E5578F6299A5176D972064653C4E249C665E9629BD4"
32653271
},
3272+
{
3273+
"path": "payload/project/.agents/tools/re-toolkit/tests/test_gateway.py",
3274+
"component": "project-tools",
3275+
"bytes": 3139,
3276+
"sha256": "7F74C033B3A149E2FDC3163BF2D861D37ACCC977DC81331FC5D345649752E7B2"
3277+
},
32663278
{
32673279
"path": "payload/project/.agents/tools/re-toolkit/tests/test_interceptor.py",
32683280
"component": "project-tools",
@@ -3400,6 +3412,12 @@
34003412
"component": "project-control-plane",
34013413
"bytes": 500,
34023414
"sha256": "4D42986A3832962381A6F2B2B294D5F8280DAD08136EAA4FF7EB04D2994AA0C5"
3415+
},
3416+
{
3417+
"path": "payload/project/START_GATEWAY.cmd",
3418+
"component": "project-control-plane",
3419+
"bytes": 305,
3420+
"sha256": "C1FF21B069EC56C4515917A79A5CDA8B3BF3BB484B26CF0675D53122CB53DDC4"
34033421
}
34043422
]
34053423
}

START_GATEWAY.cmd

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@echo off
2+
setlocal EnableExtensions DisableDelayedExpansion
3+
cd /d "%~dp0"
4+
title OpenAI-Compatible Anti-Refusal Gateway (:8088)
5+
6+
python "%~dp0payload\project\.agents\tools\re-toolkit\gateway.py" --port 8088
7+
if errorlevel 1 (
8+
python "%~dp0.agents\tools\re-toolkit\gateway.py" --port 8088
9+
)
10+
if errorlevel 1 (
11+
echo.
12+
echo [ERROR] Gateway failed to start. Ensure Python 3 is installed.
13+
pause
14+
)
15+
endlocal

install.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ try {
274274
Install-ExactPath $keysmithPayload (Join-Path $CodexHome 'keysmith') 'codex-home\keysmith'
275275
}
276276

277-
foreach ($item in @('.agents', '.codex', 'AGENTS.md', 'CLAUDE.md', 'OPENCODE.md', 'opencode.json', '.cursorrules', '.windsurfrules', '.mcp.json', 'CONFIG_RELAYS.cmd', 'config_relays.ps1', 'REPAIR_ALL.cmd', 'repair.ps1', '.env.example', '.gitignore')) {
277+
foreach ($item in @('.agents', '.codex', 'AGENTS.md', 'CLAUDE.md', 'OPENCODE.md', 'opencode.json', '.cursorrules', '.windsurfrules', '.mcp.json', 'CONFIG_RELAYS.cmd', 'config_relays.ps1', 'REPAIR_ALL.cmd', 'repair.ps1', 'START_GATEWAY.cmd', '.env.example', '.gitignore')) {
278278
$source = Join-Path (Join-Path $Payload 'project') $item
279279
if (Test-Path -LiteralPath $source) {
280280
Install-ExactPath $source (Join-Path $ProjectRoot $item) "project\$item"
@@ -286,7 +286,7 @@ try {
286286
}
287287

288288
$textExtensions = @('.md', '.txt', '.json', '.toml', '.yaml', '.yml', '.ps1', '.py', '.js', '.mjs', '.cmd', '.sh', '.example', '')
289-
foreach ($root in @((Join-Path $ProjectRoot '.agents'), (Join-Path $ProjectRoot '.codex'), (Join-Path $ProjectRoot 'AGENTS.md'), (Join-Path $ProjectRoot 'CLAUDE.md'), (Join-Path $ProjectRoot 'OPENCODE.md'), (Join-Path $ProjectRoot 'opencode.json'), (Join-Path $ProjectRoot '.cursorrules'), (Join-Path $ProjectRoot '.windsurfrules'), (Join-Path $ProjectRoot '.mcp.json'), (Join-Path $ProjectRoot 'CONFIG_RELAYS.cmd'), (Join-Path $ProjectRoot 'config_relays.ps1'), (Join-Path $ProjectRoot 'REPAIR_ALL.cmd'), (Join-Path $ProjectRoot 'repair.ps1'), (Join-Path $ProjectRoot '.env.example'))) {
289+
foreach ($root in @((Join-Path $ProjectRoot '.agents'), (Join-Path $ProjectRoot '.codex'), (Join-Path $ProjectRoot 'AGENTS.md'), (Join-Path $ProjectRoot 'CLAUDE.md'), (Join-Path $ProjectRoot 'OPENCODE.md'), (Join-Path $ProjectRoot 'opencode.json'), (Join-Path $ProjectRoot '.cursorrules'), (Join-Path $ProjectRoot '.windsurfrules'), (Join-Path $ProjectRoot '.mcp.json'), (Join-Path $ProjectRoot 'CONFIG_RELAYS.cmd'), (Join-Path $ProjectRoot 'config_relays.ps1'), (Join-Path $ProjectRoot 'REPAIR_ALL.cmd'), (Join-Path $ProjectRoot 'repair.ps1'), (Join-Path $ProjectRoot 'START_GATEWAY.cmd'), (Join-Path $ProjectRoot '.env.example'))) {
290290
$files = @()
291291
if (Test-Path -LiteralPath $root -PathType Leaf) { $files = @(Get-Item -LiteralPath $root) }
292292
elseif (Test-Path -LiteralPath $root -PathType Container) { $files = @(Get-ChildItem -LiteralPath $root -Recurse -File -Force) }

payload/project/.agents/tools/re-toolkit/cli.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,11 @@ def cmd_spec_probe(args: argparse.Namespace) -> None:
275275
print(result["output"])
276276

277277

278+
def cmd_gateway(args: argparse.Namespace) -> None:
279+
from gateway import start_gateway_server
280+
start_gateway_server(host=args.host, port=args.port)
281+
282+
278283
def cmd_export_preset(args: argparse.Namespace) -> None:
279284
presets = {
280285
"chatgpt": {
@@ -445,6 +450,12 @@ def main() -> None:
445450
p_spec.add_argument("--json", action="store_true", help="Output full JSON execution report")
446451
p_spec.set_defaults(func=cmd_spec_probe)
447452

453+
# gateway
454+
p_gw = subparsers.add_parser("gateway", help="Start local OpenAI-compatible anti-refusal API gateway server")
455+
p_gw.add_argument("--host", default="127.0.0.1", help="Host address (default: 127.0.0.1)")
456+
p_gw.add_argument("--port", type=int, default=8088, help="Port number (default: 8088)")
457+
p_gw.set_defaults(func=cmd_gateway)
458+
448459
# export-preset
449460
p_preset = subparsers.add_parser("export-preset", help="Export universal configuration presets for ChatGPT, OpenCode, Cursor, etc.")
450461
p_preset.add_argument("--target", choices=["chatgpt", "opencode", "cursor", "windsurf", "claude", "all"], default="all", help="Target agent platform")

0 commit comments

Comments
 (0)