scitix/siclaw

GitHub: scitix/siclaw

面向 SRE 团队的 AI 驱动只读基础设施诊断平台,通过四阶段工作流实现证据收集、假设验证和根因分析。

Stars: 87 | Forks: 8

Siclaw Logo # Siclaw **面向 SRE 团队的只读调查助手** [![npm](https://img.shields.io/npm/v/siclaw?logo=npm)](https://www.npmjs.com/package/siclaw) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/43c8b96ac6064252.svg)](https://github.com/scitix/siclaw/actions/workflows/ci.yml) [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D22-339933?logo=node.js&logoColor=white)](https://nodejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Slack](https://img.shields.io/badge/Slack-Join%20Community-4A154B?logo=slack&logoColor=white)](https://join.slack.com/t/siclaw-scitix/shared_invite/zt-3rrsoc2ic-JIfbfvT1_04sqgQorSRfmw) [官网](https://www.siclaw.ai) | [文档](https://docs.siclaw.ai) | [Slack](https://join.slack.com/t/siclaw-scitix/shared_invite/zt-3rrsoc2ic-JIfbfvT1_04sqgQorSRfmw)
Siclaw 是一个面向 DevOps 和 SRE 团队的开源 AI agent。它专为**只读基础设施诊断**而构建:收集证据、形成假设、进行验证,并返回清晰的根因分析,而不会直接更改您的环境。只需用自然语言描述问题,Siclaw 就会从终端、Web UI 或您团队的聊天频道中展开调查。
Siclaw Demo

Deep investigation: diagnosing a CrashLoopBackOff in seconds

## 功能特性 - **深度调查** — 包含证据收集、假设测试和根因分析的 4 阶段工作流 - **调查记忆** — 从过往事件中学习,以改进未来的调查 - **默认只读** — 仅调查并建议后续步骤,不直接更改您的环境 - **团队工作流** — 共享 Web UI、凭证、频道、触发器和定时巡检 - **可复用技能** — 将重复的诊断 playbook 转化为可审查的 runbook - **可扩展** — 通过 [MCP](https://modelcontextprotocol.io) 连接外部工具和数据源 - **多渠道访问** — 通过终端、Web UI 或聊天频道使用 Siclaw ## 系统架构 ![Siclaw System Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5af0769620064253.svg) ## 环境要求 - **Node.js >= 22.12.0** — [下载](https://nodejs.org/) - **npm** — 随 Node.js 自带 - **kubectl** — 可选,仅当您希望 Siclaw 调查 Kubernetes 集群时需要 ## 快速开始 Siclaw 支持三种部署模式。对于本地使用,请从一个专用工作目录启动,因为 Siclaw 会将大部分运行时数据存储在启动位置相对的 `.siclaw/` 目录中。 ``` mkdir -p ~/siclaw-work cd ~/siclaw-work ``` ### 1. TUI 模式 — 个人、本地、最低门槛 直接在您的终端中运行 agent。无需服务器,无需数据库。所有操作默认均为只读——在您的工作站上运行非常安全。 ``` # 全局安装 npm install -g siclaw # 运行(交互式 — 首次启动时提示选择 LLM provider) siclaw # 单次运行 siclaw --prompt "Why is pod nginx-abc in CrashLoopBackOff?" # 继续上次会话 siclaw --continue ```
从源码构建 ``` git clone https://github.com/scitix/siclaw.git && cd siclaw npm ci && npm run build:web && npm run build npm link # register `siclaw` command globally siclaw # TUI mode siclaw --prompt "..." # single-shot mode # 卸载:npm unlink siclaw -g ```
### 2. 本地服务器 — 虚拟机或笔记本电脑,推荐日常使用 由 SQLite 支持的轻量级 Web UI。无需 MySQL,无需 Docker。 ``` npm install -g siclaw # 启动服务器 siclaw local # 打开 http://localhost:3000 # 登录:admin / admin(默认凭据) # 在 Models 中配置 providers # 在 Credentials 中导入 kubeconfigs ```
从源码构建 ``` git clone https://github.com/scitix/siclaw.git && cd siclaw npm ci && npm run build:web && npm run build npm link # register `siclaw` command globally siclaw local # start local server # 卸载:npm unlink siclaw -g ```
首次启动时,Siclaw 会创建一个本地管理员账户: - 用户名:`admin` - 密码:`admin` 如果您想使用不同的初始密码,请在首次启动前设置 `SICLAW_ADMIN_PASSWORD`。 ### 3. Kubernetes — 团队/企业 生产环境部署使用 Helm 以及三个容器镜像:`gateway`、`agentbox` 和 `cron`。 如果您使用自己的镜像仓库,请构建并推送镜像: ``` make docker REGISTRY=registry.example.com/myteam TAG=latest make push REGISTRY=registry.example.com/myteam TAG=latest ``` 然后使用 MySQL URL 部署 chart: ``` helm upgrade --install siclaw ./helm/siclaw \ --namespace siclaw \ --create-namespace \ --set image.registry=registry.example.com/myteam \ --set image.tag=latest \ --set database.url="mysql://user:pass@host:3306/siclaw" ``` 默认 chart 会在服务端口 `80` 和 NodePort `31000` 上暴露 Gateway Service。 ## 配置 ### TUI / CLI - TUI 读取 `.siclaw/config/settings.json` - 首次运行向导可以为您生成此文件 - Kubernetes 凭证应通过 `/setup` 导入 - 调查报告写入 `~/.siclaw/reports/` 最小示例: ``` { "providers": { "default": { "baseUrl": "https://api.openai.com/v1", "apiKey": "sk-YOUR-KEY", "api": "openai-completions", "models": [{ "id": "gpt-4o", "name": "GPT-4o" }] } } } ``` ### 本地服务器 / Kubernetes - 在 **Models** 页面配置提供商 - 在 **Credentials** 中导入 kubeconfig、API token 和 SSH 凭证 - 在 **Channels** 中配置 Slack、Lark、Discord 和 Telegram - 在 **Triggers** 中创建入站 webhook 端点 - 在 **MCP Servers** 中配置 MCP 服务器 ## 文档 - [入门指南](https://docs.siclaw.ai/start/getting-started) - [CLI 与本地服务器](https://docs.siclaw.ai/install/cli) - [Kubernetes 部署](https://docs.siclaw.ai/install/kubernetes) - [LLM 提供商](https://docs.siclaw.ai/configuration/providers) - [MCP 服务器](https://docs.siclaw.ai/configuration/mcp) ## 技术栈 | 层级 | 技术 | |-------|-----------| | Runtime | Node.js 22+ (仅 ESM) | | 语言 | TypeScript 5.9 | | Agent | [pi-coding-agent](https://github.com/badlogic/pi-mono) / [claude-agent-sdk](https://github.com/anthropics/claude-agent-sdk) | | 数据库 | MySQL 或 SQLite (通过 [sql.js](https://github.com/sql-js/sql.js)) + Drizzle ORM | | 记忆数据库 | node:sqlite + FTS5 + bge-m3 embeddings | | 前端 | React + Vite + Tailwind CSS | | K8s 客户端 | @kubernetes/client-node | | MCP | @modelcontextprotocol/sdk | | 实时通信 | WebSocket (ws) | ## 社区 - [Slack](https://join.slack.com/t/siclaw-scitix/shared_invite/zt-3rrsoc2ic-JIfbfvT1_04sqgQorSRfmw) — 与团队和其他用户交流 - [GitHub Issues](https://github.com/scitix/siclaw/issues) — Bug 报告和功能请求 - [GitHub Discussions](https://github.com/scitix/siclaw/discussions) — 提问、想法和一般讨论 ## 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解开发设置、架构概述和 Pull Request 指南。 想找切入点?请查看标记为 [`good first issue`](https://github.com/scitix/siclaw/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 的 issues。 ## 许可证 [Apache License 2.0](LICENSE)
标签:AIOps, AI运维, ChatOps, Copilot, CrashLoopBackOff, GNU通用公共许可证, HTTPX, IT运维, MITM代理, Node.js, Socks5代理, SRE, TypeScript, 企业级安全, 偏差过滤, 只读调查, 团队协作, 基础设施诊断, 子域名突变, 安全插件, 安全治理, 开源, 故障假设验证, 故障排查, 智能助手, 根因分析, 站点可靠性工程, 系统稳定性, 自动化攻击, 运维自动化