7d5af0c81b
CI/CD / CI · API (dotnet build + test) (push) Successful in 39s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 33s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m6s
CI/CD / CI · Admin Web (tsc) (push) Successful in 39s
CI/CD / CI · Website (tsc) (push) Successful in 45s
CI/CD / CI · Koja (tsc) (push) Successful in 50s
CI/CD / Deploy · all services (push) Successful in 29s
A standalone net10.0-windows console app (agent/Meezi.PrintAgent) installed on the café cash PC. It pairs with a one-time code (POST /print-agent/claim), stores the token in %APPDATA%, holds a SignalR connection to /hubs/print-agent (retries forever, re-reports on reconnect), discovers installed printers via WMI (USB + network, classified), and prints jobs it receives by writing raw ESC/POS bytes — winspool RAW passthrough for installed printers, raw TCP for ip:port devices — acking each job back. Not in the API solution or CI (own net10.0-windows build); see agent/README.md for build/publish/pair. Builds clean; startup + pairing flow smoke-tested. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Meezi Print Agent (پرینتسرور میزی)
A tiny Windows background app that lets the cloud-hosted Meezi reach printers on
the café's local network (USB or Wi-Fi/Ethernet). The cloud can't open a
connection to a 192.168.x.x or USB printer directly — this agent runs on the cash
PC (which is on that network), connects outward to Meezi over SignalR, reports
the printers it can see, and prints the jobs the cloud sends it.
Cloud API ──SignalR(out)──► Print Agent (cash PC) ──► USB / LAN printers
How it works
- In the dashboard: Settings → Printers → Add print server → you get a pairing code.
- Run the agent on the cash PC, enter the code once. It saves a token to
%APPDATA%\MeeziPrintAgent\config.jsonand connects. - It reports every printer installed on that PC. Back in the dashboard you map receipt / kitchen / bar to a printer from the dropdown — no IP typing.
- When Meezi prints, the bytes (ESC/POS) are relayed to the agent, which writes them
raw to the chosen printer (
winspoolfor installed printers, raw TCP forip:portdevices).
Build & run (dev)
Requires the .NET 10 SDK on Windows.
# restore via the Nexus mirror (nuget.org is blocked on this network)
dotnet restore agent/Meezi.PrintAgent/Meezi.PrintAgent.csproj -s https://mirror.soroushasadi.com/repository/nuget-group/
dotnet run --project agent/Meezi.PrintAgent # first run prompts to pair
dotnet run --project agent/Meezi.PrintAgent -- pair # re-pair later
Publish a single .exe for cafés
dotnet publish agent/Meezi.PrintAgent -c Release -r win-x64 \
-p:PublishSingleFile=true --self-contained true -o dist/agent
# → dist/agent/MeeziPrintAgent.exe
Notes / roadmap
- Not part of the API solution or CI — it targets
net10.0-windowsand builds on its own. - Console MVP today. Next: system-tray UI, run-at-login (Task Scheduler / service), auto-update, and an optional LAN scan for raw
ip:9100printers that aren't installed in Windows. - The token is bearer-equivalent — keep
config.jsonon a trusted machine. Revoke from the dashboard if a PC is lost.