用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill kairos-install命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | kairos-install |
| description | >- Use when this capability is needed. |
Use bundled references in this skill package as the canonical runtime source. Those references are refreshed from this repository docs during build/update workflows.
The default path is the simple Docker Compose stack. Use the advanced full stack only when the user explicitly asks for the operator-managed profile. Do not treat Keycloak or identity-provider administration as part of the normal install flow.
Unless the user explicitly chooses a different profile, recommend both of these together:
.env, then docker compose up). The npm package is not
a substitute for running the service in containers. In enterprise
environments, the parallel default is usually Helm (or another
operator-managed chart) instead of local Compose; the same CLI guidance
below still applies to operators targeting that deployment.@debian777/kairos-mcp: Install globally (npm install -g @debian777/kairos-mcp, then kairos on PATH) for day-to-day use, or run npx @debian777/kairos-mcp when the user declines a global install. The CLI is a
core part of the ecosystem: it exposes MCP-oriented workflows with bulk
and operational affordances (for example train, tune,
export, token and server targeting) that typical IDE MCP sessions alone
do not replace for operators.Use these bundled references before you act:
references/install/README.mdreferences/prerequisites.mdreferences/docker-compose-simple.mdreferences/CLI.mdreferences/docker-compose-full-stack.mdUse the docs in this order:
Extraction rule for .env blocks:
references/docker-compose-simple.md## 3. Environment fileini block directly under that subsectionMini example:
references/docker-compose-simple.md## 3. Environment file### OpenAIini blockConsult the user before any material change. Use direct yes/no or short-option questions, not vague prompts.
Treat these as material changes: installing software, downloading
compose.yaml, writing or overwriting .env, pulling models, starting or
stopping containers, running login commands that open a browser or store
tokens, and writing MCP host configuration.
Resolve these decisions explicitly:
compose.yaml?kairos,
kairos-install, kairos-bug-report, or all)?For this skill, "advanced full stack" or "operator-managed profile" means the Compose deployment that adds supporting services such as Redis, Postgres, and Keycloak beyond the default app + Qdrant path.
Treat requests for Redis, Postgres, SSO, Keycloak, or "full stack" as requests for this advanced path.
Skip MCP host configuration when the user does not need an IDE or other HTTP MCP client. Prefer installing the CLI anyway for train/tune/export-style workflows. If the task is only install, health verification, login, or routine CLI usage, skip MCP host configuration — but do not skip CLI installation when the user expects operator or bulk workflows.
Apply these rules on every install run:
kairos CLI or npx, a writable .env location, and Ollama only when
the Ollama path is selected..env block for the chosen backend..env.AUTH_ENABLED=false for the default simple stack.npx skills add debian777/kairos-mcp (all skills) or explicit --skill
flags.Apply these prohibitions on every install run:
.env, pull Ollama models, or start containers without
confirmation.references/README.md for the main flow.kairos-install is enough when the user asked for
additional workflow skills.Follow this sequence so the install stays ordered and auditable.
Classify the user request before taking action:
If unclear, ask the user whether they want install mode or update mode.
When the user asks for Docker, npm CLI, or repo skill updates, skip backend and
.env selection unless they also ask to reconfigure the runtime.
Read bundled install index, prerequisites, simple stack, and CLI docs first.
Confirm that the user has:
compose.yaml and a writable .envkairos CLI, or willingness to use npxRemember that a local git clone is optional. The user only needs a controlled
copy of compose.yaml plus a writable .env path. Accept either the checked-
out repo root compose.yaml or an operator-provided copy in a user-approved
working directory.
When something is missing, say exactly what is missing and ask whether to install it now.
Known CLI install command:
npm install -g @debian777/kairos-mcp
kairos --help
Known one-shot npx command:
npx @debian777/kairos-mcp --help
If the user declines a global install, keep using npx @debian777/kairos-mcp <command> for the rest of the session.
Compose v2 verification commands:
docker compose version
docker-compose version
Treat docker compose version as the required success case. If only
docker-compose works and docker compose does not, tell the user Compose v2
is missing and ask whether to install or upgrade it.
For Docker, Node.js, or Ollama, use the official vendor installation path for the user's OS after approval if the KAIROS install docs do not already cover the missing prerequisite.
For this skill, assume the KAIROS docs cover CLI and Compose usage, but Docker, Node.js, and Ollama installation steps come from the vendor pages below.
Do not invent your own Docker, Node.js, or Ollama install commands. Use the official OS-specific instructions from the vendor page after the user approves that install path.
If the agent cannot run the official installer directly, stop after opening the vendor page and telling the user what they need to complete manually.
If the OS is not already clear, ask whether the user is on macOS, Windows, or Linux before opening the vendor page.
On Windows, confirm whether the user wants the install to target Windows itself or a WSL environment before you continue.
Success checks after installation:
docker --version and docker compose versionnode --versionollama --version or ollama listVendor install pages:
.envExplain that the embedding backend determines the .env values and must be
chosen before docker compose up.
text-embedding-3-small; requires a
valid OPENAI_API_KEYnomic-embed-text; if Ollama or
the model is missing, ask whether to install or pull it nowTEI_BASE_URL and, if
they do not want the repo default Alibaba-NLP/gte-large-en-v1.5,
TEI_MODELOnly use the TEI path when the user already has a reachable TEI service. This skill does not provision TEI for them.
TEI reachability check:
curl -sS "${TEI_BASE_URL}/health"
Treat HTTP 200 from that endpoint as reachable. If the call errors or returns a non-200 response, stop the TEI path and ask the user to fix the TEI service or choose another backend.
Ollama URL rules:
http://host.docker.internal:11434http://127.0.0.1:11434Linux Ollama example: if the user says the host-reachable Ollama endpoint is
192.168.1.10:11434, use OPENAI_API_URL=http://192.168.1.10:11434.
Do not continue to .env until the user picks one path.
.envUse the exact environment block from bundled references/docker-compose-simple.md
for the chosen backend. If bundled references are unavailable, use the inline
fallback snippets below verbatim.
Confirm all of the following before writing:
.env already existsTreat overwrite as safe only when either .env does not already exist or the
user explicitly approved replacing the existing file after you told them what
will change.
Do not merge multiple .env variants in this skill. Create or replace one
plain .env file in the chosen working directory.
Treat the directory as writable only when the user approved that location and
you can create or replace .env there.
If writing .env would fail with a permission error, stop and ask the user for
another directory or for permission changes.
For the simple stack, make sure .env includes QDRANT_API_KEY,
AUTH_ENABLED=false, and only the variables required by the chosen embedding
backend.
If bundled references are unavailable and you already disclosed the fallback, these are the minimum simple-stack snippets:
OpenAI:
OPENAI_API_KEY=sk-...
QDRANT_API_KEY=change-me
AUTH_ENABLED=false
Ollama with the app in Compose and Ollama on the host:
OPENAI_API_URL=http://host.docker.internal:11434
OPENAI_EMBEDDING_MODEL=nomic-embed-text
OPENAI_API_KEY=ollama
QDRANT_API_KEY=change-me
AUTH_ENABLED=false
If the app runs on the host instead of in Compose, use
OPENAI_API_URL=http://127.0.0.1:11434.
TEI:
TEI_BASE_URL=http://your-tei:8080
QDRANT_API_KEY=change-me
AUTH_ENABLED=false
Add TEI_MODEL only when the user wants a model other than the repo default.
TEI with a non-default model:
TEI_BASE_URL=http://your-tei:8080
TEI_MODEL=your-custom-model
QDRANT_API_KEY=change-me
AUTH_ENABLED=false
Before starting, confirm that the required ports are free or intentionally remapped.
Default simple-stack ports are:
PORT -> 30006333 and 6344METRICS_PORT -> 9090Ask before running:
docker compose -p kairos-mcp up -d
Then verify the server:
curl -sS "http://localhost:${PORT:-3000}/health"
On native Windows outside Git Bash or WSL, substitute the actual port value and use either:
curl.exe http://localhost:3000/health
Invoke-WebRequest http://localhost:3000/health
If PORT=3300 in .env, use http://localhost:3300/health in those Windows
commands.
If startup fails, inspect logs:
docker compose -p kairos-mcp logs app-prod
Before using that log command, verify the application service name in the
selected compose.yaml. In the repo's default file, the service name is
app-prod.
If the service name is different, read the services: keys in compose.yaml
and substitute the application service name. Example: if the service key is
app, run docker compose -p kairos-mcp logs app.
If you need to check the default ports before starting, inspect listeners on:
lsof -nP -iTCP:3000 -sTCP:LISTEN
lsof -nP -iTCP:6333 -sTCP:LISTEN
lsof -nP -iTCP:6344 -sTCP:LISTEN
lsof -nP -iTCP:9090 -sTCP:LISTEN
If lsof is unavailable, use ss -ltn or ask the user whether those ports are
already in use.
On Windows, use:
netstat -ano | findstr :3000
netstat -ano | findstr :6333
netstat -ano | findstr :6344
netstat -ano | findstr :9090
If 3000 or 9090 is busy, ask whether to change PORT or METRICS_PORT in
.env before starting. If 6333 or 6344 is busy, ask whether to stop the
conflicting service before continuing or explicitly edit compose.yaml.
Concrete conflict examples:
3000 is busy, add PORT=3300 to .env and verify
http://localhost:3300/health9090 is busy, add METRICS_PORT=9191 to .env6333 or 6344 is busy, either stop the conflicting service or change
the host side of the compose.yaml port mappings after explicit approvalIf PORT changes, update the MCP URL to the same port. Example:
http://localhost:3300/mcp.
If curl fails after up -d, use this order:
docker compose -p kairos-mcp ps..env values for the chosen backend.Failure mapping:
docker compose ps shows the app stopped, inspect logs firstcurl still fails, re-check host, port, and
/healthFor the default simple stack with AUTH_ENABLED=false, explain that CLI login
is not needed.
If the target server requires auth, guide the user through the CLI flow from
bundled references/CLI.md.
Treat auth as required when the user says the server has auth enabled or when
kairos token --validate returns 401 or authentication required.
If kairos token --validate fails because the server is unreachable, fix the
URL or connectivity first instead of starting the login flow.
If kairos token --validate fails with a server-side 5xx, wait for the
server to recover or fix the server health before retrying login.
Use either of these patterns:
export KAIROS_API_URL=http://localhost:3000
kairos token --validate
kairos --url http://localhost:3000 search "health"
kairos login
kairos login --no-browser
kairos token --validate
Keep the auth guidance focused on Keycloak-backed CLI usage. Identity-provider administration remains outside this install skill.
Configure mcp.json only if the user's IDE or host explicitly needs MCP over
HTTP. The CLI remains primary for verification and operations. Use the example
from references/install/README.md#cursor-and-mcp.
Minimum MCP snippet:
{
"mcpServers": {
"KAIROS": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}
Use this only when the user wants an IDE or another MCP host to connect to the
server. Do not create it just because the server exposes /mcp.
If PORT changed from the default, replace 3000 in the snippet with the
actual port from .env.
Run this section when the user asks to refresh Docker and the npm CLI for KAIROS. Keep explicit approvals for each material update action.
docker --versiondocker compose versionnpm --versionkairos --help or npx @debian777/kairos-mcp --helpnpm install -g @debian777/kairos-mcp@latestnpx @debian777/kairos-mcp@latest --helpFor detailed update commands, cross-platform checks, and fallback handling, use
references/docker-npm-cli-updates.md.
Run this section when the user wants more than kairos-install, or asks to
sync skills during routine updates.
npx skills add debian777/kairos-mcp)--skillnpx skills add debian777/kairos-mcp --listnpx skills add debian777/kairos-mcpnpx skills add debian777/kairos-mcp --skill kairos --skill kairos-bug-report --skill kairos-install-y -g and host flags (for
example -a cursor or -a claude-code) after approval.Use these reference modules to keep this skill concise:
references/prerequisites.mdreferences/docker-compose-simple.mdreferences/docker-compose-full-stack.mdreferences/docker-npm-cli-updates.mdreferences/examples-and-validation.mdSource: debian777/kairos-mcp — distributed by TomeVault.