Import the client, server, skills, tests, and build scripts as the starting point for the rebuild, then trim the surfaces this project does not ship: Electron desktop packaging, the marketing website, and the ESP32 firmware tree. CI keeps the web build, e2e, lockfile, release, and Docker workflows. Rename the package and CLI entry points to hermes-ui, drop the prepare hook so npm ci no longer triggers a build, and drop the removed tsconfig and nodemon references. Rewrite AGENTS.md, ARCHITECTURE.md, DEVELOPMENT.md, and the READMEs so the documented package map and hard rules match this repository. reference_code/ is ignored: it is a read-only snapshot, not an input to the build.
151 lines
5.3 KiB
JSON
151 lines
5.3 KiB
JSON
{
|
|
"name": "hermes-ui",
|
|
"version": "0.6.29",
|
|
"description": "Self-hosted AI chat dashboard for Hermes Agent — multi-model web UI with multi-platform integration",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/EKKOLearnAI/hermes-studio.git"
|
|
},
|
|
"homepage": "https://hermes-studio.ai",
|
|
"license": "BSL-1.1",
|
|
"engines": {
|
|
"node": ">=23.0.0"
|
|
},
|
|
"keywords": [
|
|
"hermes",
|
|
"hermes-agent",
|
|
"hermes-web",
|
|
"agent",
|
|
"ai",
|
|
"ai-agent",
|
|
"ai-chat",
|
|
"ai-dashboard",
|
|
"llm",
|
|
"multi-model",
|
|
"chat-ui",
|
|
"dashboard",
|
|
"self-hosted",
|
|
"multi-platform",
|
|
"vue3",
|
|
"typescript"
|
|
],
|
|
"bin": {
|
|
"hermes-ui": "./bin/hermes-ui.mjs",
|
|
"hermes-ui-mcp": "./bin/hermes-ui-mcp.mjs"
|
|
},
|
|
"scripts": {
|
|
"start": "vite --host --port 8648",
|
|
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
|
|
"dev:client": "cross-env HERMES_WEB_UI_BACKEND_PORT=8647 vite --host --port 8649 --strictPort",
|
|
"dev:server": "nodemon",
|
|
"build": "npm run openapi:generate && vue-tsc -b && vite build && tsc --noEmit -p packages/server/tsconfig.json && node scripts/build-server.mjs",
|
|
"harness:check": "node scripts/harness-check.mjs",
|
|
"preview": "NODE_ENV=production vite preview",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:ui": "playwright test --ui",
|
|
"dev:website": "vite --config vite.config.website.ts",
|
|
"build:website": "vite build --config vite.config.website.ts",
|
|
"preview:website": "vite preview --config vite.config.website.ts",
|
|
"mcu:v1:flash:clean": "pio run -d packages/esp32-c3/v1 && pio run -d packages/esp32-c3/v1 -t erase && pio run -d packages/esp32-c3/v1 -t upload",
|
|
"mcu:v2:flash:clean": "pio run -d packages/esp32-c3/v2 && pio run -d packages/esp32-c3/v2 -t erase && pio run -d packages/esp32-c3/v2 -t upload",
|
|
"mcu:flash:clean": "npm run mcu:v1:flash:clean",
|
|
"desktop:install": "npm ci --prefix packages/desktop --no-audit --no-fund",
|
|
"desktop:prepare-runtime": "npm --prefix packages/desktop run prepare:runtime",
|
|
"desktop:prepare-python": "npm --prefix packages/desktop run prepare:python",
|
|
"desktop:dev": "HERMES_WEB_UI_DIR=\"$PWD\" npm --prefix packages/desktop run dev",
|
|
"build:desktop": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --publish never",
|
|
"build:desktop:mac": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --mac --publish never",
|
|
"build:desktop:win": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --win --publish never",
|
|
"build:desktop:linux": "npm run build && npm run desktop:install && npm --prefix packages/desktop run dist -- --linux --publish never",
|
|
"openapi:generate": "node scripts/generate-openapi.mjs",
|
|
"claude": "claude --dangerously-skip-permissions"
|
|
},
|
|
"files": [
|
|
"bin/",
|
|
"dist/"
|
|
],
|
|
"dependencies": {
|
|
"@audio/decode-mp3": "^1.1.0",
|
|
"@audio/decode-wav": "^1.2.0",
|
|
"@vscode/markdown-it-katex": "^1.1.2",
|
|
"@vue-flow/background": "^1.3.2",
|
|
"@vue-flow/controls": "^1.1.3",
|
|
"@vue-flow/core": "^1.48.2",
|
|
"@vue-flow/minimap": "^1.5.4",
|
|
"@vue-flow/node-resizer": "^1.5.1",
|
|
"adm-zip": "^0.5.17",
|
|
"agent-browser": "^0.26.0",
|
|
"eventsource": "^4.1.0",
|
|
"js-tiktoken": "^1.0.21",
|
|
"katex": "^0.17.0",
|
|
"node-edge-tts": "^1.2.10",
|
|
"node-pty": "^1.1.0",
|
|
"socket.io": "^4.8.3",
|
|
"socket.io-client": "^4.8.3"
|
|
},
|
|
"devDependencies": {
|
|
"@koa/bodyparser": "^5.0.0",
|
|
"@koa/cors": "^5.0.0",
|
|
"@koa/router": "^15.4.0",
|
|
"@multiavatar/multiavatar": "^1.0.7",
|
|
"@pinia/testing": "^1.0.3",
|
|
"@playwright/test": "^1.60.0",
|
|
"@types/adm-zip": "^0.5.8",
|
|
"@types/eventsource": "^1.1.15",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/katex": "^0.16.8",
|
|
"@types/koa": "^2.15.0",
|
|
"@types/koa__cors": "^5.0.0",
|
|
"@types/koa__router": "^12.0.5",
|
|
"@types/koa-send": "^4.1.6",
|
|
"@types/koa-static": "^4.0.4",
|
|
"@types/markdown-it": "^14.1.2",
|
|
"@types/node": "^24.12.2",
|
|
"@types/qrcode": "^1.5.6",
|
|
"@types/ws": "^8.18.1",
|
|
"@vitejs/plugin-vue": "^6.0.5",
|
|
"@vitest/coverage-v8": "^3.2.4",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"@vue/tsconfig": "^0.9.1",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/addon-web-links": "^0.12.0",
|
|
"@xterm/xterm": "^6.0.0",
|
|
"axios": "^1.9.0",
|
|
"concurrently": "^9.2.1",
|
|
"cross-env": "^10.1.0",
|
|
"esbuild": "^0.27.0",
|
|
"highlight.js": "^11.11.1",
|
|
"js-yaml": "^4.1.1",
|
|
"jsdom": "^27.0.1",
|
|
"koa": "^2.15.3",
|
|
"koa-send": "^5.0.1",
|
|
"koa-static": "^5.0.0",
|
|
"markdown-it": "^14.1.1",
|
|
"mermaid": "^11.14.0",
|
|
"monaco-editor": "^0.55.1",
|
|
"naive-ui": "^2.44.1",
|
|
"nodemon": "^3.1.14",
|
|
"pinia": "^3.0.4",
|
|
"pino": "^10.3.1",
|
|
"pino-pretty": "^13.1.3",
|
|
"qrcode": "^1.5.4",
|
|
"sass": "^1.99.0",
|
|
"tar": "^7.5.16",
|
|
"ts-node": "^10.9.2",
|
|
"ts-node-dev": "^2.0.0",
|
|
"tsoa": "^7.0.0-alpha.0",
|
|
"typescript": "~6.0.2",
|
|
"vite": "^8.0.4",
|
|
"vitest": "^3.2.4",
|
|
"vue": "^3.5.32",
|
|
"vue-i18n": "^11.3.2",
|
|
"vue-router": "^4.6.4",
|
|
"vue-tsc": "^3.2.8",
|
|
"vue-virtual-scroller": "^3.0.4",
|
|
"ws": "^8.20.0"
|
|
}
|
|
}
|