Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Proxyk STDIN/STDOUT/STDERR kommunikáció helyi végrehajtható fájlokkal. Ez a parancs különösen hasznos a Model Context Protocol (MCP) kiszolgálók és más STDIO-alapú alkalmazások teszteléséhez és hibakereséséhez.
Áttekintés
devproxy stdio [options] <command> [args...]
Description
A stdio parancs elindít egy gyermekfolyamatot, és minden STDIN/STDOUT/STDERR kommunikációt proxyz. Ez lehetővé teszi a következőket:
- Ügyfelek (például VS Code) és MCP-kiszolgálók között áramló üzenetek vizsgálata
- Válaszok szimulálása az ügyfél viselkedésének teszteléséhez tényleges kiszolgálólogika futtatása nélkül
- Kommunikációs problémák hibakeresése a Chrome DevTools használatával
- Hibakezelés tesztelése példaválaszok beszúrásával vagy kérések blokkolásával
- Késés szimulálása AZ STDIO-kommunikációban
Usage
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Arguments
| Név | Description | Kötelező |
|---|---|---|
<command> |
A végrehajtandó parancs | yes |
[args...] |
A parancsnak átadni kívánt argumentumok | no |
Beállítások
| Név | Description | Engedélyezett értékek | Alapértelmezett |
|---|---|---|---|
-c, --config-file <configFile> |
A konfigurációs fájl elérési útja | Helyi fájl elérési útja | devproxyrc.json |
--no-stdio-mocks |
STDIO-mintaválaszok betöltésének letiltása | nincs adat | nincs adat |
--stdio-mocks-file <file> |
Az STDIO-mintaválaszokat tartalmazó fájl elérési útja | Helyi fájl elérési útja | - |
--log-level <loglevel> |
Naplózandó üzenetek szintje |
trace, debug, information, warning, , error |
information |
-?, -h, --help |
Súgó és használati adatok megjelenítése | nincs adat | nincs adat |
Példák
MCP-kiszolgáló indítása dev proxyval
devproxy stdio npx -y @modelcontextprotocol/server-filesystem
Egyéni konfigurációs fájl megadása
devproxy stdio --config-file ./my-config.json npx my-server
Egyéni modellfájl megadása
devproxy stdio --stdio-mocks-file ./my-mocks.json npx my-server
Stdio mocks letiltása
devproxy stdio --no-stdio-mocks npx my-server
Példa konfigurációra
A parancs beépülő modulokkal való használatához stdio hozzon létre egy konfigurációs fájlt:
Fájl: devproxyrc.json
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/rc.schema.json",
"plugins": [
{
"name": "MockStdioResponsePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "mockStdioResponsePlugin"
},
{
"name": "DevToolsPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "devTools"
}
],
"devTools": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/devtoolsplugin.schema.json",
"preferredBrowser": "Edge"
},
"mockStdioResponsePlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v2.1.0/mockstdioresponseplugin.schema.json",
"mocksFile": "stdio-mocks.json"
}
}
Támogatott beépülő modulok
Az alábbi beépülő modulok támogatják az STDIO elfogását:
| Beépülő modul | Description |
|---|---|
| MockStdioResponsePlugin | STDIN/STDOUT/STDERR-válaszok kipukkantatása |
| DevToolsPlugin | STDIO-forgalom vizsgálata a Chrome DevToolsban |
| LatencyPlugin | Mesterséges késés hozzáadása az STDIO-kommunikációhoz |
Architecture
A parancs használatakor a stdio Dev Proxy közvetítőként működik a szülőfolyamat (például a VS Code) és a gyermekfolyamat (például egy MCP-kiszolgáló) között:
┌─────────────────┐ STDIN ┌──────────────────┐ STDIN ┌─────────────────┐
│ Parent Process │ ─────────────▶ │ Dev Proxy │ ─────────────▶ │ Child Process │
│ (VS Code) │ │ │ │ (MCP Server) │
│ │ ◀───────────── │ ┌────────────┐ │ ◀───────────── │ │
└─────────────────┘ STDOUT │ │ Plugins │ │ STDOUT └─────────────────┘
│ └────────────┘ │
└──────────────────┘
A beépülő modulok a következő sorrendben hívhatók meg:
-
BeforeStdinAsync- A stdin gyermeknek való továbbítása előtt -
AfterStdoutAsync- A gyermektől kapott stdout után -
AfterStderrAsync- A stderr gyermektől való fogadása után
DevTools-integráció
A DevToolsPlugin engedélyezésekor megvizsgálhatja az STDIO-forgalmat a Chrome DevToolsban:
- Az üzenetek URL-címekkel
stdio://command-namejelennek meg - A kérések metódusként
STDINjelennek meg - A válaszok a következőként
STDOUTjelennek meg: (200 állapot) vagySTDERR(500 állapot) - Az üzenettörzsek adott esetben JSON-ként vannak formázva