启发式网格
🧩 启发式网格 是一个由模块化和专用AI代理组成的开放网络。每个代理都是一个专门的单元,可以处理数据、生成报告或参与对话,同时共同形成一个智能群体来处理复杂的任务。Mesh代理建立在去中心化计算的基础上,由各种开源AI模型提供支持,可以组合成强大的工作流程,提供经济高效、高度灵活的解决方案。一旦将Mesh代理添加到该Github主分支,它将自动部署,并通过REST API和MCP立即可用。
使用网格代理
\[!注意\] 有关API的详细文档,包括同步和异步使用的示例,请参阅 官方Heurist Mesh文档.
Heurist托管的网格代理可以通过两个接口访问:
- 同步API -对快速查询和操作的直接、即时响应
- 异步API -对于运行时间较长的任务或当您想跟踪推理过程时
要使用任何Mesh代理,您需要一个Heurist API密钥,请访问 https://heurist.ai/credits.
MCP(模型上下文协议)
模型上下文协议允许像克劳德这样的人工智能助手直接与启发式网格代理作为工具进行交互。
启发式网格MCP门户 -无需设置,即可快速开始我们的MCP集成!
对于完全控制的自托管,请查看我们的 heurist网格mcp服务器.
运作原理
- 网眼剂 可以处理来自外部API的信息或访问其他网格代理。
- 代理在去中心化的计算层上运行,每个代理都可以选择使用外部API、大型语言模型或Heurist和第三方提供的其他工具。
- 代理开发人员 可以通过向网络中添加专门的代理来做出贡献。每次调用代理都可以为代理的作者产生按使用付费的收入。
- 用户或开发者 访问丰富的预构建、目的驱动的AI代理库,它们可以通过REST API或前端接口使用无缝集成到其产品或工作流程中。
构建新的网格代理
设置和开发
- 创建虚拟环境:
cd mesh
uv sync
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows- 创建您的代理:
from mesh.mesh_agent import MeshAgent
from typing import Dict, Any, List
class MySpecialAgent(MeshAgent):
def __init__(self):
super().__init__()
self.metadata.update({
'name': 'My Special Agent',
'version': '1.0.0',
'author': 'Your Name',
'author_address': '0xYourEthereumAddress',
'description': 'This agent can do...',
'external_apis': ['API_Name'],
'tags': ['Category1', 'Category2'],
'image_url': 'https://example.com/image.png',
'examples': ['Example query 1', 'Example query 2'],
})
def get_system_prompt(self) -> str:
"""Return the system prompt for the agent"""
return """
You are a helpful assistant that can [describe agent's purpose].
[Include any specific instructions for the LLM here]
"""
def get_tool_schemas(self) -> List[Dict]:
"""Define the tools that your agent exposes"""
return [
{
"type": "function",
"function": {
"name": "my_tool_name",
"description": "Description of what this tool does",
"parameters": {
"type": "object",
"properties": {
"param1": {"type": "string", "description": "Description of parameter 1"},
"param2": {"type": "number", "description": "Description of parameter 2"},
},
"required": ["param1"]
}
}
}
]
async def _handle_tool_logic(self, tool_name: str, function_args: dict) -> Dict[str, Any]:
"""Handle the execution of your agent's tools"""
if tool_name == "my_tool_name":
# Implement your tool logic here
param1 = function_args.get("param1")
param2 = function_args.get("param2", 0) # Default value if not provided
# Call your API or process data here
result = await self._api_request(
url="https://api.example.com/endpoint",
method="GET",
headers={"Authorization": "Bearer your_api_key"},
params={"query": param1}
)
# Check for errors
if errors := self._handle_error(result):
return errors
# Return processed data
return {
"status": "success",
"data": {"result": result}
}
return {"error": f"Unsupported tool: {tool_name}"}- 测试你的代理人:
- 创建 mesh/tests/my_special_agent.py 进行基本测试:
import asyncio
import yaml
from mesh.agents.my_special_agent import MySpecialAgent
async def test_agent():
agent = MySpecialAgent()
# Test natural language query
response = await agent.call_agent({"query": "Run a test query"})
print(yaml.dump(response))
# Test direct tool call
response = await agent.call_agent({
"tool": "my_tool_name",
"tool_arguments": {"param1": "test value", "param2": 123}
})
print(yaml.dump(response))
if __name__ == "__main__":
asyncio.run(test_agent())- 运行: python mesh/tests/my_special_agent.py
- 启动本地服务器:
uvicorn mesh.mesh_api:app --reload贡献者指南
- 分叉与分支 存储库
- 添加您的代理 在...之下
mesh/ - 测试 本地和外部依赖
- 提交PR 对代理功能有清晰的描述
- 部署 合并后自动发生
编码风格和最佳实践
- 使用Python 类型提示 和 文档字符串 为清晰起见
- 设计 模块化 每个代理都专注于一个域
- 使用 装饰器 用于API缓存和重试
- 支持自然语言
query参数(例如,“告诉我以太坊”和“分析ETH”都应该被接受)
元数据要求
每个代理人的 metadata 字典至少应包含:
name:代理人的可读名称。version:代理版本(例如。,1.0.0).author:贡献者的姓名或句柄。author_address:潜在收入份额的以太坊地址(或任何相关地址)。description:简短、清晰地概述你的代理人的目的。external_apis:您的代理访问的任何外部服务(例如。,['DefiLlama']).tags:帮助用户发现您的代理的关键字或类别。
X402支付集成(可选)
网剂可以通过以下方式暴露 Coinbase X402集市 通过USDC支付实现按次付费。要为X402启用代理:
添加 x402_config 到代理的元数据:
self.metadata.update({
# ... other metadata fields ...
"x402_config": {
"enabled": True,
"default_price_usd": "0.02", # Default price for all tools in USD
"tool_prices": { # Optional: override price for specific tools
"search_projects": "0.01",
"get_market_summary": "0.02",
},
},
})X402资格标准:
- 代理 必须 有
x402_config.enabled着手True可在X402集市发现 - 这
author_address必须是有效的以太坊地址(这是发送USDC付款的地方) - 工具价格以美元指定,并由X402中间件自动转换为美元(6位小数)
- 如果
tool_prices没有为工具指定,它将使用default_price_usd
例子: 看 aixbt_project_info_agent.py 为了完整实施。
示例
我们在此文件夹中包含了示例代理:
- Allora价格预测代理 (allora_price_pedict_agent.py)
- 使用Allora的API获取并预测短期加密货币价格。 - 演示如何集成外部API、处理异步调用和构建多步逻辑。
- DuckDuckGo搜索代理 (duckduckgo_search_agent.py)
- 使用DuckDuckGo的API获取并分析网络搜索结果。 - 演示如何处理用户查询、连接到外部搜索服务以及返回结构化结果。
每个示例代理在中都有一个相应的测试脚本 mesh/tests/ 这演示了如何运行代理并生成示例输出文件(使用YAML)。
使用Docker进行本地测试
按照以下步骤在类似于生产环境的本地开发环境中测试Mesh代理,以确保您的代理在合并到主分支之前按预期工作。
- 使用Docker启动本地Mesh API服务器:
# From the repository root
docker compose -f docker-compose.dev.yml up --build mesh-api这将在本地构建并启动Mesh API服务http://localhost:8000.
- 安装heurist网格客户端:
# In a separate terminal
cd heurist-mesh-client
pip install -e .- 将API密钥设置为环境变量:
# Windows
set HEURIST_API_KEY=your_api_key
# Linux/Mac
export HEURIST_API_KEY=your_api_key或者使用 .env 项目目录中的文件:
# .env file
HEURIST_API_KEY=your_api_key- 针对本地服务器测试代理:
# This will test all agents and save results to test_results.json
# `--dev` will make it test against the local server
python examples/test_agents.py test-agent --dev
# Test a specific agent and tool
python examples/test_agents.py test-agent "CoinGeckoTokenInfoAgent,get_token_info" --dev- 其他选项:
--include-disabled Include agents that are marked as disabled
--no-trim Disable trimming of long output strings
--json FILE Save test results to a JSON file (automatically disables trimming for stored results)测试输入存储在 test_inputs.json,它将代理ID映射到工具名称及其测试输入。
联系与支持
- 问题:如果您发现错误或有疑问,请在 .
- 社区聊天:加入我们 Discord 的中文翻译是“不和谐”或“纷争”。 或 电报生成器组 实时支持或展示您的新代理。
快乐黑客&欢迎来到Mesh!
______________________________________________________________________
附录:所有可用的网剂
|代理ID|描述|可用工具|源代码|外部API| |----------|-------------|-----------------|-------------|---------------| |aixbt项目信息代理|此代理可以使用aixbt API |•search_projects检索趋势项目信息,包括基本分析、社会活动和最新发展
•get_market_summary| 源 |aixbt| |AaveAgent |此代理可以报告部署在以太坊、Polygon、Avalanche和Arbitrum上的Aave v3协议的状态,包括流动性、借贷利率等详细信息|•get_ave_reserves| 源 |Aave| |AskHeuristAgent |交易者的加密问答和研究代理。询问有关代币分析、市场趋势、交易策略、宏观新闻的问题,并获得深入分析。网站:https://ask.heurist.ai|•ask_heurist •check_job_status| 源 |问启发式| |BaseUSDCForensicsAgent |揭示Base上任何地址的USDC交易模式。该代理是您在Base网络上的专用链上USDC调查员,将BigQuery数据访问与一组精心策划的取证工具相结合。|•usdc_basic_profile •usdc_top_funders •usdc_top_sinks •usdc_net_交易对手 •usdc_daily_activity •usdc_人力资源_航空活动| 源 |谷歌BigQuery| |BitquerySolanaTokenInfoAgent|此代理使用Bitqueryneneneba API对Solana代币进行全面分析。它可以分析代币指标(数量、价格、流动性),跟踪持有者和买家,监控交易活动,并识别趋势代币。该代理支持特定的令牌分析和市场范围的趋势发现。|•query_token_metrics •查询令牌持有者 •query_token_buyers •query_top_traders •查询文件夹状态 •获取复制标记| 源 |比特查询| |Caesar research agent |使用Caesar AI查找和分析学术论文、文章和权威来源的高级研究代理。|•凯撒搜索 •获取搜索结果| 源 |凯撒| |ChainbaseAddressLabelAgent |获取ETH或基址的所有可用标签。标签包括所有者身份、智能合约名称、钱包行为模式和其他属性。还可以解析ENS和Base名称。|•获取地址标签| 源 |Chainbase| |CoinGeckoTokenInfoAgent|此代理可以从CoinGecko获取代币信息、市场数据、趋势硬币和类别数据。|•获取消息 •获取格式副本 •获取_价格_多个 •get_categories_list •get_category_data •get_tokens_by_category •获取渲染工具 •get_top_token_holders •获取历史持有者 •get_recent_large_trades •获取令牌_持有者_交易者| 源 |Coingecko| |DefiLamaAgent |提供DefiLama的DeFi协议、链和收益率指标,包括TVL、费用、交易量和收益率趋势分析。|•获取协议度量 •get_chain_metrics •搜索_屈服_工具| 源 |DefiLlama| |DexScreenerTokenInfoAgent|此代理使用DexScriner API获取多个链上的实时DEX交易数据和代币信息|•search_pairs •get_specific_pair_info •获取令牌对| 源 |DexScreener| |DuckDuckGoSearchAgent|此代理可以使用DuckDukeGo API获取和分析web搜索结果,并提供智能摘要。|•搜索_网站| 源 |DuckDuckGo| |ElfaTwitterIntelligenceAgent|此代理使用Twitter数据和Elfaneneneba API分析令牌、主题或Twitter帐户。它突出了聪明的影响者。|•搜索内容 •搜索计数 •get_trending_tokes| 源 |埃尔法,Apidance| |EtherscanAgent |此代理可以使用区块链浏览器和Firecrawl进行数据提取,分析多条链上的区块链交易、地址和ERC20代币。|•获取交易详情 •获取地址历史 •get_erc20_token_transfers •get_erc20_top_holders| 源 |萤火虫| |EvmTokenInfoAgent|此代理使用Bitquery API分析多个链上EVM代币的大额交易。它通过识别具有交易细节的实际交易者来跟踪鲸鱼的运动。交易类型是从交易者的角度显示的(不是从DEX的角度)。|•get_recent_large_trades| 源 |比特查询| |ExaSearchAgent|此代理可以使用Exa的API搜索web,并直接回答问题。|•例如web搜索 •例如回答问题| 源 |Exa| |ExaSearchDigestAgent|使用Exa API并提供简明LLM摘要的Web搜索代理。|•例如web搜索 •例如scrape_url| 源 |Exa| |FirecrawlSearchAgent |使用Firecrawl进行智能查询生成和内容分析的高级搜索代理。|•firerawl_web_search •耐火材料提取数据 •耐火材料| 源 |萤火虫| |FirecrawlSearchDigestAgent |高级网络搜索代理,使用Firecrawl进行智能查询生成和内容分析的研究,然后使用小型快速LLM处理结果,以获得简洁、相关的摘要。|•firerawl_web_search •耐火材料提取数据 •耐火材料| 源 |萤火虫| |FredMacroAgent |策划美国宏观数据代理,通过FRED和ALFRED涵盖通货膨胀、利率、劳动力、信贷和增长,并提供发布日历和复古历史支持。|•macro_series快照 •宏观历史 •macro_regime_context •宏观租赁日历 •macro_release_context •macro_vintage_history| 源 |阿尔弗雷德·弗雷德| |FundingRateAgent |获取币安美元Ⓢ‑M融资和未平仓合约,总结OI趋势,并根据融资间隔计算APR。|•获取所有融资利率 •获取符号融资率 •get_symbol_oi_and_funding •寻找机会| 源 |币安美元Ⓢ‑M期货| |GoplusAnalysisAgent|此代理可以使用GoPlus API获取和分析区块链代币合约的安全详细信息。|•fetch_security_details| 源 |GoPlus| |L2BeatAgent |用于分析L2Beat的第2层缩放解决方案数据的专用代理。提供跨不同链和类别(汇总、有效期和优化)的L2 TVL、市场份额和交易成本的全面见解。|•get_l2_summary •获取_成本| 源 |L2Beat| |LetsBonkTokenInfoAgent|此代理使用Bitquery API分析Solana上的LetsBonk.fun令牌。它跟踪即将毕业的代币,提供交易数据、价格信息,识别顶级买家/卖家、OHLCV数据、配对地址、流动性信息,跟踪新代币的创建,计算绑定曲线进度,并监控所有可用发射台上超过95%绑定曲线进度的代币。|•查询_关于_到_毕业生_标记 •查询_最新_交易 •查询_最新价格 •query_top_buyers •query_top_seller •查询holcv_data •查询_航空地址 •查询_流动性 •查询_最近创建的_令牌 •查询_绑定_曲线_进度 •查询标记数高于95%| 源 |比特查询| |MoniTwitterInsightAgent |此代理分析Twitter帐户,提供有关智能关注者、提及和帐户活动的见解。|•get_smarts_categories •get_smart_ments_feed| 源 |莫妮| |PondWalletAnalysisAgent |此代理使用Cryptopool API分析以太坊和基础网络上的加密货币钱包活动。|•分析钱包 •analyze_base_wallet| 源 |隐池| |ProjectKnowledgeAgent |此代理提供对加密项目综合数据库的访问。它可以按名称、令牌符号或X句柄搜索项目,并检索详细的项目信息,包括资金、团队、事件等。|•获取_项目 •语义搜索项目| 源 |PostgreSQL、AIXBT、PageIndex| |PumpFunTokenAgent|此代理使用Bitquery API分析Solana上的Pump.fun令牌。它跟踪Pump.fun上的代币创建和毕业事件。|•查询_中心_标记_创建 •query_latest_graduated_tokens| 源 |比特查询| |SallyHealthAgent | Sally是一名健康和医疗人工智能助理。该代理与Sally谈论医疗和健康话题,提供有用的信息和指导。|•健康咨询| 源 |萨莉| |SecEdgarAgent |发行人第一位SEC EDGAR代理人,负责公司决议、备案时间表、备案差异、XBRL事实趋势、内幕活动、维权人士备案和13F机构持有人快照。|•resolve_company •提交时间表 •filing_diff •xbrl_fact_trends •内部活动 •活动观察 •机构持有人| 源 |SEC EDGAR、SEC XBRL、SEC表格13F数据集| |SolWalletAgent|此代理可以使用Helius API查询Solana钱包资产和最近的掉期交易。|•获取钱包资产 •分析股东的共同持股情况 •获取历史记录| 源 |赫利厄斯| |SpaceTimeAgent |此代理可以通过使用具有ZK证明的Space and Time数据库从自然语言执行SQL查询来分析区块链数据。|•生成并执行sql| 源 |空间与时间| |TokenResolverAgent |按地址/符号/名称/CoinGecko ID查找令牌,返回规范化配置文件和顶级DEX池。在可用的情况下提取额外的上下文(网站/社交媒体/资金/指标)。|•标记搜索 •token_profile| 源 |CoinGecko、DexScreener、Bitquery(Solana)、GMGN/Unifai、雅虎财经(可选)、Coinsider(可选)| |TrendingTokenAgent |聚合来自GMGN、CoinGecko、Pump.fun、Dexscrender和Twitter讨论的趋势代币。|•get_trending_tokes •get_market_summary| 源 |GMGN、CoinGecko、Dexscrener、Elfa、AIXBT、Telegram| |TruthSocialAgent |该代理可以检索和分析唐纳德·特朗普在Truth Social上的帖子。|•get_trump_posts| 源 |Apify| |TwitterInfoAgent |此代理获取Twitter用户的个人资料信息和最近的推文。它对于获取项目更新或跟踪该领域的关键意见领袖(KOL)非常有用。|•获取用户推特 •get_twitter_detail •get_general_search| 源 |Twitter API| |TwitterIntelligenceAgent | Twitter/X工具(时间线、推特详细信息、搜索)|•user_timeline •推特_细节 •推特搜索| 源 |推特/X,有影响力的提及| |UnifaiMeteoraInfoAgent |此代理使用UnifAI的API提供Meteora池信息,包括趋势DLMM池、动态AMM池和DLMM池搜索功能|•get_trending_DLMM_pools •搜索动态工具 •search_dlmm_pools| 源 | UnifAI | |UnifaiTokenAnalysisAgent |该代理使用UnifAI的API提供代币分析,包括GMGN趋势分析(GMGN是一个模因币交易平台)和各种加密货币的全面代币分析|•get_GMGN_trend •get_gmgn_token_info •analyze_token| 源 | UnifAI | |UnifaiWeb3NewsAgent |此代理使用UnifAI的API获取最新的Web3和加密货币新闻|•get_Web3_news| 源 | UnifAI | |WanVideoGenAgent |使用Alibaba Wan 2.2模型生成视频。支持480p分辨率的文本到视频和图像到视频生成。视频存储在AI3(Autonomys)去中心化存储中,具有R2回退功能。|•文本_视频_480p_5s •文本_视频_带音频_480p_5s •图像_视频_插件_480p_5s •图像_视频_激光_480p_5s •图像_视频_带音频_480p_5s •获取视频状态| 源 |DashScope、Autonomys自动驾驶| |YahooFinanceAgent |代理友好的雅虎金融工具,用于符号解析、报价快照、标准化价格历史、技术分析、期权链、新闻、市场概述、股票概述(基本面+分析师)、基金快照和策划的股票屏幕。|•resolve_symbol •quote_snapshot •价格历史 •技术快照 •选项_chain •新闻搜索 •市场概览 •公平观 •基金快照 •equity_screen| 源 |雅虎财经| |ZerionWalletAnalysisAgent |此代理可以获取和分析加密钱包的令牌和NFT持有量(必须是EVM链)|•fetch_wallet_tokens •fetch_wallet_nfts| 源 |泽里翁| |ZoraAgent |此代理提供对Zora协议数据的访问,包括趋势集合、硬币持有者、硬币信息、社区评论和用户配置文件|•explore_collections •获取_持有者 •获取信息 •获取_评论 •get_profile •get_profile_coins •获取文件平衡| 源 |佐拉|
_本文件正在编写中。随着系统的发展,请随时更新和改进。_
