小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
8
最近更新:2个月前

用于创建、测试和共享 AI 智能体工具的开源生态系统,包含可视化流程编辑器、仿真环境和去中心化工具发现功能。

项目处于极端概念验证模式 - 完全不稳定 - 文档和愿景纯粹是笔记

BLAH - Barely Logical Agent Host - 更新 #1

(可以理解为工具的 npmjs)

一旦此列表全部完成,BLAH JSON 模式将最终确定。

  • 工具
    • 本地函数
    • 托管函数
    • 注册表
      • 发布
      • 浏览
    • Mcp 支持
      • 本地标准输入输出
      • 本地 SSE
      • 托管 SSE
    • Slop 支持
      • 本地 Slop
      • 托管 Slop
    • 工具可组合性
      • 分组
      • 流程
      • 触发器 / 标签
    • 扩展
      • 本地 blah.json
      • 托管 blah.json
    • 调试
      • 操场
      • 日志记录

备注:

  • 流程将使用 agnt.gg 流程模式的一个子集
  • 扩展意味着您可以以任何方式组合 blah.json。(想象一下,如果您只想包含您所关注设计师的工具)
  • 注册表意味着我们将有一个方便的方式来推送和拉取函数(工具)

BLAH - Barely Logical Agent Host

BLAH 是一个开源生态系统,用于使用模型上下文协议 (MCP) 管理、分发和执行 AI 代理工具。它为 MCP 服务器提供了一个去中心化的注册表,促进了透明度、安全性和社区驱动的开发。

项目结构

该项目组织为一个使用 Turborepo 的单体仓库:

  • packages/cli - 主要的 BLAH CLI 工具,用于与 MCP 配合工作
  • apps/web - BLAH 的 Web 界面
  • apps/docs - 文档站点

快速入门

先决条件

  • Node.js >= 18.18.0(推荐使用 Node 20+)
  • pnpm

安装

bash 复制代码
# 克隆存储库
git clone https://github.com/thomasdavis/blah.git
cd blah

# 安装依赖项
pnpm install

# 构建项目
pnpm run build

CLI 快速入门

有关使用 BLAH CLI 的详细说明,请参阅 CLI README

bash 复制代码
# 导航到 CLI 包
cd packages/cli

# 设置环境变量 (.env 文件)
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env
echo "BLAH_HOST=https://ajax-blah.web.val.run" >> .env

# 运行模拟
pnpm run simulate

当前正在开发的内容

  • 需要一种方法来调试使用任何模型/IDE 的 mcp 服务器
  • 考虑门户
  • Lisa Watts 提出了“auton”,可能我会建议这个

无关的想法

  • 需要在想法中保存状态,以免丢失内容(如果您还没有提交的话)
  • 社交工具的点赞功能
  • 自动错误率
  • 分享您的工具组合结果

使用本地 blah.json

托管 blah.json (Valtown)

快速入门(托管)

  1. 设置 Valtown 帐户
  2. 创建一个名为 blah 的新 HTTP 函数
typescript 复制代码
export default async function server(request: Request): Promise<Response> {
  const tools = [
    {
      name: "hello_name",
      description: `对名字说你好`,
      inputSchema: {
        type: "object",
        properties: {
          name: {
            type: "string",
            description: `要问候的名字`,
          },
        },
      },
    },
  ];

  return new Response(JSON.stringify(tools), {
    headers: {
      "Content-Type": "application/json",
    },
    status: 200,
  });
}

添加到您的客户端

  • Claude
    • 桌面版
    • 代码(CLI)
  • Cursor
  • Cline
  • Windsurf
  • BLAH 客户端
  • 是否有好用的 Web 客户端?

开发

我仍在努力开发让开发不那么糟糕的工具。

日志记录

在开发此功能时,我想从所有人的客户端发送日志,以便找出由于不同配置导致的所有该死的错误。

操场

目前只是一个列出提示、资源和工具的基本客户端。未来可能会变得互动,并且还应该运行测试。

bash 复制代码
npm run playground

需要改进

  • Valtown 是当前的封装器,需要有一个替代方案,可能是使用 Vercel 函数或其他东西。
  • 需要一个好的可组合性策略

致谢

  • Lisa Watts
  • Travis
  • Wombat

AI 生成的废话(上面的内容是真实的)

npm 版本
CI
许可证: MIT
TypeScript

  • mcp 服务器版本徽章
  • 注册表正常运行时间状态

什么是 BLAH?

BLAH 是一个开源生态系统,用于使用模型上下文协议 (MCP) 管理、分发和执行 AI 代理工具。它为 MCP 服务器提供了一个去中心化的注册表,不会受到激励机制错位的影响,促进了透明度、安全性和社区驱动的开发。

主要特点:

  • 任何系统(IDE、AI 平台等)都可以连接的开源基础设施
  • 支持无限工具选择的语言无关工具注册表
  • 通过可选的签名和验证 MCP 服务器实现强大的安全性
  • 用于发布、发现和管理工具的综合 CLI
  • 支持各种工具类型:函数、REST 端点、本地文件或标准清单

🔍 愿景

BLAH 旨在成为新一代 AI 工具的基础,这些工具可以轻松共享、发现和组合。我们设想了一个未来:

  1. 任何人都可以创建和分享扩展 AI 能力的工具
  2. 每个人都可以访问丰富的工具生态系统,无论其技术背景如何
  3. 每个系统都可以通过标准协议与此生态系统集成

🚀 快速入门

安装

bash 复制代码
npm install -g blah-mcp

基本用法

bash 复制代码
# 搜索工具
blah search "图像生成"

# 安装工具
blah install awesome-image-generator

# 列出已安装的工具
blah list

# 获取工具信息
blah info awesome-image-generator

📖 核心概念

注册表

BLAH 的注册表借鉴了像 npm 这样的包管理器的经验教训,重点关注:

  • 透明度:所有基础设施代码都是开源的
  • 去中心化:存储选项包括本地、云、IPFS 或 gist
  • 安全性:可选的 MCP 服务器签名和验证
  • 治理:社区驱动,没有单一实体控制生态系统

代理行为

BLAH 支持各种代理交互模式:

  • 并行执行
  • 递归工具调用
  • 分支工作流
  • 顺序处理
  • 复杂的基于图的工作流

工具定义

BLAH 中的工具本质上是一个函数,但可以表示为:

  • 代码片段
  • RESTful 端点
  • 本地可执行文件
  • 标准清单(SLOP、agents.json)

每个工具都应明确记录其调用方式,但这不是强制性的。

🛠️ CLI 命令

BLAH 提供了一个全面的 CLI:

复制代码
blah publish    - 将工具发布到注册表
blah search     - 按名称、标签或描述搜索工具
blah install    - 安装工具
blah remove     - 删除已安装的工具
blah update     - 更新工具到最新版本
blah list       - 列出已安装的工具
blah info       - 显示工具信息
blah config     - 配置 BLAH 设置
blah login      - 使用注册表进行身份验证
blah logout     - 结束身份验证会话
blah whoami     - 显示当前已认证用户
blah version    - 显示版本信息
blah help       - 显示帮助信息

📋 清单

BLAH 使用清单文件 (blah.json) 来定义工具及其依赖项。此清单可以存在于:

  • 项目工作区中
  • 主目录中
  • 托管在云端
  • 作为 gist 或在 IPFS 上

示例 blah.json

json 复制代码
{
  "name": "awesome-image-generator",
  "version": "1.0.0",
  "description": "生成精彩图像的工具",
  "entry": "./dist/index.js",
  "tools": [
    {
      "name": "generate_image",
      "description": "根据文本提示生成图像",
      "parameters": {
        "prompt": {
          "type": "string",
          "description": "所需图像的文字描述"
        },
        "style": {
          "type": "string",
          "enum": ["逼真", "卡通", "抽象"],
          "default": "逼真"
        }
      }
    }
  ],
  "dependencies": {
    "image-gen-lib": "^2.0.0"
  },
  "tags": ["图像", "生成", "创意"]
}

🔄 标准支持

BLAH 支持并旨在兼容:

  • 模型上下文协议 (MCP)
  • SLOP(语言操作协议结构)
  • agents.json
  • [通过转换器支持您自己的自定义协议]

🌟 发现和元数据

BLAH 中的工具使用以下方式进行组织:

  • 标签(例如,#TOOLBELT)
  • 语义元数据以实现直观导航
  • 使用分析以基于流行度进行推荐
  • 用户推荐(由类似用户使用的工具)

🏗️ 架构

BLAH 由三个主要组件组成:

  1. 注册表:用于工具存储和发现
  2. CLI:用于与注册表交互和管理工具
  3. MCP 服务器:用于在代理工作流中执行工具

目前,ValTown 作为注册表存储和计算的主要后端,尽管欢迎替代实现。

🔒 安全与责任

BLAH 十分重视安全:

  • 可选的 MCP 服务器签名
  • 在沙箱环境中执行代码
  • 全面的日志记录以确保责任
  • 符合当地法律法规

🚧 路线图

  • 在云平台(例如 Cloudflare Workers)上托管 MCP 服务器
  • 创建基于 Web 的工具浏览器和文档站点
  • 改进调试和开发者体验
  • 开发工具创建向导/生成器
  • 实现工具推荐系统

🧠 未来想法

  • 用户行为共享以获得个性化的工具推荐
  • 通过类似 cron 的机制安排代理执行
  • 去中心化的注册表管理治理模型
  • 支持自定义注册表实现的扩展生态系统

🤝 贡献

欢迎贡献!请稍后查看详细的贡献指南。

👏 致谢

特别感谢 Lisa 和 Wombat 对本项目的宝贵贡献。

📄 许可证

BLAH 在 MIT 许可下发布。详情请参阅 LICENSE 文件。


构建逻辑代理,人性化