项目处于极端 POC 模式 - 一点都不稳定 - 文档和愿景纯粹是笔记
BLAH - 勉强符合逻辑的代理主机 - 更新 #1
(想想 npmjs 的工具)
一旦此列表完全完成,BLAH JSON 模式将最终确定。
[ ] 工具
[x] 局部函数
[x] 托管功能
[ ] 注册表
[ ] 发布
[ ] 浏览
[x] Mcp 支持
[x] 本地 Stdio
[x] 本地上交所
[ ] 托管 SSE
[x] 倾斜支撑
[x] 局部倾斜
[x] 托管 Slop
[ ] 工具可组合性
[ ] 分组
[ ] 流程
[ ] 触发器/标签
[ ] 扩展
[x] 本地 blah.json
[ ] 托管 blah.json
[ ] 调试
[ ] 游乐场
[ ] 日志记录
笔记:
流程将使用 agnt.gg 流程模式的子集
扩展意味着您可以按照任何您喜欢的方式编写 blah.json。(想想如果您只想包含您关注的设计师工具会怎么样)
注册表意味着我们将拥有一种便捷的方式来推送和拉取功能(工具)
BLAH——几乎不合逻辑的代理主机
BLAH 是一个开源生态系统,用于使用模型上下文协议 (MCP) 来管理、分发和执行 AI 代理工具。它为 MCP 服务器提供去中心化的注册中心,从而促进透明度、安全性和社区驱动的开发。
项目结构
该项目使用 Turborepo 组织为 monorepo:
packages/cli- 用于与 MCP 配合使用的主要 BLAH CLI 工具apps/web- BLAH 的 Web 界面apps/docs- 文档站点
Related MCP server: mcp-booth
入门
先决条件
Node.js >= 18.18.0(建议使用 Node 20+)
下午
安装
# Clone the repository
git clone https://github.com/thomasdavis/blah.git
cd blah
# Install dependencies
pnpm install
# Build the project
pnpm run build使用 CLI 快速启动
有关使用 BLAH CLI 的详细说明,请参阅CLI README 。
# Navigate to the CLI package
cd packages/cli
# Set up your environment variables (.env file)
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env
echo "BLAH_HOST=https://ajax-blah.web.val.run" >> .env
# Run a simulation
pnpm run simulate目前致力于
[ ] 需要一种使用任何模型/IDE 调试 mcp 服务器的方法
[ ] 思考门户
[ ] Lisa Watts 提出了“auton”,这可能是我要建议的
不相关的想法
[ ] 需要保存想法的状态,这样你就不会丢失东西(如果你还没有提交的话)
社交工具获得 [ ] 赞
[ ] 自动错误率
[ ] 分享你的工具组合结果
使用本地 blah.json
托管 blah.json (Valtown)
入门(托管)
设置 Valtown 帐户
创建一个名为
blah的新 HTTP 函数
export default async function server(request: Request): Promise<Response> {
const tools = [
{
name: "hello_name",
description: `Says hello to the name`,
inputSchema: {
type: "object",
properties: {
name: {
type: "string",
description: `Name to say hello to`,
},
},
},
},
];
return new Response(JSON.stringify(tools), {
headers: {
"Content-Type": "application/json",
},
status: 200,
});
}添加到您的客户端
克劳德
桌面
代码(CLI)
光标
克莱恩
风帆冲浪
BLAH 客户端
有没有好的网络客户端
发展
我仍在致力于开发使开发变得顺利的工具。
日志记录
在开发这个的时候,我想从每个客户端发送日志,以找出由于不同的配置而导致客户端抛出的所有错误。
操场
目前为止,它只是一个基本的客户端,列出了提示、资源和工具。稍后可以实现交互,也可以用于测试。
npm run playground需要改进
[ ] Valtown 是当前的包装器,需要使用 Vercel 函数或一些东西来替代。
[ ] 需要一个良好的可组合性策略
致谢
丽莎·沃茨
特拉维斯
袋熊
人工智能生成的胡说八道(以上内容真实)
mcp 服务器版本徽章
注册中心正常运行时间状态
BLAH 是什么?
BLAH 是一个开源生态系统,用于使用模型上下文协议 (MCP) 来管理、分发和执行 AI 代理工具。它为 MCP 服务器提供了一个去中心化的注册中心,避免了激励机制失调的问题,从而促进了透明度、安全性和社区驱动的开发。
主要特点:
任何系统(IDE、AI平台等)都可以连接的开源基础设施
与语言无关的工具注册表,支持无限的工具选择
通过 MCP 服务器的可选签名和验证实现强大的安全性
用于发布、发现和管理工具的综合 CLI
支持各种工具类型:函数、REST 端点、本地文件或标准清单
🔍 愿景
BLAH 旨在成为新一代 AI 工具的基础,这些工具易于共享、发现和组合。我们展望未来:
任何人都可以创建和共享扩展 AI 功能的工具
无论技术背景如何,每个人都可以访问丰富的工具生态系统
每个系统都可以通过标准协议与这个生态系统集成
🚀 入门
安装
npm install -g blah-mcp基本用法
# Search for tools
blah search "image generation"
# Install a tool
blah install awesome-image-generator
# List installed tools
blah list
# Get info about a tool
blah info awesome-image-generator📖 核心概念
注册表
BLAH 的注册表设计借鉴了 npm 等包管理器的经验,重点关注以下方面:
透明度:所有基础设施代码都是开源的
去中心化:存储选项包括本地、云、IPFS 或 Gists
安全性:可选的 MCP 服务器签名和验证
治理:社区驱动,没有单一实体控制生态系统
代理行为
BLAH 支持各种代理交互模式:
并行执行
递归工具调用
分支工作流程
顺序处理
基于图形的复杂工作流程
工具定义
BLAH 中的工具从根本上来说是一种功能,但可以表示为:
代码片段
RESTful 端点
本地可执行文件
标准清单(SLOP、agents.json)
每个工具都应该明确记录其调用方式,但这不是强制性的。
🛠️ CLI 命令
BLAH 配备了全面的 CLI:
blah publish - Publish a tool to the registry
blah search - Search for tools by name, tag, or description
blah install - Install a tool
blah remove - Remove an installed tool
blah update - Update tools to latest versions
blah list - List installed tools
blah info - Display information about a tool
blah config - Configure BLAH settings
blah login - Authenticate with registry
blah logout - End authentication session
blah whoami - Show current authenticated user
blah version - Display version information
blah help - Show help information📋 清单
BLAH 使用清单文件 ( blah.json ) 来定义工具及其依赖项。此清单可以存在于:
在项目工作区中
在主目录中
托管在云端
作为要点或在 IPFS 上
示例blah.json :
{
"name": "awesome-image-generator",
"version": "1.0.0",
"description": "Tool for generating awesome images",
"entry": "./dist/index.js",
"tools": [
{
"name": "generate_image",
"description": "Generates an image from a text prompt",
"parameters": {
"prompt": {
"type": "string",
"description": "Text description of the desired image"
},
"style": {
"type": "string",
"enum": ["realistic", "cartoon", "abstract"],
"default": "realistic"
}
}
}
],
"dependencies": {
"image-gen-lib": "^2.0.0"
},
"tags": ["image", "generation", "creative"]
}🔄 标准支持
BLAH 支持并致力于兼容:
模型上下文协议(MCP)
SLOP(语言操作符协议结构)
代理.json
[通过转换器自定义协议]
🌟 发现和元数据
BLAH 中的工具按以下方式组织:
标签(例如#TOOLBELT)
用于直观导航的语义元数据
基于流行度的推荐使用分析
基于用户的推荐(类似用户使用的工具)
🏗️ 建筑
BLAH 由三个主要部分组成:
注册表:用于工具存储和发现
CLI :用于与注册表交互和管理工具
MCP 服务器:用于执行代理工作流中的工具
目前, ValTown是注册存储和计算的主要后端,但也欢迎其他实现方式。
🔒 安全与问责
BLAH 非常重视安全性:
MCP 服务器的可选签名
沙盒环境中的代码执行
全面记录责任
遵守当地法律法规
🚧 路线图
[ ] 在云平台上托管 MCP 服务器(例如 Cloudflare Workers)
[ ] 创建基于 Web 的工具资源管理器和文档站点
[ ] 改善调试和开发者体验
[ ] 开发工具创建向导/生成器
[ ] 实现工具推荐系统
🧠 未来的想法
分享用户行为,实现个性化工具推荐
通过类似 cron 的机制执行预定的代理
注册管理的去中心化治理模型
自定义注册表实现的扩展生态系统
🤝 贡献
欢迎贡献!请稍后查看详细的贡献指南。
👏 致谢
特别感谢 Lisa 和 Wombat 对这个项目的宝贵贡献。
📄 许可证
BLAH 采用 MIT 许可证发布。详情请参阅许可证文件。