Requirements
Splunk versions, the two packages, LLM endpoints, outbound network, browsers.
Splunk
| Item | Requirement | Notes |
|---|---|---|
| Version | Splunk Enterprise 10.0+ | The requests engine runs on every version |
| Agentic engine | 10.2+, Python 3.13 | The official splunklib.ai Agent exists only on this combination; anything older falls back to the requests engine and the AI settings page states why (python_too_old / splunklib_ai_missing) |
| KV store | Enabled | Conversations, knowledge base, triage results, asset tables, reports and preferences all live there |
| Topology | Single search head or search-head cluster | Installs on the search head; nothing on indexers |
| Enterprise Security | Optional | With ES, live alerts read index=notable and verdicts write back to the notable; without ES the alert source can be any index |
| Splunk Cloud | fallback package | The fallback package (pure Python, no binaries) is the one that passes AppInspect Cloud; the selfcontained package carries a compiled trust anchor and cp313 wheels and is for on-prem only |
The two packages
| Package | Contents | Where |
|---|---|---|
rst_splunk_ai_copilot-<version>-fallback.spl | Pure Python, requests engine | Splunkbase, Splunk Cloud |
rst_splunk_ai_copilot-<version>-selfcontained.spl | splunklib.ai and dependencies bundled (~120 MB of cp313 wheels), licence trust anchor compiled to .so | On-prem Splunk Enterprise 10.2+ |
Both packages have the same features. The difference is the agentic engine: it lets the model call read-only tools to probe the real schema, dry-run its SPL and gather evidence around an alert. The requests engine answers the same prompts in one turn without probing.
A 10.2+ host running the fallback package can later run scripts/vendor_agentic.sh on the search head to install the stack into bin/lib/, which is equivalent to the selfcontained package.
LLM
Any OpenAI-compatible chat-completions endpoint. Verified: Volcengine Ark coding plan (ark-code-latest, doubao-seed-*, kimi-k2.7-code, deepseek-v4-*, glm-5.3), DeepSeek, Alibaba DashScope, OpenAI, OpenRouter, local Ollama / vLLM.
- At least a 32k context; investigation and triage prompts carry evidence and a short context truncates them.
- Function calling is not required; the agentic engine uses
splunklib.ai's own protocol. - Semantic retrieval (optional) needs a separate embeddings endpoint. It is off by default and the knowledge base falls back to keyword retrieval.
Network
| Direction | Target | Purpose |
|---|---|---|
| Outbound | LLM endpoint :443 | Every AI call |
| Outbound | license.reallysec.com :443 | Online activation, heartbeat, revocation list; not needed with an offline licence |
| Outbound (optional) | Threat-intel vendor, ServiceNow / Jira, Feishu / DingTalk / WeCom / Slack / Teams / SMTP, syslog / webhook | Each egresses only once enabled in copilot.conf or in the UI; all off or unconfigured by default |
| Inbound | None | Everything goes through Splunk Web on 8000 |
The MCP server (1.9.0+) listens on 127.0.0.1:18100 by default; other machines need a TLS reverse proxy in front.
Browser
The last two major versions of Chrome / Edge / Firefox / Safari. The UI is laid out for 1280 px and wider; below 1024 px the sidebar collapses.