Files
2026-07-13 13:12:33 +08:00

62 lines
2.4 KiB
Ruby

# frozen_string_literal: true
# OpenSquilla — microkernel Python agent runtime. See caveats for the loopback-safe
# gateway default and the documented `--listen 0.0.0.0` opt-in.
class Opensquilla < Formula
include Language::Python::Virtualenv
desc "Microkernel Python agent runtime with MCP tools and multi-channel messaging"
homepage "https://github.com/OpenSquilla/opensquilla"
url "https://github.com/OpenSquilla/opensquilla/archive/refs/tags/v0.1.0.tar.gz"
sha256 "0000000000000000000000000000000000000000000000000000000000000000"
license "Apache-2.0"
head "https://github.com/OpenSquilla/opensquilla.git", branch: "main"
depends_on "python@3.13"
# First-draft formula: pip_install_and_link resolves runtime deps from
# PyPI at brew-install time. Once OpenSquilla ships a 0.1.0 tag, each runtime
# dep will be pinned here as a `resource` block for audit-grade install.
def install
venv = virtualenv_create(libexec, "python3.13")
venv.pip_install_and_link buildpath
end
def caveats
<<~EOS
OpenSquilla installed.
Default gateway bind: 127.0.0.1:18790 (loopback only).
Network exposure is opt-in only. To expose the gateway on the network:
- CLI flag: opensquilla gateway run --listen 0.0.0.0
- Env var: OPENSQUILLA_LISTEN=0.0.0.0 opensquilla gateway run
Reminder: only expose 0.0.0.0 behind a trusted reverse proxy or VPN.
The gateway's first-class auth assumes loopback-scope by default.
The Homebrew formula installs the core runtime. The bundled local ML
router also requires hydrated Git LFS model assets, which GitHub source
tarballs do not carry. If you want squilla-router ML routing, use a
source checkout with Git LFS plus the `recommended` profile:
git lfs pull --include="src/opensquilla/squilla_router/models/**"
uv sync --extra recommended
Service units (launchd / systemd / Task Scheduler) ship in
service-units/. For macOS, install the LaunchAgent:
envsubst < service-units/launchd/ai.opensquilla.gateway.plist \\
> ~/Library/LaunchAgents/ai.opensquilla.gateway.plist
launchctl load ~/Library/LaunchAgents/ai.opensquilla.gateway.plist
See service-units/README.md for the per-platform install + opt-in
walkthrough.
EOS
end
test do
assert_match "opensquilla", shell_output("#{bin}/opensquilla --help 2>&1")
end
end