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:
57
python_scripting/windows_codesys_agent/README.md
Normal file
57
python_scripting/windows_codesys_agent/README.md
Normal 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.
|
||||
Reference in New Issue
Block a user