经 AI Skill Hub 精选评估,kestrel-sovereign 获评「推荐使用」。这款Agent工作流在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 6.0 分,适合有一定技术背景的用户使用。
kestrel-sovereign 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
kestrel-sovereign 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install kestrel-sovereign
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install kestrel-sovereign
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/KestrelSovereignAI/kestrel-sovereign
cd kestrel-sovereign
pip install -e .
# 验证安装
python -c "import kestrel_sovereign; print('安装成功')"
# 命令行使用
kestrel-sovereign --help
# 基本用法
kestrel-sovereign input_file -o output_file
# Python 代码中调用
import kestrel_sovereign
# 示例
result = kestrel_sovereign.process("input")
print(result)
# kestrel-sovereign 配置文件示例(config.yml) app: name: "kestrel-sovereign" debug: false log_level: "INFO" # 运行时指定配置文件 kestrel-sovereign --config config.yml # 或通过环境变量配置 export KESTREL_SOVEREIGN_API_KEY="your-key" export KESTREL_SOVEREIGN_OUTPUT_DIR="./output"
Build AI agents that nobody can take away from their users — not you, not the cloud, not the next pivot.
Kestrel is a continuously-developing framework for creating autonomous AI agents with cryptographic identity, persistent memory, and constitutional governance. Every agent you deploy is owned by its user, governed by immutable principles, and able to remember across every conversation. The core install is stable enough to run real agents today; the surrounding ecosystem (cloud providers, training adapters, integrations) is actively evolving — see Feature Stability for the current per-feature picture.
Kestrel agents are built on several key components:
NotImplementedError; image generation (!dream) is dead code; integration tests skip in CI without RUNPOD_API_KEY. No active development since early April 2026.VASTAI_API_KEY.GCP_PROJECT_ID.docs/architecture/GITHUB_FEATURE_DESIGN.md (call graphs, inheritance trees, dependency analysis) is not implemented.pip install kestrel-sovereign gives you a complete, working sovereign agent: identity, memory, constitution, privacy modes, multi-LLM support, voice (Piper TTS + FasterWhisper STT), local sandboxed compute, and a Cloud Run deployment path. Everything you need to run an agent locally with zero cloud commitment.
Cloud providers (RunPod, Vast.ai), specialized integrations (MCP, GitHub App, wallet), and proprietary training adapters are installable add-ons — separate Python packages that register themselves via entry points. This split is being completed across #462 and #560; current state is documented in KESTREL_FEATURES.md.
Kestrel ships a lean core; everything else is a feature. Cloud providers, training adapters, voice cloud backends, and specialized integrations are installable packages that register themselves via Python entry points.
uv run kestrel feature list # Show installed + available features
uv run kestrel feature info <name> # Detailed info about a feature
uv run kestrel feature install <name> # Install a feature package
uv run kestrel feature enable <name> # Enable an installed feature
uv run kestrel feature disable <name> # Disable without uninstalling
uv run kestrel feature scaffold <name> # Generate a new feature package skeleton
The canonical inventory of features lives in KESTREL_FEATURES.md; the runtime registry is in kestrel_sovereign/data/feature_registry.toml.
Kestrel covers a wide surface; not all of it ships at the same maturity. Verified 2026-04-25 by reading code, tests, skip markers, and recent git activity:
If you don't have uv installed:
```bash
```bash
git clone https://github.com/KestrelSovereignAI/kestrel-sovereign.git cd kestrel-sovereign uv sync # Creates .venv and installs all dependencies
The Quick Start above clones the repo so you have demos, examples, and the kestrel.toml.example next to your agent. If you only want to run an agent and don't need the source tree, install from PyPI:
```bash
Kestrel supports multiple installation configurations. Use the verification script to test that clean installs work correctly across all supported scenarios:
```bash
uv run kestrel verify-install
Kestrel supports multiple deployment targets. See KESTREL_FEATURES.md for the full catalog.
uv run kestrel deploy build
uv run kestrel deploy dev uv run kestrel deploy prod ```
Profiles live in deploy_config.toml. See docs/deployment/README.md for the full runbook (status, logs, teardown, health).
Auto-deploys on version tags via GitHub Actions.
```bash
uv run kestrel start # starts every agent with autostart=true uv run kestrel start Kestrel # if you only ran --quickstart uv run kestrel start MyAgent # if you ran step 5 (works regardless of autostart) ```
If you're upgrading from a pre-2026-05 setup that used a standalone llm_config.toml, run uv run kestrel migrate-llm-config to fold it into kestrel.toml [llm]. The legacy file is no longer read.
Your agent is now running. Two ports to know about, depending on which start form you used:
| Command | Listens on | Why |
|---|---|---|
kestrel start (no name) | http://localhost:8888 (the multi-agent **host**) | Default in-process multi-agent mode; the host fronts every agent registered with autostart = true at multi_agent.host.port (default 8888). Agents registered with autostart = false aren't loaded — start those by name. |
kestrel start <name> | the **agent's own port**, printed by the CLI on start | Each agent gets the next free slot at or above 8801 (the first auto-assigned agent lands there; subsequent agents go to 8802, etc., or whatever --port you passed to kestrel create). The exact value lives in multi_agent.toml under that agent's entry, and kestrel start <name> prints Starting <name> on :<port>.... |
Port conflict? Edit the agent's entry inmulti_agent.tomlto change its port, or recreate the agent with a chosen port (kestrel create MyAgent --port 8899). Editmulti_agent.toml's[host]section to change the host port (default8888).kestrel startitself doesn't take a--portflag — runtime ports are read frommulti_agent.toml.
Test it: Visit the URL the CLI printed on start (http://localhost:8888for the multi-agent host, or whatever per-agent portkestrel start <name>reported). The Sovereign Console is the default page; append/healthfor a JSON readiness probe.
Windows users: the CLI prints emoji. If you seeUnicodeEncodeError: 'charmap' codec can't encode character ..., runchcp 65001once in your PowerShell session to switch the console to UTF-8. (As of v0.1.9 the CLI auto-reconfigures stdout, so a fresh install should not hit this.)
Kestrel is a foundation for AI agents that need to outlive any single vendor, deployment, or owner. Concrete deployments and good-fit use cases:
ollama serve ollama pull llama3.2:3b
uv tool install kestrel-sovereign
Each agent can have a kestrel.toml config file in its directory:
```toml
LLM config lives under the [llm] section of kestrel.toml. The setup wizard (kestrel setup llm) will write it for you; you can also hand-edit kestrel.toml after copying from kestrel.toml.example.
Kestrel uses a vendor/route/model schema. A vendor is who makes the weights; a route is how to reach them (adapter + base URL + auth). API keys belong in .env and are referenced by api_key_env. See kestrel.toml.example and docs/architecture/LLM_SERVICE_ARCHITECTURE.md for the canonical spec.
[llm]
route_priority = ["openai:api", "ollama:local"]
[llm.vendors.openai]
is_cloud = true
[llm.vendors.openai.routes.api]
adapter = "OpenAIAdapter"
api_key_env = "OPENAI_API_KEY"
model = "auto"
selection_hints = ["gpt-5", "mini"]
[llm.vendors.ollama]
is_cloud = false
[llm.vendors.ollama.routes.local]
adapter = "OllamaAdapter"
host = "http://localhost:11434"
model = "auto"
selection_hints = ["llama3.2", "qwen"]
Pre-2026-05 setups used a standalonellm_config.tomlat the repo root. That path was removed (epic #938). Runkestrel migrate-llm-configto fold a legacy file intokestrel.toml [llm]; the source is renamed to.bak, your priorkestrel.tomlis timestamp-backed-up, and the operation is idempotent.
See .env.example for a complete list. Key variables:
LLM Providers: - OPENROUTER_API_KEY: OpenRouter API key (recommended - access to multiple providers) - OPENAI_API_KEY: OpenAI API key for cloud models - ANTHROPIC_API_KEY: Anthropic API key for Claude models
Storage: - KESTREL_DB_PATH: Directory where the agent database is stored (default: ./agent_data). This is a directory path -- the database file kestrel_prime.db is created inside it. - KESTREL_DATA_KEY: Fernet encryption key for data at rest
GitHub Integration: - GITHUB_TOKEN: Personal access token for GitHub features - GITHUB_SELF_REPO: Agent's source repository (default: KestrelSovereignAI/kestrel-sovereign)
uv run kestrel deploy secrets sync
pysqlcipher3 and set KESTREL_DB_KEY, the SQLite connection will use SQLCipher and encrypt the entire DB:export KESTREL_DB_KEY="your-db-passphrase"
uv run python -m kestrel_sovereign.server
pysqlcipher3, the system falls back to normal SQLite. File blobs and conversations still encrypt with KESTREL_DATA_KEY if set.All commands work on Windows, macOS, and Linux. Pass the agent directory as an argument:
uv run kestrel health # Check prerequisites
uv run kestrel create MyAgent # Create a new agent
uv run kestrel start MyAgent # Start an agent
uv run kestrel stop MyAgent # Stop an agent
uv run kestrel status # Show all running agents
uv run kestrel list # List available agents
uv run kestrel shell MyAgent # CLI chat interface
uv run kestrel config ./agent_data/MyAgent # Show agent config
uv run python -m kestrel_sovereign.main ./agent_data/myagent
```
docker build -f docker/Dockerfile.standalone -t kestrel-standalone . docker run -p 8888:8888 kestrel-standalone
The server exposes OpenAI-compatible endpoints for use with third-party clients:
GET /v1/modelsPOST /v1/chat/completionsFor most users, the built-in Sovereign Console at the printed URL (http://localhost:8888 for the multi-agent host, or the agent's own port for a single-agent start) is the easiest way to interact with your agent (see the Web UI section above). If you prefer an external client, point any OpenAI-compatible tool (e.g., Open WebUI) at your server's /v1/chat/completions endpoint. Use the model name from /v1/models.
Auth: every request to/v1/...requires theX-API-Keyheader (orAuthorization: Bearer <key>). The key was written to.envasKESTREL_API_KEYbykestrel setup(or--quickstart). Most OpenAI-compatible clients let you set the key via theirOPENAI_API_KEYenv var or settings UI; point that at yourKESTREL_API_KEYvalue.
| File | Purpose |
|---|---|
kestrel_sovereign/cli.py | Canonical kestrel CLI entry point |
kestrel_sovereign/server.py | FastAPI agent server (root server.py is a re-export shim for source clones) |
host.py | Multi-agent multi_agent host (Cloud Run) |
kestrel_sovereign/main.py | Direct interactive REPL (root main.py is a re-export shim for source clones) |
kestrel.toml | Unified config (LLM, agents, features). [llm] holds provider config. |
KESTREL_FEATURES.md | Canonical feature inventory |
kestrel_sovereign/kestrel_agent.py | Core agent logic |
kestrel_sovereign/agent_config.py | Per-agent config loader |
kestrel_sovereign/inception_service.py | New agent creation (DID + genesis audit) |
kestrel_sovereign/data/feature_registry.toml | Runtime feature registry |
agent_data/<name>/kestrel.toml | Per-agent configuration |
agent_data/<name>/kestrel_prime.db | Agent database |
docs/**/*.md | Detailed documentation |
```bash
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:kestrel-sovereign 的核心功能完整,质量良好。对于自动化工程师和运维人员来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | kestrel-sovereign |
| 原始描述 | 开源AI工作流:Constitutional AI Agent Framework with cryptographic identity (DIDs)。⭐7 · Python |
| Topics | workflowpython |
| GitHub | https://github.com/KestrelSovereignAI/kestrel-sovereign |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-05-21 · 更新时间:2026-05-22 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端