diff --git a/poc/.env.example b/poc/.env.example new file mode 100644 index 0000000..f239994 --- /dev/null +++ b/poc/.env.example @@ -0,0 +1,5 @@ +# Copy to .env. The daemon loads this file and it overrides shell exports. +VESKSLOP_TTS_NAME=MicroslopSam +VESKSLOP_TTS_CMD="/path/to/microslopsam/setup/veskslop-tts.sh {out} {text_file}" +# Generate with: /path/to/microslopsam/setup/veskslop-tts.sh --voices +VESKSLOP_TTS_VOICES="" diff --git a/poc/package.json b/poc/package.json index afa14b4..5af36f6 100644 --- a/poc/package.json +++ b/poc/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", + "dotenv": "^17.4.2", "express": "^5.2.1", "qrcode": "^1.5.4", "qrcode-terminal": "^0.12.0", diff --git a/poc/pnpm-lock.yaml b/poc/pnpm-lock.yaml index bc89e06..fa030c8 100644 --- a/poc/pnpm-lock.yaml +++ b/poc/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@modelcontextprotocol/sdk': specifier: ^1.30.0 version: 1.30.0(zod@4.6.2) + dotenv: + specifier: ^17.4.2 + version: 17.4.2 express: specifier: ^5.2.1 version: 5.2.1 @@ -363,6 +366,10 @@ packages: dijkstrajs@1.0.3: resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dotenv@17.4.2: + resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} + engines: {node: '>=12'} + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -1014,6 +1021,8 @@ snapshots: dijkstrajs@1.0.3: {} + dotenv@17.4.2: {} + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 diff --git a/poc/src/control-bridge.ts b/poc/src/control-bridge.ts index 421e020..c5da356 100644 --- a/poc/src/control-bridge.ts +++ b/poc/src/control-bridge.ts @@ -9,6 +9,7 @@ * VESKSLOP_SOCKET=/path/to/vesktop-puppet.sock MCP_PORT=8788 pnpm control:bridge */ +import { config as loadEnv } from "dotenv"; import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js"; @@ -28,6 +29,8 @@ import { PreferencesStore } from "./preferences.js"; import { Puppet } from "./puppet.js"; import { startWebUi } from "./webui.js"; +loadEnv({ override: true }); + const HOST = process.env.MCP_HOST ?? "127.0.0.1"; const PORT = Number(process.env.MCP_PORT ?? 8788);