ai-support-agent
Version, currently main branch1 version
- main branchlatestAug 19, 2026
github.com/PlaceOS/ai-support-agent
PlaceOS service that investigates incident signals and generates evidence-backed diagnostic reports.
Installation
# Add this to your shard.yml
dependencies:
ai-support-agent:
github: PlaceOS/ai-support-agent
branch: mainmain is a branch, not a release, so this tracks it rather than pinning a version.
Then run:
shards installshard.yml
- Crystal
>= 1.20.0- Target
ai-support-agentfrom src/app.cr
Dependencies
Runtime Dependencies
- email~> 0.7.1github: arcage/crystal-email
- openai*github: spider-gazelle/crystal-openai
- tasker~> 3.0github: spider-gazelle/tasker
- placeos~> 2.0github: placeos/crystal-client
- placeos-models>= 9.92.1github: placeos/models
- placeos-resource*github: place-labs/resource
- action-controller~> 7.2github: spider-gazelle/action-controller
Development Dependencies
README
PlaceOS AI Support Agent
PlaceOS service that investigates incident signals and generates evidence-backed diagnostic reports. The current implementation is report-only and does not execute remediation.
Environment Variables
Database
PG_DATABASE_URL= PostgreSQL connection URL. Required for persistence, incident claiming, and module changefeed ingestion.
The following PgORM settings can be used instead of PG_DATABASE_URL:
PG_HOST= PostgreSQL hostname (default:localhost)PG_PORT= PostgreSQL port (default:5432)PG_DATABASE= PostgreSQL database name (default:test)PG_USER= PostgreSQL username (default:postgres)PG_PASSWORD= PostgreSQL password (default: empty)PG_QUERY= query parameters appended to the generated PostgreSQL URL (default: empty)PG_LOCK_TIMEOUT= database lock timeout in seconds (default:5)
PlaceOS API
PLACE_URI= PlaceOS REST API base URL. Required for PlaceOS diagnostic context.PLACE_API_KEY= PlaceOS API key with administrator access for cluster process evidence. Preferred authentication method.PLACE_INSECURE= disable TLS certificate verification when set to1ortrue(default:false)
User authentication can be used instead of PLACE_API_KEY. All of the following are required when using user authentication:
PLACE_EMAIL= PlaceOS user emailPLACE_PASSWORD= PlaceOS user passwordPLACE_AUTH_CLIENT_ID= PlaceOS OAuth client IDPLACE_AUTH_SECRET= PlaceOS OAuth client secret
OpenAI
OPENAI_API_KEY= OpenAI API key. Enables AI-assisted incident analysis.OPENAI_API_BASE= alternate OpenAI-compatible or Azure OpenAI API base URLOPENAI_MODEL= model used for incident analysis (default:gpt-4o-mini)
Playbooks And Report Templates
PLAYBOOKS_PATH= workflow and procedure catalogue root (default: auto-discoveredplaybooksdirectory)REPORT_TEMPLATES_PATH= report template directory (default: auto-discoveredtemplates/reportsdirectory)REPORT_TEMPLATE_ID= report template ID (default:operator-report)
Report Delivery
REPORT_WEBHOOK_URL= outbound webhook URL for generated reportsREPORT_EMAIL_TO= comma-separated email recipients. Enables email delivery when SMTP is configured.
SMTP
SMTP_SERVER= SMTP server hostname. Required whenREPORT_EMAIL_TOis configured.SMTP_PORT= SMTP server port (default:25)SMTP_SECURE= SMTP transport mode:NONE,STARTTLS, orSMTPS(default:NONE)SMTP_USER= SMTP username. Must be set withSMTP_PASS.SMTP_PASS= SMTP password. Must be set withSMTP_USER.SMTP_FROM_EMAIL= report sender address. Required whenREPORT_EMAIL_TOis configured.SMTP_FROM_NAME= report sender name (default:PlaceOS Support Agent)SMTP_HELO_DOMAIN= SMTPHELO/EHLOdomain (default: sender email domain)
Incident Claiming
INCIDENT_CLAIM_LEASE_SECONDS= incident claim lease in seconds, clamped to 10-300 (default:30)INCIDENT_CLAIM_WAIT_MILLISECONDS= maximum wait for another worker to complete a claimed incident, clamped to 0-30000 (default:2000)INCIDENT_CLAIM_POLL_MILLISECONDS= claim polling interval, clamped to 10-1000 (default:100)
Service
SG_ENV= runtime environment (default:development)SG_SERVER_HOST= HTTP server bind address (default:127.0.0.1)SG_SERVER_PORT= HTTP server port (default:3015)SG_PROCESS_COUNT= HTTP server worker count (default:1)LOG_LEVEL= log severity (default:infoin production,debugotherwise)PLACE_COMMIT= commit identifier embedded at build time (default:DEV)
Development
shards install
./test
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This branch
- Branch
main- Seen
- Aug 19, 2026
- Crystal
>= 1.20.0- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/PlaceOS/ai-support-agent
Metadata
- Created
- Aug 21, 2026
- Updated
- Aug 21, 2026
- Synced
- Aug 21, 2026
- Versions
- 1