BLAH - 几乎无逻辑代理主机 - 更新 #1
(可以类比npmjs用于工具)
一旦这个列表完成,BLAH的JSON模式将会最终确定。
备注:
BLAH是一个开源生态系统,用于管理、分发和执行使用模型上下文协议(MCP)的AI代理工具。它提供了一个去中心化的MCP服务器注册表,促进透明度、安全性和社区驱动的发展。
该项目组织为一个单仓库,使用Turborepo:
packages/cli - 主要的BLAH CLI工具,用于处理MCPapps/web - BLAH的Web界面apps/docs - 文档站点# 克隆仓库
git clone https://github.com/thomasdavis/blah.git
cd blah
# 安装依赖
pnpm install
# 构建项目
pnpm run build
参见CLI README,了解详细使用BLAH CLI的说明。
# 导航到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
无关的想法
blahexport 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,
});
}
我仍在开发工具,以便开发不会变得糟糕。
在开发过程中,我想从每个人的客户端发送日志,以找出由于不同配置导致的所有错误。
目前只是一个基本客户端,列出提示、资源和工具。以后可能会变得交互式,并且应该运行测试。
npm run playground
BLAH是一个开源生态系统,用于管理、分发和执行使用模型上下文协议(MCP)的AI代理工具。它提供了一个去中心化的MCP服务器注册表,避免了利益不一致的问题,促进了透明度、安全性和社区驱动的发展。
关键特性:
BLAH旨在成为新一代易于共享、发现和组合的AI工具的基础。我们设想未来:
npm install -g blah-mcp
# 搜索工具
blah search "图像生成"
# 安装一个工具
blah install awesome-image-generator
# 列出已安装的工具
blah list
# 获取工具信息
blah info awesome-image-generator
BLAH的注册表借鉴了像npm这样的包管理器的经验教训,重点在于:
BLAH支持各种代理交互模式:
BLAH中的工具本质上是一个函数,但可以表示为:
每个工具应明确记录其调用方式,尽管这不是强制性的。
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)来定义工具及其依赖项。此清单可以存在于:
示例blah.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支持并致力于兼容:
BLAH中的工具使用以下方式进行组织:
BLAH由三个主要组件组成:
目前,ValTown作为注册表存储和计算的主要后端,欢迎其他实现。
BLAH认真对待安全问题:
欢迎贡献!请稍后再查看详细的贡献指南。
特别感谢Lisa和Wombat对这个项目的宝贵贡献。
BLAH在MIT许可下发布。详情请参阅LICENSE文件。