neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
翻譯準備中
所有 Flux 叢集集中於一處。代理程式撥出,Kubernetes RBAC 決定,Claude Code 可透過 MCP 提供協助。開源,Apache-2.0。
AI 翻譯
Every Flux cluster in one place. Agents dial out, Kubernetes RBAC decides, and Claude Code can help through MCP. Open source, Apache-2.0.
開發工具Go · TypeScriptGitHub @idestis上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A fast, keyboard-first, multi-cluster web UI for Flux. Agents dial out, Kubernetes RBAC decides, Claude Code connects over MCP.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
A fast, keyboard-first, multi-cluster UI for Flux.
Eddy shows every Flux cluster you run in one place. You can jump anywhere with a command
palette, reconcile or suspend with a single key, follow a live dependency graph from a
source to everything it applies, and read logs, events and YAML without leaving the
keyboard. We built it for our own platform work and share it in case it helps
yours.
Status: v1.0, early release. Multi-cluster, high availability on PostgreSQL and
GitHub/OIDC sign-in are in. See the roadmap below for what comes next.檢視完整 README ↗A fast, keyboard-first, multi-cluster UI for Flux.
Website · Documentation · Quickstart · Releases
Eddy shows every Flux cluster you run in one place. You can jump anywhere with a command palette, reconcile or suspend with a single key, follow a live dependency graph from a source to everything it applies, and read logs, events and YAML without leaving the keyboard. We built it for our own platform work and share it in case it helps yours.
Status: v1.0, early release. Multi-cluster, high availability on PostgreSQL and GitHub/OIDC sign-in are in. See the roadmap below for what comes next.
⌘K) searches every resource in every cluster.| Area | Ready in v1.0 | Next (v1.1+) |
|---|---|---|
| Clusters | Hub and agents over outbound WebSocket; Add cluster wizard with install guide, one-time join tokens and a live connection checklist; 1..N agent replicas per cluster | mTLS for agents |
| Flux | Kustomization, HelmRelease, Git/OCI/Helm repositories, HelmChart, Bucket; Karpenter and External Secrets presets; workloads, pods and core kinds; inventory with YAML and events | Image automation, notification alerts, flux diff view |
| Actions | Reconcile (with source), suspend, resume; typed confirmation on protected clusters | Workload restart, bulk actions |
| UI | Keyboard-first SPA, ⌘K palette with fleet-wide search, live dependency graph, detail views (YAML, events, workload logs), environment colours, dark mode | Saved views |
| Sign-in | GitHub (OAuth App or GitHub App) and OIDC (Google, Okta, Entra ID, Dex); local users, optionally break-glass only; trusted reverse-proxy headers | Hub-managed access (assign users to groups, expiring grants). Future: SAML 2.0 |
| Access tokens | Personal access tokens (read / operate, mandatory expiry) for MCP | MCP OAuth 2.1, per-cluster scoping |
| MCP | /mcp with fleet-wide read tools, guarded actions and thread tools | Log follow, subscriptions |
| Threads | Review threads on any resource or cluster, from people, Claude Code and Ask AI | Mentions, notifications, webhooks |
| Ask AI | Anthropic API, or AWS Bedrock with any model that supports tool use (IRSA, Guardrails); read-only tools, redaction, log and YAML attachments | OpenAI-compatible endpoints (Ollama, vLLM, Azure OpenAI), streaming answers |
| Storage and HA | PostgreSQL (bring your own, for example CloudNativePG); multiple hub replicas, active/active | Read replicas |
| Ops | Helm charts, internal ingress examples, audit log, runtime kill switches | Prometheus dashboards, audit webhook |
Plans can change.
Browser (TanStack SPA) ─┐ ┌─ Claude Code / MCP client
GitHub/OIDC, SSE │ │ Bearer eddy_pat_…
▼ ▼
┌──────────────── Hub × N (management cluster) ────────────┐
│ :8080 UI · /api · /auth · /mcp (internal ingress)│
│ :8443 /agent/v1/connect (agent endpoint) │
│ PostgreSQL: sessions · tokens · threads · audit │
│ K8s: Cluster CRs · agent token Secrets │
└────────────▲────────────────────────────▲────────────────┘
│ WebSocket (agent dials out)│
┌────────────┴───────────┐ ┌───────────┴────────────┐
│ Agent · prod-eu │ │ Agent · staging │
│ informers, summaries, │ │ impersonated reads and │
│ impersonated actions │ │ actions, read-only SA │
└────────────────────────┘ └────────────────────────┘
Design decisions are recorded in docs/adr/, and the API contract is in
docs/api.md.
Requirements: Docker, kind, kubectl, helm, flux and
Task.
task kind:up # kind cluster + Flux + a demo app + the Eddy hub and agent
kubectl -n eddy port-forward svc/eddy-hub 8080:80
open http://localhost:8080 # sign in as the dev user printed by the script
For production installs, including internal ingress, local users, proxy auth, Bedrock and backups, see the install guide (docs/install.md in this repo).
Create a token under Settings → Access tokens. Then run:
claude mcp add --transport http eddy https://eddy.internal.example.com/mcp \
--header "Authorization: Bearer eddy_pat_…"
Then ask, for example: "Review every failing HelmRelease across the fleet and leave a thread on each one with the likely cause." See the MCP guide and docs/mcp.md for the tools, scopes and guardrails.
Ask AI runs a short tool loop: the model reads the resource, then calls tools (events,
children, logs, YAML) for up to maxRounds rounds before it answers. Each round resends the
conversation so far, so input tokens dominate the bill. As a rough guide, one conversation
about a resource with a couple of follow-ups uses about 50K input and 3K output tokens.
monthly cost ≈ users × resources per day × working days × (50K × input price + 3K × output price)
Example: 10 users asking about 10 resources each working day (22 days) is about 2,200 conversations a month. On-demand prices in eu-west-2 (London) when this was written, per 1M tokens:
Bedrock modelId | Input / output | Per conversation | 2,200 a month |
|---|---|---|---|
eu.anthropic.claude-haiku-4-5-20251001-v1:0 | $1.10 / $5.50 | ~$0.07 | ~$154 |
openai.gpt-oss-120b-1:0 | $0.23 / $0.93 | ~$0.014 | ~$31 |
qwen.qwen3-235b-a22b-2507-v1:0 | $0.34 / $1.37 | ~$0.021 | ~$46 |
global.amazon.nova-2-lite-v1:0 | $0.42 / $3.52 | ~$0.032 | ~$70 |
amazon.nova-lite-v1:0 | $0.084 / $0.336 | ~$0.005 | ~$11 |
Check current prices on the Bedrock pricing page. Some things to weigh besides price:
eu. profiles stay in Europe. A global.
profile can route anywhere.Any Bedrock model that supports tool use through the Converse API works; set its id as
ai.bedrock.modelId. See docs/install.md for the IAM setup.
impersonate
and SubjectAccessReviews.system:* users and groups are never
impersonated, and groups are prefixed eddy:.managedFields and
env values.operate scope and typed confirmation on protected clusters, and can be
switched off at runtime.Details: docs/security.md. To report a vulnerability, see SECURITY.md.
cp .env.example .env # local settings (gitignored)
task dev # hub + agent + web with hot reload; nothing installed in a cluster
task dev CONTEXTS=kind-eddy,staging # serve these kubeconfig contexts (read-only by default)
task dev:mock # UI only, with mock data
task check # lint + tests + UI build; run before a PR
Local mode runs the agent on your machine as your kubeconfig identity. It works only in dev
builds and on loopback, is read-only unless ALLOW_WRITES=1, and keeps contexts matching
(?i)prod read-only. See CONTRIBUTING.md and
docs/development.md.
CLAUDE.md holds the conventions and security invariants used by contributors and by
Claude Code.
Contributions are welcome. Read CONTRIBUTING.md and the code of conduct. Commits use Conventional Commits.