@frumu/tandem-panel
v0.4.0
Published
Full web control center for Tandem Engine (chat, routines, swarm, memory, channels, and ops)
Maintainers
Readme
Tandem Control Panel
Full web control center for Tandem Engine (non-desktop entry point).
Install
npm i -g @frumu/tandem-panelRun
tandem-control-panelAlias also supported:
tandem-setupBootstrap env/token first (recommended):
tandem-control-panel --initOr:
tandem-control-panel-initInstall Linux systemd services (engine + panel):
sudo tandem-control-panel --install-servicesOptions:
--service-mode=both|engine|panel(defaultboth)--service-user=<linux-user>(default:SUDO_USER/current user)
Features
- Token-gated web portal
- Dashboard + health overview
- Chat + session management
- Routines/automations
- Channels (Telegram/Discord/Slack)
- MCP server management
- Node-based swarm orchestration + live flow visualization
- Memory browsing/search/delete
- Agent teams + mission approvals
- Global live event feed
- Provider settings
Environment
Copy and customize if needed:
cp .env.example .envVariables:
TANDEM_CONTROL_PANEL_PORT(default39732)TANDEM_ENGINE_URL(defaulthttp://127.0.0.1:39731)TANDEM_ENGINE_HOST+TANDEM_ENGINE_PORTfallbackTANDEM_CONTROL_PANEL_AUTO_START_ENGINE(1/0)TANDEM_CONTROL_PANEL_ENGINE_TOKEN(token injected when panel auto-starts engine)TANDEM_API_TOKEN(backward-compatible alias for engine token)TANDEM_CONTROL_PANEL_SESSION_TTL_MINUTES(default1440)TANDEM_DISABLE_TOOL_GUARD_BUDGETS(1disables per-run guard budgets; default in installer/service env is1)TANDEM_PROMPT_CONTEXT_HOOK_TIMEOUT_MS(default5000)TANDEM_PROVIDER_STREAM_CONNECT_TIMEOUT_MS(default30000)TANDEM_PROVIDER_STREAM_IDLE_TIMEOUT_MS(default90000)TANDEM_BASH_TIMEOUT_MS(default30000)TANDEM_TOOL_BUDGET_DEFAULT,TANDEM_TOOL_BUDGET_BATCH,TANDEM_TOOL_BUDGET_WEBSEARCH,TANDEM_TOOL_BUDGET_READ,TANDEM_TOOL_BUDGET_SEARCH,TANDEM_TOOL_BUDGET_GLOB(used when guards are enabled)
Token Behavior
- If the panel connects to an already-running engine, use that engine's API token to sign in.
- If the panel auto-starts an engine, it now always starts with a known token:
TANDEM_CONTROL_PANEL_ENGINE_TOKEN(preferred), orTANDEM_API_TOKEN(alias), or- auto-generated at startup (printed in panel logs).
Tool Guard Budgets
Default installs now set:
TANDEM_DISABLE_TOOL_GUARD_BUDGETS=1To enforce caps instead, set:
TANDEM_DISABLE_TOOL_GUARD_BUDGETS=0
TANDEM_TOOL_BUDGET_DEFAULT=10
TANDEM_TOOL_BUDGET_BATCH=10
TANDEM_TOOL_BUDGET_WEBSEARCH=8
TANDEM_TOOL_BUDGET_READ=8
TANDEM_TOOL_BUDGET_SEARCH=6
TANDEM_TOOL_BUDGET_GLOB=4Notes:
- Unknown tools use
TANDEM_TOOL_BUDGET_DEFAULT. 0|none|unlimited|infinite|inffor a budget key means no cap for that key.
Setup Flow
- Run
tandem-control-panel --initto create/update.envand generate a token if missing. - Run
tandem-control-panel. - Sign in with the printed
TANDEM_CONTROL_PANEL_ENGINE_TOKEN.
Development
cd packages/tandem-control-panel
npm install
npm run dev
npm run build