Files

58 lines
3.7 KiB
YAML

name: athena
repo: https://github.com/athenaforhermes/athena
sha: "3ef0dbddf18545f2a2d5b2e192dada16e3b0eda8"
title: Athena
description: "The local AI-app store for Hermes: browse a constantly growing catalogue of apps, install an app from any git repository, launch it, read its logs and stop it. It declares HF_TOKEN and GITHUB_TOKEN so Hermes offers to set them, and reads each one through Hermes' own secret route rather than scavenging another program's token store. An app is handed a credential only after you approve that app, as an environment variable for the life of its process - never written to disk and never sent anywhere by Athena itself. Apps run on your machine on loopback; third-party install scripts run as you, and the README states the network endpoints, the WSL/QEMU command paths and the GitHub publish path in full. The panel and the CLI are two doors into the same engine. Agent control is in active development. Disclosure — installs apps by cloning third-party git repositories and running their own install and launch scripts on your machine as you (each install and first launch asks through Hermes' approval prompt); provisions a pinned app engine from npm at setup after consent; hands HF_TOKEN / GITHUB_TOKEN to an app only after you approve that app, as an environment variable of its process; sends the GitHub token only to GitHub hosts; can manage WSL/QEMU machines and publish your store to a GitHub repository you name."
maintainer: athenaforhermes
tier: community
category: platform
version: "1.0.1"
requires_hermes: ">=0.21.0,<0.23.0"
docs_url: https://github.com/athenaforhermes/athena
# `readme: true` makes the docs site render the plugin's own README from the
# pinned commit - which is where the licence, the screenshots and the full
# architecture live. It needs `repo` to be github.com (or gitlab.com), which it is.
readme: true
# `screenshots:` is deliberately absent until the repo has hosted assets: the
# validator only accepts https URLs on github.com / raw.githubusercontent.com, so a
# placeholder here would be an un-fetchable entry the moment it shipped. Three are
# intended - a real panel, a running app, and a machine's screen - all cut from the
# pinned commit once it is real. The licence is the repo's `LICENSE` (MIT).
platforms: [windows]
# Declared honestly: the engine, the app launches and the panel are tested on
# Windows. Linux is expected to work (the engine is Node, the paths are POSIX-aware)
# but has not been exercised, so the entry does not claim it.
known_issues:
- "Windows-tested only. The panel, the engine and app launches are exercised on Windows; Linux is expected to work but is untested, so the entry declares `platforms: [windows]`."
- "The bundled engine is provisioned at setup from npm at a pinned version behind a consent step, so first setup needs network access to the npm registry; an offline machine cannot start the engine."
- "An app whose menu marks no entry as default (FaceFusion, for example) is opened on its first runnable script - the install step on a fresh clone, the start action after. Athena falls back to the app's own menu rather than refusing to run it."
capabilities:
provides_tools:
- athena_status
- athena_apps
- athena_search
- athena_install
- athena_launch
- athena_stop
- athena_logs
- athena_store_detail
- athena_publish
- athena_delete
- athena_fix
- athena_report
- athena_app_health
- athena_models
- athena_settings
- athena_files
- athena_space
- athena_job
- athena_capabilities
- athena_generate
- athena_runs
- athena_schedule
- athena_build_app
- athena_machines
provides_hooks: [pre_tool_call]
provides_middleware: []
requires_env: [HF_TOKEN, GITHUB_TOKEN]