Update .gitignore and README.md for CODESYS MCP project. Added entries to .gitignore for VSIX files and VS Code settings. Expanded README to include architecture, components, deployment instructions, and details about the Cursor extension.

This commit is contained in:
2026-05-24 15:47:21 +03:00
parent acdd740d01
commit bedc5d0628
55 changed files with 11120 additions and 3 deletions

View File

@@ -0,0 +1,57 @@
# Windows CODESYS Agent
This service runs inside the Windows VM that has CODESYS installed.
It receives authenticated job requests from the Linux MCP bridge and executes action scripts locally.
## Supported actions
- `create_project`
- `read_project_inventory`
- `stage_existing_project`
- `write_pou`
- `build_project`
- `download_to_device`
## Endpoints
- `GET /health`
- `POST /jobs`
- `GET /jobs/{job_id}`
## Environment variables
- `CODESYS_AGENT_TOKEN` (required shared secret)
- `CODESYS_AGENT_SCRIPTS_DIR` (default: `C:\\codesys-agent\\scripts`)
- `CODESYS_AGENT_RUNTIME_DIR` (default: `C:\\codesys-agent\\runtime`)
- `CODESYS_AGENT_PYTHON_BIN` (default: `python`)
- `CODESYS_AGENT_TIMEOUT_SEC` (default: `180`)
- `CODESYS_AGENT_ALLOW_DOWNLOAD` (`true` or `false`, default `false`)
- `CODESYS_EXE_PATH` (required for ScriptEngine actions, e.g. `C:\\Program Files\\CODESYS 3.5.xx\\CODESYS\\Common\\CODESYS.exe`)
- `CODESYS_PROFILE` (required for ScriptEngine actions, e.g. `CODESYS V3.5 SP21`)
- `CODESYS_NO_UI` (`true`/`false`, default `true`, runs actions without opening visible IDE UI)
- `CODESYS_SCRIPT_TIMEOUT_SEC` (default `600`)
## Run on Windows VM
```powershell
cd windows_codesys_agent
py -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
$env:CODESYS_AGENT_TOKEN = "<shared-secret-token>"
$env:CODESYS_AGENT_SCRIPTS_DIR = "C:\codesys-agent\windows_codesys_agent\scripts"
$env:CODESYS_AGENT_RUNTIME_DIR = "C:\codesys-agent\runtime"
$env:CODESYS_AGENT_ALLOW_DOWNLOAD = "false"
$env:CODESYS_EXE_PATH = "C:\Program Files\CODESYS 3.5.21.0\CODESYS\Common\CODESYS.exe"
$env:CODESYS_PROFILE = "CODESYS V3.5 SP21"
$env:CODESYS_NO_UI = "true"
uvicorn agent:app --host 0.0.0.0 --port 8787
```
## Security notes
- Keep VM firewall limited to trusted source IPs.
- Use a long random token, rotate periodically.
- Keep `CODESYS_AGENT_ALLOW_DOWNLOAD=false` until you finish dry-run validation.
- For full automation, verify `CODESYS_EXE_PATH` and `CODESYS_PROFILE` are correct for your VM installation.