Token导航 LogoToken导航TokenDH.com
Agent Orcha logo
AI代理stdio官方级别未说明来源级核验

Agent Orcha

MCP Server

agent-orcha

Agent Orcha是一个声明式框架,用于构建、管理和扩展多代理AI系统,支持本地运行、Docker容器化部署以及原生桌面应用。

工具数

0

提示词数

0

GitHub Stars

12

资源数

0
AI代理知识图谱TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ddalcu

提供方

ddalcu

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx agent-orcha

详细介绍

奥查探员

Agent Orcha是一个用于构建、管理和扩展多代理AI系统的声明性框架。在YAML中定义代理、工作流和知识存储——Orcha处理其余部分。在裸机上本地运行以获得最大性能,在云提供商的Docker中运行,或下载适用于macOS、Windows和Linux的本地桌面应用程序。

# Native app (macOS, Windows, Linux) — download from Releases
# https://github.com/ddalcu/agent-orcha/releases

# With npx (local inference — uses your GPU / Apple Silicon directly)
npx agent-orcha

# With Docker (cloud LLM providers)
docker run -p 3333:3333 -v ./my-workspace:/data ddalcu/agent-orcha

为什么是奥查探员?

  • 声明性AI:在清晰、版本控制的YAML文件中定义代理、工作流和基础架构
  • P2P代理和LLM共享:通过加密的对等网络在您的团队或组织中共享代理和LLM引擎-不暴露API密钥,不需要中央服务器,具有逐人速率限制和专用网络密钥
  • 本机桌面应用程序:从以下网址下载适用于macOS(.app)、Windows(.exe)和Linux的预构建二进制文件 --系统托盘、自动更新、零设置
  • 模型不可知:在OpenAI、Gemini、Anthropic或本地LLM(Omni-native、Ollama、LM Studio)之间无缝交换,无需重写逻辑
  • 出版代理商:通过独立聊天页面共享代理 /chat/ 具有可选的每个代理密码保护
  • 通用工具:利用 模型上下文协议(MCP) 将代理连接到任何外部服务、API或数据库
  • 知识库:内置基于SQLite的矢量存储,可选 直接映射 面向知识图谱的一级公民语义搜索与图谱分析
  • 强大的工作流引擎:通过并行执行、条件逻辑和状态管理来编排复杂的多代理序列——或使用 交互式推理与行动 用于具有多回合连续性的自主提示驱动工作流
  • 浏览器沙盒:带有CDP控件、Xvfb和noVNC的完整Chromium浏览器,以及一个实验性的 视觉浏览器 用于视觉LLM的像素坐标控制
  • 对话记忆:内置基于会话的内存,用于多回合对话,具有自动消息管理和TTL清理功能
  • 安全:身份验证端点的速率限制、SSRF保护、SQL注入强化、沙盒执行
  • 可扩展功能:插入简单的JavaScript函数,以零样板扩展代理功能

奥查特工工作室

内置网络仪表板 http://localhost:3333 具有代理测试、知识浏览、工作流执行、实时监控以及带有可视化代理编辑器的浏览器内IDE。

  • 代理 --浏览、调用、流式响应、管理会话
  • 知识 --浏览、搜索、查看实体和图形结构
  • 主控程序 --浏览服务器、查看和调用工具
  • 技能 --浏览和检查技能
  • 监视器 --实时LLM呼叫日志、P2P任务跟踪、ReAct循环指标和活动提要
  • 集成开发环境 --具有语法高亮显示、热重新加载和 视觉代理作曲家 为了 .agent.yaml 文件
  • 本地法学硕士 --下载、激活和管理本地模型(Omni native、Ollama、LM Studio)
  • 对等网络 --浏览对等体、测试远程代理和LLM、配置共享和速率限制
  • 组织 --创建和管理具有票、例程和CEO代理的自主AI组织

建筑

知识层

用法

Agent Orcha可以以多种方式使用:

  1. 本机桌面应用程序 --下载自 (macOS.app、Windows.exe、Linux二进制文件),带系统托盘集成
  2. CLI工具npx agent-orcha 启动服务器(第一次运行时自动脚手架工作区)
  3. Docker镜像 --官方图片: ddalcu/代理orcha
  4. 后端API服务器 -用于现有前端的REST API

要求: Node.js>=24.0.0(用于CLI/库)或Docker

快速开始

原生应用程序(推荐)

从以下网址下载适用于您平台的最新版本 .启动应用程序——它会自动构建一个工作区 ~/.orcha/workspace 带有示例代理和配置。系统托盘图标可快速访问Studio UI。

命令行界面

直接在您的机器上运行,以利用本地型号(Omni native、Ollama、LM Studio)的裸机GPU/Apple Silicon性能。

# Start the server (auto-scaffolds ~/.orcha/workspace on first run)
npx agent-orcha

# Or point to a custom workspace
WORKSPACE=./my-project npx agent-orcha

码头工人

最好使用云LLM提供商(OpenAI、Anthropic、Gemini)或连接到主机上运行的LLM服务器。Docker不能直接访问主机GPU,因此容器内的本地推理引擎将不可用。

docker run -p 3333:3333 -e AUTH_PASSWORD=mypass -v ./my-project:/data ddalcu/agent-orcha

一个空的工作空间会自动用示例代理、工作流和配置搭建起来。

配置

型号配置(models.yaml)

所有型号配置均已安装 models.yaml (YAML格式),包含以下部分: llm (聊天模型), embeddings, image, tts, video每个部分都有指向提供者+模型组合的命名配置。代理和知识库按名称引用配置。这 default key是指向活动配置的指针。

# models.yaml
llm:
  default: omni
  omni:
    provider: omni
    model: gemma-4-E2B-it-IQ4_NL
    contextSize: 32768
  ollama:
    provider: local
    engine: ollama
    baseUrl: http://localhost:11434/v1
    model: qwen3.5:latest
    reasoningBudget: 0
  anthropic:
    provider: anthropic
    apiKey: ${ANTHROPIC_API_KEY}
    model: claude-sonnet-4-6

embeddings:
  default: omni
  omni:
    provider: omni
    model: nomic-embed-text-v1.5.Q4_K_M

image:
  default: flux
  flux:
    provider: omni
    model: FLUX.2-Klein

tts:
  default: qwen-tts
  qwen-tts:
    provider: omni
    model: Qwen3-TTS
  • default --指针字符串(例如。, "omni")选择活动配置
  • provideromni, openai, anthropic,或 gemini
  • contextSize --上下文窗口大小(本地模型)
  • reasoningBudget / thinkingBudget --用于推理的令牌预算(0表示禁用)
  • share --在P2P网络上共享此模型(true)
  • image, tts, video --图像生成、文本到语音和视频模型部分(结构与 llm)
  • ${ENV_VAR} --环境变量替换(适用于所有配置文件)

环境变量

PORT=3333                              # Server port
HOST=0.0.0.0                          # Server host (SEA default: 127.0.0.1)
WORKSPACE=/path/to/project             # Workspace directory (default: ~/.orcha/workspace)
AUTH_PASSWORD=your-secret-password     # Password auth for all API routes and Studio
CORS_ORIGIN=https://your-frontend.com # Cross-origin policy (default: same-origin)
LOG_LEVEL=debug                        # Pino log level (default: info)
EXPERIMENTAL_VISION=false              # Enable vision browser tools
BROWSER_SANDBOX=true                   # Enable browser sandbox (Docker)
BROWSER_VERBOSE=false                  # Show Chromium logs
P2P_ENABLED=false                      # Disable P2P swarm network (enabled by default)
P2P_PEER_NAME=my-peer                 # Display name on the P2P network (default: hostname)
P2P_NETWORK_KEY=agent-orcha-default   # Shared key for peer discovery (configurable in UI)
P2P_SHARE_LLMS=true                    # Share all active LLM models on P2P (overrides per-model flag)
P2P_RATE_LIMIT=60                      # Max incoming P2P requests per minute (0 = unlimited)

所有配置文件(.yaml, .json, .env)支持 ${ENV_VAR} 替代秘密和环境特定值。

代理

代理是在YAML中定义的由AI驱动的单元 agents/ 目录。

# agents/researcher.agent.yaml
name: researcher
description: Researches topics using web fetch and knowledge search
version: "1.0.0"

model:
  llm: default
  temperature: 0.5

prompt:
  system: |
    You are a thorough researcher. Search knowledge bases,
    fetch web information, and synthesize findings.
  inputVariables:
    - topic
    - context

tools:
  - mcp:fetch
  - knowledge:transcripts

output:
  format: text

maxIterations: 50          # Override default iteration limit (optional)
memory: true               # Enable persistent memory (optional)
skills:                    # Skills to attach (optional)
  - skill-name
publish: true              # Standalone chat at /chat/researcher (optional)
p2p:                       # P2P network config (optional)
  share: true              # Share this agent to peers
  leverage: local-first    # P2P model leverage mode (see below)

对话记忆

通过a sessionId 为了在交互中保持上下文:

const result = await orchestrator.runAgent('chatbot', { message: 'My name is Alice' }, 'session-123');
const result2 = await orchestrator.runAgent('chatbot', { message: 'What is my name?' }, 'session-123');

结构化输出

output:
  format: structured
  schema:
    type: object
    properties:
      sentiment:
        type: string
        enum: [positive, negative, neutral]
      confidence:
        type: number
    required: [sentiment, confidence]

工作流

工作流协调多个代理。两种类型: 基于步骤交互式推理与行动.

基于步骤

具有明确步骤定义的顺序/并行代理编排。

name: research-paper
description: Research a topic and write a paper
type: steps

input:
  schema:
    topic:
      type: string
      required: true

steps:
  - id: research
    agent: researcher
    input:
      topic: "{{input.topic}}"

  - id: write
    agent: writer
    input:
      research: "{{steps.research.output}}"

output:
  paper: "{{steps.write.output}}"

交互式推理与行动

自主、快速驱动的工作流程,支持多回合对话。代理决定调用哪些工具和代理。完成后,线程状态将保留以供后续问题使用。

name: react-research
type: react

input:
  schema:
    topic:
      type: string
      required: true

prompt:
  system: |
    You are a research assistant with access to tools and agents.
    Identify all tools you need, call them in parallel, then synthesize results.
  goal: "Research and analyze: {{input.topic}}"

graph:
  model: default
  executionMode: single-turn    # or: react (multi-round)
  tools:
    mode: all
    sources: [mcp, knowledge, function, builtin]
  agents:
    mode: all
  maxIterations: 10

chatOutputFormat: text            # Controls chat UI rendering (text or markdown)
sampleQuestions:                   # Example prompts shown in Studio UI
  - "Research quantum computing"
  - "Analyze market trends in AI"

output:
  analysis: "{{state.messages[-1].content}}"

P2P网络

使用加密的对等群网络在机器之间共享代理和LLM引擎,该网络由 超温没有中央服务器,没有云依赖性——对等体直接使用共享网络密钥相互发现。P2P默认启用;集 P2P_ENABLED=false 禁用。

所有通信均通过Noise协议握手进行端到端加密。API密钥、机密或模型权重都不会传输,只有推理请求和响应会通过连线传输。每个同行的费率限制可以防止滥用。

P2P选项卡 Studio中提供了一个设置面板,用于启用/禁用P2P、更改计算机名称、设置专用网络密钥、配置速率限制和查看共享内容。

共享代理

添加 p2p: true 对于任何代理YAML:

name: my-agent
p2p: true

共享LLM引擎

添加 share: true 模型在 models.yaml,或在LLM选项卡中的每个提供程序上使用P2P共享切换。仅适用于具有以下功能的活动模型 share: true 共享:

# models.yaml
llm:
  omni:
    provider: omni
    model: gemma-4-E2B-it-IQ4_NL
    share: true  # Share on P2P network

没有共享API密钥或机密,只有模型名称和提供程序。

使用远程资源

有三种方法可以使用远程P2P资源:

  1. 直接LLM聊天(P2P选项卡) --从P2P选项卡中选择远程对等体的LLM,并直接与其聊天。纯LLM推理,不涉及代理或工具。
  2. 远程代理调用(P2P选项卡) --调用对等体的共享代理。代理完全在主机上运行——他们的LLM、他们的工具、他们的知识库。您将收到流式输出。
  3. 具有远程LLM的本地代理 --使用配置您的代理 model: "p2p" (自动选择)或 model: "p2p:model-name"。代理使用您的工具、反应循环、内存和知识存储在本地运行,而只有LLM推理发生在远程对等端。完全支持工具调用——远程LLM生成 tool_calls,您的本地代理执行它们,并通过网络反馈结果。

P2P模型杠杆

通过以下方式控制代理如何使用远程对等模型执行图像、TTS和视频任务 p2p.leverage 字段:

p2p:
  leverage: local-first     # Try local, fall back to P2P peers (default)
  leverage: remote-first    # Try P2P peers first, fall back to local
  leverage: remote-only     # Only use P2P peers, skip local entirely
模式行为
false此代理禁用P2P(默认)
local-first使用当地模型;如果本地失败或不可用,则回退到P2P
remote-first首先尝试P2P对等体执行模型任务(图像、TTS);如果没有同行响应,则退回本地
remote-only仅将P2P对等体用于模型任务——完全跳过本地模型

leverage 模式适用于 模型工具 (图像生成、TTS、视频)。对于显式P2P LLM聊天路由,请使用 model: p2pmodel: p2p:model-name.

负载平衡

当多个对等体共享同一模型时,Agent Orcha会使用 负载最小 选择策略:

  • 客户端跟踪 --每个节点跟踪它向每个对等体发送了多少正在进行的请求。新请求被路由到未处理请求最少的对等端。
  • 对等报告负载 --对等方通过目录更新来广播他们当前的任务负载。当对等体开始或完成处理任务时,它会广播其更新的负载,以便其他节点可以将其纳入他们的选择。
  • 决胜 --当多个对等体具有相等的负载分数时,随机选择一个对等体以避免聚类。

这确保了请求在对等体之间均匀分布,而不需要中央协调器。

速率限制

默认情况下,传入的P2P请求的速率限制为每分钟60个请求。通过配置 P2P_RATE_LIMIT env-var或P2P选项卡UI。吃起来 0 无限制。

专用网络

默认情况下,所有实例都加入同一个公共网络。要创建专用网络,请设置 P2P_NETWORK_KEY 设置为自定义值(或在P2P选项卡中配置)。在加入之前,密钥是SHA-256散列的——只有具有相同密钥的对等体才能发现彼此。

组织

创建自主的人工智能管理组织。每个组织都是一个独立的工作区,有票、例程、组织结构图和一个按预定心跳运行的CEO代理。

CEO战略

自主管理的两种策略:

  • 代理CEO --使用ORCHA代理(在YAML中定义)对工单进行分类、委派工作和审查输出
  • 克劳德代码首席执行官 -直接使用Claude与ORCHA API工具自主管理组织

门票

完整生命周期: backlogtodoin_progressin_reviewblockeddone。门票带有优先级、标签、代理分配和活动历史记录。

惯例

每个组织基于Cron的定期代理执行。安排代理自动运行,并跟踪完整的运行历史记录。

心跳

预定的首席执行官分流运行。首席执行官审查票板,将任务委派给团队成员,并跟踪进度——所有这些都在可配置的cron时间表上进行。

知识库

语义搜索和RAG的使用 SQLite+SQLite-vec --不需要外部矢量数据库。在中定义 knowledge/ 目录。

name: transcripts
description: Meeting transcripts
source:
  type: directory
  path: knowledge/sample-data
  pattern: "*.txt"

loader:
  type: pdf                       # Optional — defaults to html (web) or text (file/directory)

splitter:
  type: character
  chunkSize: 1000
  chunkOverlap: 200

embedding: default

reindex:
  schedule: "0 */6 * * *"         # Cron expression for automatic periodic reindexing

search:
  defaultK: 4
  scoreThreshold: 0.2

数据源

  • 目录/文件 --具有glob模式的本地文件
  • 数据库 --PostgreSQL/MySQL通过SQL查询
  • 网络 --HTML抓取、JSON API(带 jsonPath 对于嵌套数组),原始文本

装载机类型: text, pdf, csv, json, markdown, htmlThe loader 字段是可选的--默认为 html 对于网络源, text 用于文件/目录。Web资源也支持 jsonPath (点符号。, data.results)在解析之前从JSON响应中提取嵌套数组。

知识图谱(直接映射)

添加 graph.directMapping 从结构化数据构建实体图:

graph:
  directMapping:
    entities:
      - type: Post
        idColumn: id
        nameColumn: title
        properties: [title, slug, content]
      - type: Author
        idColumn: author_email
        nameColumn: author_name
    relationships:
      - type: WROTE
        source: Author
        target: Post
        sourceIdColumn: author_email
        targetIdColumn: id

带有实体的商店可以获得额外的图形工具: entity_lookup, traverse, graph_schema, sql.

函数

自定义JavaScript工具 functions/:

// functions/fibonacci.function.mjs
export default {
  name: 'fibonacci',
  description: 'Returns the nth Fibonacci number',
  parameters: {
    n: { type: 'number', description: 'The index (0-based, max 100)' },
  },
  execute: async ({ n }) => {
    let prev = 0, curr = 1;
    for (let i = 2; i ` |来自MCP服务器的外部工具|
| `knowledge:` |知识库的语义搜索|
| `function:` |自定义JavaScript函数|
| `builtin:` |框架工具(`ask_user`, `memory_save`, `canvas_write`, `canvas_append`) |
| `sandbox:exec` |沙盒VM中的JavaScript执行|
| `sandbox:shell` |Shell命令(非root沙盒用户)|
| `sandbox:web_fetch` |具有SSRF保护的URL获取|
| `sandbox:web_search` |网络搜索|
| `sandbox:browser_*` |基于CDP的Chromium控件(导航、观察、单击、键入、截图、评估)|
| `sandbox:vision_*` |视觉LLM的像素坐标浏览器控件(导航、单击、键入、滚动、按键、拖动、截图)|
| `sandbox:file_*` |沙盒文件工具(读、写、编辑、插入、替换行)的范围为 `/tmp` |
| `org:` |组织工具(list_tickets、update_ticket、assign_agent等)|
| `workspace:read/write/delete/list/list_resources/diagnostics` |工作区文件和资源访问|

### 视觉浏览器(实验)

视觉LLM的像素坐标浏览器控件。需要 `EXPERIMENTAL_VISION=true` 要启用的环境变量:

|工具|说明|
|------|-------------|
| `sandbox_vision_screenshot` |捕获JPEG屏幕截图|
| `sandbox_vision_navigate` |导航到URL|
| `sandbox_vision_click` |在x、y坐标处单击|
| `sandbox_vision_type` |键入文本|
| `sandbox_vision_scroll` |滚动页面|
| `sandbox_vision_key` |按键盘键|
| `sandbox_vision_drag` |在坐标之间拖动|

每个动作工具都会自动捕获一个屏幕截图,将屏幕截图推断动作循环切割为每个动作一个调用。

## API

API完整文档可在 [agentorcha.com](https://agentorcha.com).关键终点组:

|组|基本路径|描述|
|-------|-----------|-------------|
|健康| `GET /health` |健康检查|
|认证| `/api/auth/*` |登录、注销、会话检查|
|代理商| `/api/agents/*` |列表、调用、流、会话管理|
|聊天| `/api/chat/*` |已发布的代理独立聊天|
|工作流程| `/api/workflows/*` |列表、运行、流式传输|
|知识| `/api/knowledge/*` |列表、搜索、刷新、图形实体/边|
LLM `/api/llm/*` |列表配置、聊天、流媒体|
|功能| `/api/functions/*` |列表,呼叫|
|MCP| `/api/mcp/*` |列出服务器、列出工具、调用工具|
|技能| `/api/skills/*` |列出、检查|
|任务| `/api/tasks/*` |提交、跟踪、取消|
|文件| `/api/files/*` |文件树,读,写|
|本地法学硕士| `/api/local-llm/*` |发动机管理、型号下载/激活|
|图表| `/api/graph/*` |多店铺图聚合|
|日志| `/api/logs/*` |实时日志流|
|P2P| `/api/p2p/*` |P2P网络状态、设置、配置、远程代理/LLM|
|组织机构| `/api/organizations/*` |组织、门票、日常活动、组织结构图、首席执行官跑步|
|VNC| `/api/vnc/*` |浏览器沙盒VNC状态|

## 目录结构

~/.orcha/workspace/ ├── agents/ # Agent definitions (YAML) ├── workflows/ # Workflow definitions (YAML) ├── knowledge/ # Knowledge store configs and data ├── functions/ # Custom function tools (JavaScript .mjs) ├── skills/ # Skill prompt files (Markdown) ├── models.yaml # Model and embedding configurations ├── mcp.json # MCP server configuration └── .env # Environment variables


## 常见问题解答

### 本地LLM在Linux上失败,“找不到CPU后端”

在最小的Linux安装中,llama cpp CPU后端需要 `libgomp` (GCC OpenMP运行时),默认情况下可能不会安装。安装时使用:

Debian / Ubuntu

sudo apt install libgomp1

Fedora / RHEL

sudo dnf install libgomp

Arch

sudo pacman -S gcc-libs


安装后,重新启动服务器。您可以通过以下方式验证修复:

ldd templates/.llama-server/linux-x64/libggml-cpu-x64.so | grep "not found"


如果没有打印任何内容,则满足所有依赖关系。

## 发展

npm run dev # Dev server with auto-reload (uses ~/.orcha/workspace) WORKSPACE=./templates npm run dev # Dev with local templates npm run build # Build npm start # Run build npm run lint # ESLint npm run typecheck # TypeScript type checking


## 许可证

麻省理工学院

目录标签

目录标签

AI代理知识图谱TypeScriptClaude多代理系统本地部署AI框架YAML配置P2P网络

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

agent-orcha

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP