跳到正文
GitHub·· 9 天前AI 评分60

Stigmer 开源 AI 智能体平台发布,用 YAML 定义智能体并支持 MCP 工具

stigmer/stigmer

AI 导读

Stigmer 是一个开源 AI 智能体平台,用 YAML 定义智能体、一条命令部署,并通过 API 从任意应用调用。平台支持 Skills 版本化知识与 MCP 服务器工具接入,可设置人工审批流程,运行过程持久化且不丢失状态。

正文

Stigmer — Open-source AI agent platform

An open-source AI agent platform.

Define agents in YAML, deploy with one command, call from any app via API. Run locally with SQLite or connect to Stigmer Cloud for production. Bring your own Anthropic API key — agents run on Claude models.

License Discord GitHub stars

Quick Start

# Install
brew install stigmer/tap/stigmer

# Start the server (interactive LLM setup on first run)
stigmer server

# Deploy an agent from YAML
stigmer apply -f agent.yaml

# Run it
stigmer run support-bot "How do I reset my password?"

Other install methods

# Shell script (macOS/Linux) — no prerequisites, bundles its own Node.js runtime
curl -fsSL https://stigmer.ai/install.sh | sh

# npm (requires Node.js >= 22.13)
npm install -g @stigmer/cli

# From source
git clone https://github.com/stigmer/stigmer.git
cd stigmer && make setup && npm install && make local

What is Stigmer?

Stigmer turns domain knowledge and tools into AI agents you can call from any application.

  • Skills — Teach agents your domain. Upload versioned knowledge and the agent answers with expertise instead of generic responses.
  • MCP Servers — Give agents tools. Connect to your systems via the Model Context Protocol. Agents discover available tools and Stigmer handles execution sandboxing.
  • Approval flows — Set rules for human oversight. Define which actions need approval before the agent proceeds. Runs are durable — they wait without losing state.

Every capability is exposed via gRPC with public protobuf contracts. Generate type-safe clients in Go, Python, Java, TypeScript, or Rust.

Core Concepts

Agents

An Agent has instructions, optional MCP servers for tool access, and optional model configuration.

apiVersion: agentic.stigmer.ai/v1
kind: Agent
metadata:
  name: support-bot
spec:
  instructions: |
    You are a helpful customer support agent.
    Answer questions politely and accurately.
    Check GitHub issues for known problems.
  mcp_server_usages:
    - mcp_server_ref:
        kind: mcp_server
        slug: github
stigmer apply -f agent.yaml
stigmer run support-bot "What's the status of issue #42?"

Skills

Versioned knowledge artifacts that agents use for domain expertise. A Skill is a directory with a SKILL.md file containing YAML frontmatter:

my-skill/
  SKILL.md          # Required: interface definition with YAML frontmatter
  tool.sh           # Optional: tool implementation
  README.md         # Optional: documentation
stigmer push                          # push skill from current directory

MCP Servers

Stigmer uses the Model Context Protocol to give agents tool access. Remote (HTTP) MCP servers work everywhere, including the marketplace catalog and cloud-hosted sessions. STDIO-based servers — npm packages (npx), Python packages (uvx), Go modules (go run) — run on local runners only, where the machine executing the subprocess is your own.

Stigmer also ships its own MCP server that exposes platform resources to AI-powered IDEs:

stigmer mcp-server

See mcp-server/README.md for IDE configuration (Cursor, Claude Desktop, VS Code, Windsurf).

SDKs

SDK Install Reference
Go go get github.com/stigmer/stigmer/sdk/go/v3 Reference
TypeScript npm install @stigmer/sdk Reference
Python pip install stigmer Reference
Java Maven: ai.stigmer:stigmer-java Reference
React npm install @stigmer/react Reference
Ink npm install @stigmer/ink Reference

The Go, TypeScript, Python, and Java SDKs provide typed API clients for all platform resources. The React SDK renders agent UIs — session composers, message threads, and approval views. The Ink SDK brings the same components to the terminal.

Embed in your app

The React SDK ships the same chat surface the Stigmer Console uses — as drop-in components. One provider and two components put your agent in front of your users:

<StigmerProvider client={client}>
  {sessionId ? (
    <SessionViewer sessionId={sessionId} org="my-org" audience="endUser" />
  ) : (
    <NewSessionViewer
      org="my-org"
      audience="endUser"
      initialAgentRef={{ org: "my-org", slug: "support-agent" }}
      onSessionCreated={setSessionId}
    />
  )}
</StigmerProvider>

Every component is themeable with design tokens, and the hooks underneath are exported for fully custom UIs. Follow the Add agent chat to your app tutorial for the complete walkthrough.

Local vs Cloud

Local Mode (Open Source) Cloud Mode (Stigmer Cloud)
Start with stigmer server stigmer config backend set cloud
Storage SQLite (~/.stigmer/stigmer.db) Distributed (managed)
Users Single implicit user Organizations, teams, IAM
LLM Anthropic (bring your own API key) Configurable
Best for Development, personal projects, full data ownership Team collaboration, production, governance

Resource definitions are portable across both modes. The CLI talks to the same gRPC service interfaces regardless of backend.

Brand assets

The brand folder contains the current logo and ready-to-upload profile images. Use brand/avatar.png for GitHub and other profile uploads.

Documentation

Development

Prerequisites

  • Node.js 22+ (22.13 or newer; the server needs node:sqlite with FTS5)
  • Go 1.25+ (for the Go SDK, codegen tools, and integration harnesses)
  • Git, Make

Building from Source

git clone https://github.com/stigmer/stigmer.git
cd stigmer

make setup     # Install Go and Python dependencies
npm install    # Install Node.js dependencies
make local     # Build the local stigmer-server (the CLI runs from @stigmer/cli)
make test      # Run tests

Contributing

We welcome contributions. See CONTRIBUTING.md for guidelines.

License

Apache License 2.0. See LICENSE.

来源:GitHub · github.com