firekeep_gateway_status
Report which Firekeep backends are reachable and why any backend's tools are absent. This is diagnostic only; plans never filter tools.
无需输入参数。
io.github.kapella-hub由 GitHub 账号 kapella-hub 发布v1.8.2更新于 Oct 29, 2026
Self-hosted operating layer for AI agents: knowledge, continuity, coordination, and governance.
面向编程代理的自托管记忆与连续性层,通过本地 stdio 网关提供后端状态诊断工具和用于澄清问题的交互式决策板。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
参照 仓库 中的启动说明。
Connect Claude Code, Codex, Kiro, OpenCode, and other MCP clients through one shared, self-hosted Keep.
Every solved problem should make the next one easier. Firekeep preserves the experience behind the work — durable knowledge, working state, procedures, coordination, and inspectable evidence — and puts it back to work in the next session, tool, or machine.
Use it for your own continuity on one workstation. Add teammates when you need them without starting the team’s context over.
Website · Install · Product tour · Firekeep Studio · Evidence · Privacy · Support
Agents keep their native interfaces and provider-owned sessions. What carries forward is the Firekeep context they explicitly record and recall through the same local MCP gateway. That means one person can switch tools without losing the thread, and a team can earn context once and carry it forward.
See Claude Code and Codex share one Keep →
The installer configures Claude Code, Codex, Kiro, and OpenCode together (plus Claude Desktop when its config directory exists), then asks where your Firekeep server should live. The full setup flow is in the install guide.
The server runs on linux/amd64 or linux/arm64 (server releases after v1.6.2;
v1.6.2 and earlier are amd64-only) and needs Docker Compose v2, two CPU cores,
and Git; 16 GB RAM is recommended for the default stack. It binds to
127.0.0.1 by default. See the
requirements and sizing notes
before choosing a host.
Trying Firekeep for the first time? Share what worked and where you got stuck →
AGENTS.md guidance. Codex exposes no native hooks,
so lifecycle automation and pre-edit enforcement are not implied.See the integration guide and Studio runtime matrix for the maintained details.
On the accepted 2026-08-28 LongMemEval-S run, Firekeep achieved 97.7% Evidence Recall@10: at least one labeled evidence session appeared in the first ten results for 459 of 470 scored questions. The measurement covers retrieval, not generated-answer accuracy; it is one corrected deterministic run rather than a multi-run confidence interval.
People do not build professional judgment by rereading every email, document, ticket, or source file from the beginning. They remember what happened, why a decision worked, how a failure was diagnosed, and which procedure held up in practice. That experience changes how they approach the next problem.
Agents should improve the same way. Firekeep connects the knowledge, working state, coordination, and evidence behind the work so the next agent can begin with the experience the last one earned.
Firekeep is not another chatbot wrapper or prompt orchestration layer.
It is an operating layer for connected AI agents — infrastructure that sits behind your existing tools and makes them better.
firekeep maildex add), and the shared continuity, coordination, governance, and evidence layers are domain-independent.firekeep stdio gateway. Shipped adapters configure Claude Code, Claude Desktop, Codex, Kiro, and OpenCode; other MCP clients can be configured manually./.well-known/agent.json for capability discovery. This is discovery-only, not an A2A task-execution endpoint.One command, two required questions: the agent identity every memory, session and
replay event is attributed to, and where your Firekeep server is — set one
up on this machine with Docker, redeem a join code, point at one that is
already running, or decide later (firekeep doctor then tells you how to
finish). Setting one up here runs firekeep init for you; that installer asks
nothing, and the machine enrols itself once the stack is up, so firekeep doctor is green with no dashboard, no tunnel, and no pasted key. It prints the
paste-ready command for your second machine when it finishes.
The installer then offers one skippable prompt for another MCP client's rules file; the four shipped adapters are rendered either way.
Server images after v1.6.2 are published for linux/amd64 and linux/arm64, so
an x86-64 or ARM64 Linux host (e.g. AWS Graviton, Ampere) or Docker
Desktop on an Apple-silicon Mac runs them natively; v1.6.2 and earlier are
amd64-only. The client bootstrap is exercised in CI on
Ubuntu, Debian, Alpine, Fedora, Rocky, Arch and openSUSE (x86_64 and aarch64);
macOS runs the same script but is not covered by CI.
install.sh prompts for nothing: the host address is detected and the Neo4j
password generated (--ip / --neo4j-password, or FIREKEEP_VPS_IP /
FIREKEEP_NEO4J_PASSWORD, override either). It returns as soon as the stack is
up rather than blocking on the ~3.3 GB model pull — until that finishes, memory
writes return status="partial" (stored and queued for backfill, not yet
searchable) and firekeep doctor carries an embeddings WARN row saying so.
bash install.sh --wait-for-models blocks instead.
Operating the server afterwards — access and authentication, the dashboard, backups, updates, exposing ports deliberately — is docs/DEPLOYMENT.md.
firekeep uninstall removes only what the kit installed — the Firekeep blocks
in each runtime's config (your own settings stay intact), the launcher and its
PATH entry, and ~/.firekeep — and asks first (--yes skips the prompt). It
never touches a server you set up. --server additionally runs docker compose down -v on the stack this machine provisioned, deleting the Neo4j/Qdrant/Redis
volumes — every memory, session and secret, permanently — behind a separate
data-loss confirmation that a plain uninstall or --yes can never trigger. Back
up first (docs/DEPLOYMENT.md) if you
might want the data back.
Download for Windows · Download universal macOS · Explore Studio →
studio/ is a separate desktop client for people who want Firekeep to be the
only agent application they open. It gives Codex, Claude Code, Kiro CLI, and Grok one
runtime-neutral conversation surface: any supported runtime can be the explicit primary,
other runtimes can review it in fresh read-only contexts, and /compare, /consensus,
an explicit shared workspace, Windows voice input and system voice output, cache-aware token guards, named and color-coded local sessions,
live provider model/reasoning discovery, and typed Client Kit controls are built in. The
selected runtime is visually explicit, the full inspector can be hidden, and Studio links
to the dashboard from the existing Client Kit connection without exposing its credentials.
Fenced Mermaid responses render as native zoomable diagrams, and the existing Firekeep
Decision Board opens as a native question/evidence/action panel inside Studio. Its local
authenticated push preserves the original long poll, avoiding an extra agent turn merely to
discover that the board is ready.
The primary runtime picker shows live readiness and transport context, response scrolling
respects readers who move away from the tail, and copy/paste uses bounded text-only native
clipboard operations. Completed answers lead each run while detailed working events fold into
a Work log. A runtime-neutral Agents view tiles Codex, Claude, Kiro, Grok, or any future
chat-capable adapter into selectable panes with independent native continuations; the shared
composer targets the selected pane, and active runs remain serialized for workspace safety.
Mission Mode adds an outcome-bounded harness: one primary
writer, deterministic local checks, bounded repair, independent review evidence, explicit
human acceptance, and a task result stored separately from every agent's prose.
Studio consumes provider-supported structured boundaries rather than scraping TUIs, keeps
provider authentication provider-owned (except OS-encrypted API keys), and continues to use
the existing Python Client Kit wherever a runtime's native configuration provides Keep memory,
hooks, policy, and connectivity. Runtime cards report that evidence explicitly; the direct xAI
Grok adapter is clearly marked as having no Keep memory rather than inheriting another runtime's
claim. The preview
build and installer commands, security boundaries, runtime matrix, and full / command
inventory are in the Studio README.
Studio 0.5 ships an x64 Windows installer and a universal macOS installer from an isolated, signed release channel. Packaged builds check for Studio updates shortly after launch; Windows downloads and installs a verified update on restart, while macOS uses native automatic updates only when the release is Apple-signed and notarized. The current release page, checksums, and both installers are published under Firekeep Studio releases.
Here's what happens when an agent uses Firekeep:
1. Session starts. On runtimes with lifecycle hooks, the client fetches Cortex's aggregated GET /briefing first, including relevant memories, tasks, environment state, and skills. The agent then calls ctx_start_session("fix auth middleware bug"); Bridge creates the durable session and the shim ties it to that briefing.
2. Code exploration. Instead of reading every file, the agent calls search_symbols("auth middleware") and get_callers("require_scope") on Symdex. It gets a targeted list of files and callers in milliseconds.
3. Environment check. Sentinel has been watching Docker. It detected that the cortex-api container restarted 3 times in the last hour and pushed an alert to Relay's #alerts channel. The agent sees this in its context.
4. Work happens. The agent edits files, runs tests, and records important progress with ctx_update. Bridge persists what was explicitly recorded. When the context window compresses, the agent calls ctx_get_shadow and gets that durable working state back — plans, decisions, progress, and file knowledge.
5. Session completes. The agent calls ctx_complete_session, optionally passing a structured self-grade — task_result ("success" / "partial" / "failure", the TASK's outcome, not the RPC's) plus up to 10 short task_evidence claims backing it. The grade is accepted only from the session's verified owner and stored as that session's one authoritative, never-overwritten result. Bridge atomically marks the session complete and queues background distillation into episodic memory; failures retry and eventually move to a visible dead-letter queue. Auto-evals compute quality metrics from the replay trace — a session with no recognized grade reads as unknown rather than a guessed success, so outcome-driven scoring (Outcome-Weighted Memory, quality trends) never counts silence as a win. Next time someone works on auth middleware, the memories are there once distillation succeeds.
6. Something went wrong? Open the Replay tab in the dashboard. Load the session. See every action, every memory read, every decision point. Click on a failure event and run narrowing — it walks back through the causal chain to help identify the root cause.
Symdex and the Decision Board run client-side as stdio-local MCP servers (installed with the kit) — Symdex must be local to the working tree it indexes, so it is no longer a VPS container.
The two arrows crossing that boundary are not publicly reachable by default. Out of the box the VPS side listens on loopback and requires an API key, so the local-machine half reaches it over an SSH tunnel, a private network, or an HTTPS front end you deliberately configure. See docs/DEPLOYMENT.md → Access and authentication.
Code intelligence (FirekeepSymdex — 38 MCP tools, 8 analytics hidden behind a flag) and the Decision Board (firekeep-decision) run client-side as stdio-local MCP servers installed with the kit, not as VPS containers.
Shared modules (no extra containers): Replay Engine (structured trace log across all services), Auth (API key scopes), Vault (Fernet-encrypted secret storage), Corpus (business document ingestion → vector chunks; scheduled Confluence collectors), Auto-Evals (10 Tier-1 quality metrics + trend tracking + regression detection), Pattern Engine (strategy detection; promotion validation and A/B experiments are feature-flagged off by default), Policy Engine (compound pre-edit safety checks — lease, file risk, path deny, session health, recent failure), Agent Gateway (predict-then-act surface with fast-path cache for repeated low-risk actions), Skills (agent-authored via skill_create + docs→skills drafts under human review; server-side synthesis off by default), Memory Improvements (archive-first composite aging with preview/audit/restore, token budgets, LLM synthesis pass, embed input capped + shrink-to-fit).
For the full design specification, see docs/DESIGN.md.
Access at http://localhost:8040 on the host, or through a tunnel from
elsewhere (docs/DEPLOYMENT.md → Reaching the dashboard).
It has its own basic-auth login (user
admin; the password is written once to dashboard/.htpasswd.cred). Behind
that, nginx injects the dashboard's API key on every backend call, so the SPA
works against the auth-gated stack without you pasting a key into the browser.
The dashboard is a zero-dependency static SPA. No build step, no npm, no framework.
Python 3.11 server services (client supports Python 3.10+) / FastAPI / FastMCP / Neo4j / Qdrant / Redis / Ollama / Docker Compose / tree-sitter / TypeScript / Electron / React
Server-side embeddings and generation default to local Ollama, so the default server path has no model API bill. Symdex can optionally use Anthropic, Gemini, or an OpenAI-compatible endpoint for symbol summaries and scaffolding; enabling one of those providers may send code snippets off-machine and incur provider costs. Background auto-indexing explicitly disables AI summaries.
agent_id + project, contributor reports, LLM-synthesized handoff briefsskill_create (client-side) + a docs→skills pipeline (paste / URL / scheduled Confluence collectors) drafting skills under human review; top matches injected into the next briefing (server-side auto-synthesis exists behind SKILL_SYNTHESIS_ENABLED, off by default)firekeep night-shift drains the fleet job catalog — session distillation (queued by the session-end hook), stale-skill re-authoring and contested-verdict proposals (queued nightly by the server) — on your own machine against a local model (LM Studio or Ollama, auto-detected), writing memories attributed to the original session, draft skills that name the stale skill they rewrite (reauthor_of), and verdict proposals recorded on the contested pair — never applied, always waiting for a human. Session start spawns it in the background when a local model port answers (FIREKEEP_NO_AUTO_NIGHTSHIFT=1 to opt out). Generation stays off the server; cloud-hosted models are refused by default so session content cannot leave the machinefirekeep-decision stdio server + Cortex /decision/synthesize)/personal (or firekeep personal / FIREKEEP_BYPASS=1) makes Firekeep fully dormant for private work — hooks, sidecar, decision board, and shim all honor one is_bypassed() gate; auto-clears at session endPATTERN_VALIDATION_ENABLED=false by defaultPATTERN_EXPERIMENTS_ENABLED=false by defaultaction_before / action_after, gateway returns allow | rethink | block, fast-path cache for repeated low-risk actionsmemory_feedback tool, a Bridge session reaper so crashed sessions count as failures, contested-not-superseded handling for unconfirmed memory conflicts with human verdicts, the Autopilot review inbox + weekly digest, a per-memory evidence ledger (/memory/{id}/evidence), and a shadow-mode skill ladder that records which drafts would earn trial and which trials would earn active — see docs/guides/knowledge-autopilot.mdDREAM_ENABLED, off by default)advise/require_ack/block enforcement with success-gated evidence, a challenge→ack→one-use-permit protocol, fail-closed block mode, and a per-workspace deviation ledger surfaced on the dashboard and in the Autopilot inbox (PROCEDURE_ENABLED, off by default; dogfooding before any announcement) — see docs/guides/living-procedures.mdGET /autopilot/trust + a dashboard card) — declared/reconciled counts, prediction-match calibration, reversals, sessions. Visibility only, deployment-global, frozen formulas pre-registered before the first published number. The enforcing capability broker (earned autonomy) is a later roundfirekeep dex list|add|remove against ~/.firekeep/dexes.json. All three wheels ship bundled and checksum-verified with every release — registration gates activity, not installation. Symdex and docdex are registered by default (since client 1.2.0 an absent registry is seeded with both); firekeep dex remove is the off-switch, and removals stick across updates. The same file also carries capabilities — entries that operate a domain rather than index it, marked role: capability, neither bundled nor ever seeded — see docs/guides/dexes.mdfirekeep-symdex behind the gateway (38 tools, 8 analytics hidden behind a flag), mounted when registered as a dexfirekeep-docdex — folders a human registers (firekeep docdex add ~/Notes) extracted to text and ingested into the corpus, surfacing through ordinary memory_recall. Private to the member by default even on a shared Keep, --shared for the workspace; md/txt/pdf/docx, no OCR; deletion of a local file removes its corpus replica on the next syncfirekeep-maildex — IMAP mailboxes a member registers (firekeep maildex add), read-only (every open is EXAMINE, every fetch PEEK; no send capability in the wheel), always member-privatefirekeep-hands — the registry's first capability rather than an index, so it operates its domain instead of indexing it. Your runtime observes and drives this computer's apps and a Hands-managed browser, and every consequential step waits for a separate approval broker that accepts only a real, non-injected keystroke. Opt-in and never bundled (firekeep hands enable), never seeded; the honest limits — locked screens, elevated windows, screenshots leaving the machine, prompt injection — are stated in docs/guides/hands.mdknowledge_ingest, URL ingest) + opt-in scheduled Confluence collectors (SP3)/.well-known/agent.json) for external discoveryThe decision record behind both — profiles-not-clients, the linkage-layer prerequisite, outcome-signal gating, sequencing — is docs/ROADMAP.md.
Firekeep is in active development and used daily. The core implementations — memory, sessions, environment monitoring, coordination, replay, the client kit, and Symdex — are covered by more than 4,000 passing automated tests in the current repository. The architecture is designed for a single-host deployment.
This public, source-available repository is in early access.
Firekeep is source-available under BUSL-1.1, and self-hosted production use is free for individuals and for teams — a workspace of any size, on infrastructure you control, free for teams while Firekeep is in early access. The commercial tier is Enterprise governance and support (write to [email protected]). Each version converts to Apache-2.0 four years after its first public release. See LICENSE for the full grant and docs/LICENSING.md for status. Symdex remains under this license until its standalone Core is extracted and released separately under Apache-2.0.
来源:README.md,提交 d42e938
Report which Firekeep backends are reachable and why any backend's tools are absent. This is diagnostic only; plans never filter tools.
无需输入参数。
Open an interactive Decision Board for clarifications. Call this — instead of asking inline — whenever a clarification needs more than a couple of questions: the board retrieves prior knowledge, shows evidence, and lets the human answer several questions at once. Formatting: question text supports lightweight markdown — paragraphs, `**bold**`, `` `code` ``, fenced code blocks, and `-`/`1.` lists. Put answer OPTIONS on their own list lines, not crammed into one sentence. Rich embeds: pass ``embeds`` to show charts, diagrams, tables, or mockups alongside the questions. Each embed is a fully SELF-CONTAINED HTML document (inline all CSS/JS/SVG — no external URLs; the sandbox has no network guarantees) rendered in a sandboxed iframe: ``{"html": "<!doctype html>...", "title": "Throughput by option", "question": 0, "height": 360}`` — ``question`` is an index into draft_questions (omit/null for a board-level embed shown above the questions); ``height`` is CSS pixels (120–2000). Max 512KB per embed. Poll contract: this returns EITHER the human's answers (markdown) if they submit quickly, OR ``{status: "pending", board_id, board_url, next}``. Firekeep Studio renders the same loopback board as a native panel and does not launch a browser; other runtimes use the browser surface. On pending, WAIT for the human: keep calling ``decision_board_check(board_id)`` — each call long-polls — until it returns the answers; do not start work that depends on them. If the response carries a ``note`` that the browser could not be opened, give the human the ``board_url`` to open manually. Args: context: what you're trying to decide / why you're asking. draft_questions: the specific questions to put on the board. embeds: optional rich visuals (self-contained HTML), s
embedscontext必填draft_questionsCollect answers from a Decision Board started earlier via ``decision_board``. Use the ``board_id`` returned by ``decision_board``'s pending response. Returns the submitted answers (markdown) once the human has submitted, ``{status: "pending", ...}`` if they haven't yet — keep calling this in a loop (each call long-polls) until the answers arrive; do not start work that depends on them. ``{status: "unknown"}`` means the board_id isn't known to this process (expired/answered/never started) — only then fall back to asking inline.
board_id必填已满足适用检查项的 80%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
请在仓库或注册中心条目中声明许可证。
flowchart LR A["Claude Code<br/>stores a proven fix"] --> K[("your self-hosted<br/>Keep")] K --> B["Codex<br/>recalls the fix + evidence"] K --> C["Kiro<br/>reuses the procedure"] K --> D["OpenCode / MCP client<br/>continues informed"]curl -fsSL 'https://firekeep.ai/latest/install?src=github' | sh # macOS / Linuxirm 'https://firekeep.ai/latest/install.ps1?src=github' | iex # Windows PowerShellbash install.sh # build the server from sourcebash install.sh --pull # the same installer against the published imagescd client && ./install # the kit from this checkout (.\install.ps1 on Windows)firekeep install # re-render the runtime adapters onlyfirekeep uninstall # remove the client kit from this machinefirekeep uninstall --server # also tear down the server + ALL its dataLocal Machine VPS┌──────────────────────────┐ ┌────────────────────────────────────┐│ Claude / Codex / Kiro / │ │ FirekeepCortex — Memory & RAG ││ OpenCode / MCP client │ │ FirekeepBridge — Sessions ││ │ │ │ FirekeepSentinel — Monitoring ││ one `firekeep` gateway │◄──── MCP ───►│ FirekeepRelay — Coordination ││ ├─ symdex (local) │ │ Dashboard — Web UI ││ └─ decision (local) │── Browser ──►│ Neo4j · Qdrant · Redis · Ollama │└──────────────────────────┘ └────────────────────────────────────┘