feat: Improve dashboard auth sync, expand providers, add diagnostics and test suite - #39
Open
ianalloway wants to merge 1 commit into
Open
Conversation
…and test suite - Fix dashboard credentials synchronization in patch-config.py and server.cjs - Add Groq and Mistral AI providers and update active model suggestions - Add Discord and Slack messaging integration fields in setup wizard - Add in-UI Hermes Doctor diagnostics endpoint and dashboard widget - Add port 8081 Hermes Dashboard to dappnode_package.json exposable list - Add comprehensive Node.js and Python unit test suites and GitHub Actions CI workflow - Update README and getting-started documentation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
1. Dashboard Authentication & Credential Synchronization Fix
patch-config.pyandserver.cjswhere setting custom dashboard credentials in the Setup Wizard failed to synchronize withconfig.yamlupon container restart, causing 401 Unauthorized errors on/dashboard.configure_dashboard_authnow synchronizes credentials from.envintoconfig.yamlanddashboard-login.txt.2. Expanded AI Provider Support in Setup Wizard
GROQ_API_KEY) and Mistral AI (MISTRAL_API_KEY) insetup-wizard/index.html.claude-3-7-sonnet,gpt-4o,gemini-2.0-flash,llama-3.3-70b-versatile,mistral-large-latest,deepseek-v4-pro).api_key: "ollama-local"inconfig.yamlgeneration for Ollama custom endpoints.3. Messaging Integrations (Discord & Slack)
4. In-UI System Diagnostics & Hermes Doctor
GET /api/doctorinserver.cjsthat runshermes doctorsafely with privilege dropping (s6-setuidgid hermes).5. Security & Permission Hardening
0o600permissions on.envanddashboard-login.txtand masked secrets in review previews.HERMES_HOMEpath helpers inserver.cjs.6. Package Metadata & Port Exposure
Hermes Agent Dashboard(port8081) toexposableindappnode_package.json.7. Automated Test Suite & GitHub Actions CI
test/test_patch_config.py,test/test_bootstrap_env.py, andtest/server.test.js.package.jsonscripts (npm test,npm run test:node,npm run test:python)..github/workflows/test.ymlto run test suites on PRs and pushes tomain.8. Documentation
README.mdandgetting-started.mdwith port tables, feature descriptions, and test instructions.Verification
npm run test:node)npm run test:python)