极端POC模式下的项目-根本不稳定-文档和视觉纯粹是笔记
BLAH-基本逻辑代理主机-更新#1
(考虑使用npmjs作为工具)
一旦完成此列表,BLAH JSON模式将最终确定。
- \[\]工具
- \[x\] 地方职能 - \[x\] 托管功能 - \[\]注册表 - \[\]发布 - \[\]浏览 - \[x\] Mcp支持 - \[x\] 当地标准 - \[x\] 本地SSE - \[\]主办上海证券交易所 - \[x\] 斜坡支撑 - \[x\] 局部斜坡 - \[x\] 托管斜坡 - \[\]工具可组合性 - \[\]分组 - \[\]流量 - \[\]触发器/标签 - \[\]扩展 - \[x\] 本地blah.json - \[\]托管blah.json - \[\]调试 - \[\]游乐场 - \[\]日志记录
笔记:
- 这些流将使用agnt.gg流模式的一个子集
- Extend意味着你可以以任何你喜欢的方式组合blah.json。(想想看,如果你只想包括一个你遵循工具的设计师,该怎么办)
- 注册表意味着我们将有一种方便的方法来推送和拉取函数(工具)
BLAH-非逻辑代理主机
BLAH是一个开源生态系统,用于使用模型上下文协议(MCP)管理、分发和执行AI代理工具。它为MCP服务器提供了一个去中心化的注册表,促进了透明度、安全性和社区驱动的开发。
项目结构
该项目使用Turborepo组织为一个monorepo:
packages/cli-使用MCP的主要BLAH CLI工具apps/web-BLAH的Web界面apps/docs-文件网站
入门指南
先决条件
- Node.js>=18.18.0(建议使用节点20+)
- pnpm
安装
# Clone the repository
git clone https://github.com/thomasdavis/blah.git
cd blah
# Install dependencies
pnpm install
# Build the project
pnpm run buildCLI快速入门
请参阅 CLI自述文件 有关使用BLAH CLI的详细说明。
# 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帐户
- 创建一个名为的新HTTP函数
blah
export default async function server(request: Request): Promise {
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客户端
- 有好的网络客户端吗
发展
我仍在开发工具,使开发不再是垃圾。
日志记录
在开发此功能时,我想发送来自everybody客户端的日志,以找出客户端因不同配置而抛出的所有该死的错误。
游乐场
到目前为止,它只是一个列出提示、资源和工具的基本客户端。稍后可能是交互式的,也应该在测试中运行。
npm run playground需要改进
- \[\]Valtown是当前的包装器,需要使用Vercel函数或其他东西作为替代品。
- \[\]需要一个很好的可组合性策略
鸣谢
- 丽萨沃茨
- 特拉维斯
- 袋熊
AI生成的BULL SHIT(以上是真实的)
](https://badge.fury.io/js/jsonblog-schema)   
- mcp服务器版本徽章
- 注册表正常运行时间状态
什么是BLAH?
BLAH是一个开源生态系统,用于使用模型上下文协议(MCP)管理、分发和执行AI代理工具。它为MCP服务器提供了一个去中心化的注册表,不会受到不一致激励的影响,促进了透明度、安全性和社区驱动的开发。
主要特点:
- 任何系统(IDE、AI平台等)都可以连接的开源基础设施
- 支持无限制工具选择的语言无关工具注册表
- 通过MCP服务器的可选签名和验证实现强大的安全性
- 用于发布、发现和管理工具的全面CLI
- 支持各种工具类型:函数、REST端点、本地文件或标准清单
🔍 视觉
BLAH旨在成为新一代人工智能工具的基础,这些工具可以轻松共享、发现和组合。我们设想未来:
- 任何人 可以创建和共享扩展人工智能功能的工具
- 每个人 无论其技术背景如何,都可以访问丰富的工具生态系统
- 每个系统 可以通过标准协议与该生态系统集成
🚀 入门指南
安装
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或gist
- 安全: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(语言运算符协议结构)
- agents.json
- \[通过转换器自定义协议\]
🌟 发现和元数据
BLAH中的工具使用以下方式组织:
- 标签(例如#TOOLBELT)
- 用于直观导航的语义元数据
- 基于流行度的推荐使用分析
- 基于用户的推荐(类似用户使用的工具)
🏗️ 建筑
BLAH由三个主要部分组成:
- 注册表:用于工具存储和发现
- 命令行界面:用于与注册表和管理工具交互
- MCP服务器:用于在代理工作流中执行工具
目前, 瓦尔敦 作为注册表存储和计算的主要后端,但也欢迎其他实现。
🔒 安全与责任
BLAH非常重视安全:
- MCP服务器的可选签名
- 沙盒环境中的代码执行
- 全面记录问责制
- 遵守当地法律法规
🚧 路线图
- \[\]在云平台上托管MCP服务器(例如Cloudflare Workers)
- \[\]创建基于web的工具资源管理器和文档网站
- \[\]改善调试和开发人员体验
- \[\]开发工具创建向导/生成器
- \[\]实施工具推荐系统
🧠 未来想法
- 用户行为共享,用于个性化工具推荐
- 通过类似cron的机制安排代理执行
- 注册表管理的去中心化治理模型
- 自定义注册表实现的扩展生态系统
🤝 贡献
欢迎投稿!请稍后回来查看详细的贡献指南。
👏 鸣谢
特别感谢Lisa和Wombat为这个项目做出的宝贵贡献。
📄 许可证
BLAH是在MIT许可证下发布的。有关详细信息,请参阅LICENSE文件。
______________________________________________________________________
Build Logical Agents, Humanely
