diff --git a/.gitignore b/.gitignore index b1dd2e9..5b9910f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,10 @@ ROADMAP.md packages/server/data/ packages/server/node_modules/ .hermes-web-ui/ + +# Hermes config files (should be in user data directory, not project root) +config.yaml +.env hermes_data/ hermes-dependencies.md # Editor directories and files diff --git a/nodemon.json b/nodemon.json new file mode 100644 index 0000000..f035e69 --- /dev/null +++ b/nodemon.json @@ -0,0 +1,13 @@ +{ + "watch": ["packages/server/src"], + "ext": "ts,tsx", + "execMap": { + "ts": "node -r ts-node/register" + }, + "env": { + "TS_NODE_PROJECT": "packages/server/tsconfig.json" + }, + "exec": "node -r ts-node/register packages/server/src/index.ts", + "nodeArgs": ["--no-warnings"], + "delay": "1000" +} diff --git a/package.json b/package.json index de6b38e..fef437b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hermes-web-ui", - "version": "0.5.16", + "version": "0.5.17", "description": "Self-hosted AI chat dashboard for Hermes Agent — multi-model web UI with multi-platform integration", "repository": { "type": "git", @@ -36,7 +36,7 @@ "start": "vite --host --port 8648", "dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"", "dev:client": "vite --host", - "dev:server": "nodemon --signal SIGTERM --watch packages/server/src -e ts,tsx --exec TS_NODE_PROJECT=packages/server/tsconfig.json node -r ts-node/register packages/server/src/index.ts", + "dev:server": "nodemon", "build": "vue-tsc -b && vite build && tsc --noEmit -p packages/server/tsconfig.json && node scripts/build-server.mjs", "prepare": "[ -d dist ] || npm run build", "preview": "NODE_ENV=production vite preview", @@ -86,6 +86,7 @@ "@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", @@ -104,6 +105,7 @@ "qrcode": "^1.5.4", "sass": "^1.99.0", "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", @@ -114,4 +116,4 @@ "vue-tsc": "^3.2.8", "ws": "^8.20.0" } -} +} \ No newline at end of file diff --git a/packages/client/index.html b/packages/client/index.html index 9d167a8..a08fb9d 100644 --- a/packages/client/index.html +++ b/packages/client/index.html @@ -6,6 +6,33 @@ Hermes + + + diff --git a/packages/client/public/fonts/Gaegu-Bold.ttf b/packages/client/public/fonts/Gaegu-Bold.ttf new file mode 100644 index 0000000..4e22d24 Binary files /dev/null and b/packages/client/public/fonts/Gaegu-Bold.ttf differ diff --git a/packages/client/public/fonts/Gaegu-Regular.ttf b/packages/client/public/fonts/Gaegu-Regular.ttf new file mode 100644 index 0000000..1e28823 Binary files /dev/null and b/packages/client/public/fonts/Gaegu-Regular.ttf differ diff --git a/packages/client/public/fonts/ZCOOLKuaiLe-Regular.ttf b/packages/client/public/fonts/ZCOOLKuaiLe-Regular.ttf new file mode 100644 index 0000000..3cf6cd9 Binary files /dev/null and b/packages/client/public/fonts/ZCOOLKuaiLe-Regular.ttf differ diff --git a/packages/client/public/fonts/ZenMaruGothic-Bold.ttf b/packages/client/public/fonts/ZenMaruGothic-Bold.ttf new file mode 100644 index 0000000..aeaf890 Binary files /dev/null and b/packages/client/public/fonts/ZenMaruGothic-Bold.ttf differ diff --git a/packages/client/public/fonts/ZenMaruGothic-Regular.ttf b/packages/client/public/fonts/ZenMaruGothic-Regular.ttf new file mode 100644 index 0000000..c622402 Binary files /dev/null and b/packages/client/public/fonts/ZenMaruGothic-Regular.ttf differ diff --git a/packages/client/src/components/layout/AppSidebar.vue b/packages/client/src/components/layout/AppSidebar.vue index dc031b4..48aafaf 100644 --- a/packages/client/src/components/layout/AppSidebar.vue +++ b/packages/client/src/components/layout/AppSidebar.vue @@ -688,6 +688,19 @@ function openChangelog() { .status-row { justify-content: center; + + :deep(.input-sm) { + display: none; + } + } + + .version-info { + justify-content: center; + padding: 4px 0; + + :deep(.theme-switch-container) { + flex-direction: column; + } } } } diff --git a/packages/client/src/components/layout/ThemeSwitch.vue b/packages/client/src/components/layout/ThemeSwitch.vue index 305acf7..4eb6793 100644 --- a/packages/client/src/components/layout/ThemeSwitch.vue +++ b/packages/client/src/components/layout/ThemeSwitch.vue @@ -5,7 +5,7 @@ const { isDark, isComic, toggleBrightness, toggleStyle } = useTheme()