Back to Home
MinatoNami icon

project-alena

Verified Safe

by MinatoNami

Overview

Orchestrates various AI models and tools (like Google Calendar and Codex CLI) via MCP for local, privacy-first personal assistant capabilities, integrating voice, chat, and external services like Telegram.

Installation

Run Command
bash scripts/start_controller_with_mcp.sh

Environment Variables

  • GOOGLE_CREDENTIALS_PATH
  • CALENDAR_ID
  • CALENDAR_TIMEZONE
  • OLLAMA_BASE_URL
  • OLLAMA_MODEL
  • OLLAMA_TIMEOUT
  • TELEGRAM_BOT_TOKEN
  • TELEGRAM_TARGET_CHAT_ID
  • ALENA_CONTROLLER_URL
  • ALENA_MAX_TOOL_STEPS
  • LOG_LEVEL
  • MAX_AUDIO_BYTES
  • WHISPER_MODEL
  • WHISPER_DEVICE
  • WHISPER_COMPUTE_TYPE
  • OLLAMA_ENABLED
  • LLM_ROUTE
  • ALENA_CONTROLLER_TIMEOUT
  • CORS_ALLOW_ORIGINS
  • ALENA_MEMORY_MAX_MESSAGES
  • ALENA_CONTROLLER_HOST
  • ALENA_CONTROLLER_PORT
  • OLLAMA_DEBUG
  • CALENDAR_TIMEZONE_OFFSET
  • TELEGRAM_SOURCE_CHAT_IDS
  • TELEGRAM_ECHO_IN_TARGET
  • TELEGRAM_REPLY_IN_SOURCE
  • TELEGRAM_CONTROLLER_ENABLED
  • TELEGRAM_CONTROLLER_MAX_CONCURRENCY
  • TELEGRAM_STT_WS_URL
  • TELEGRAM_STT_TIMEOUT
  • TELEGRAM_STT_SSL_VERIFY

Security Notes

Controlled Subprocess Execution: The `codex_runner.py` uses `subprocess.run` to invoke the `codex` CLI. While it attempts to sandbox with `--sandbox workspace-write` for `--apply` actions, any external CLI invocation carries inherent risks if the CLI itself or the prompt input can be exploited for arbitrary command execution. The project states "No shell execution (safe subprocess calls)" but this relies on the `codex` CLI's own sandboxing. Hardcoded Repository Whitelist: The `modules/core/controller/safety.py` module includes `ALLOWED_REPOS = ["/Users/lionelchong/sandbox"]` which is a hardcoded path. This is a critical security control to prevent agents from accessing arbitrary filesystem locations, but it must be made configurable by the user or dynamically determined to be practical and secure in different deployment environments. As it stands, it severely limits usability and is a significant setup friction. Default Wildcard CORS: The FastAPI backend for the voice assistant (`modules/voice-assistant/backend/app/main.py`) uses `allow_origins=["*"]` for CORS by default. While common for local development, this poses a security risk if the server is exposed to the internet, as it allows any domain to make cross-origin requests. Secrets Management: `modules/mcp/google-calendar/secrets/README.md` explicitly instructs users not to commit `credentials.json` or `token.json` and details secure handling, which is good practice. Environment variables are supported for custom paths.

Similar Servers

Stats

Interest Score0
Security Score7
Cost ClassMedium
Avg Tokens3000
Stars0
Forks0
Last Update2026-01-19

Tags

Local LLMVoice AssistantAI AgentMCPGoogle CalendarCodexTelegram Bot