GitHub Action
commited on
Commit
·
ec44bd1
1
Parent(s):
f2f34e4
Sync from GitHub with Git LFS
Browse files- agents/bootstrap.txt +2 -2
- agents/peer_sync.py +4 -4
- agents/tools/db_structure.sql +0 -1
- agents/tools/storage.py +5 -0
agents/bootstrap.txt
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
did:hmp:ac0e063e-8609-4ef9-84ed-d7dcafc65977 ["tcp://node1.mesh.local:8000","udp://node1.mesh.local:8030"]
|
| 2 |
did:hmp:ac0e063e-8709-4ef9-84ed-d7dcafc65977 ["tcp://node2.mesh.local:8010"]
|
| 3 |
-
did:hmp:ac0e063e-8609-4ff9-84ed-d7dc46c65977 ["tcp://
|
| 4 |
-
did:hmp:ac0f053e-8609-4ef9-84ed-d7dcafc65977 ["any://
|
|
|
|
| 1 |
did:hmp:ac0e063e-8609-4ef9-84ed-d7dcafc65977 ["tcp://node1.mesh.local:8000","udp://node1.mesh.local:8030"]
|
| 2 |
did:hmp:ac0e063e-8709-4ef9-84ed-d7dcafc65977 ["tcp://node2.mesh.local:8010"]
|
| 3 |
+
did:hmp:ac0e063e-8609-4ff9-84ed-d7dc46c65977 ["tcp://node3.mesh.local:8020"]
|
| 4 |
+
did:hmp:ac0f053e-8609-4ef9-84ed-d7dcafc65977 ["any://node4.mesh.local:8000"]
|
agents/peer_sync.py
CHANGED
|
@@ -134,7 +134,7 @@ def tcp_listener():
|
|
| 134 |
if data == b"PEER_EXCHANGE_REQUEST":
|
| 135 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
| 136 |
peers_list = []
|
| 137 |
-
for peer in storage.
|
| 138 |
peer_id = peer["id"]
|
| 139 |
addresses_json = peer["addresses"]
|
| 140 |
try:
|
|
@@ -258,8 +258,8 @@ def udp_discovery():
|
|
| 258 |
def tcp_peer_exchange():
|
| 259 |
PEER_EXCHANGE_INTERVAL = 20 # для отладки сделаем меньше
|
| 260 |
while True:
|
| 261 |
-
peers = storage.
|
| 262 |
-
print(f"[PeerExchange] Checking {len(peers)} peers...")
|
| 263 |
|
| 264 |
for peer in peers:
|
| 265 |
# peer может быть tuple (id, addresses) или dict
|
|
@@ -385,7 +385,7 @@ def tcp_listener():
|
|
| 385 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
| 386 |
peers_list = []
|
| 387 |
|
| 388 |
-
for peer in storage.
|
| 389 |
peer_id = peer["id"]
|
| 390 |
addresses_json = peer["addresses"]
|
| 391 |
try:
|
|
|
|
| 134 |
if data == b"PEER_EXCHANGE_REQUEST":
|
| 135 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
| 136 |
peers_list = []
|
| 137 |
+
for peer in storage.get_known_peers(my_id, limit=50):
|
| 138 |
peer_id = peer["id"]
|
| 139 |
addresses_json = peer["addresses"]
|
| 140 |
try:
|
|
|
|
| 258 |
def tcp_peer_exchange():
|
| 259 |
PEER_EXCHANGE_INTERVAL = 20 # для отладки сделаем меньше
|
| 260 |
while True:
|
| 261 |
+
peers = storage.get_known_peers(my_id, limit=50)
|
| 262 |
+
print(f"[PeerExchange] Checking {len(peers)} peers (raw DB)...")
|
| 263 |
|
| 264 |
for peer in peers:
|
| 265 |
# peer может быть tuple (id, addresses) или dict
|
|
|
|
| 385 |
print(f"[TCP Listener] PEER_EXCHANGE_REQUEST from {addr}")
|
| 386 |
peers_list = []
|
| 387 |
|
| 388 |
+
for peer in storage.get_known_peers(my_id, limit=50):
|
| 389 |
peer_id = peer["id"]
|
| 390 |
addresses_json = peer["addresses"]
|
| 391 |
try:
|
agents/tools/db_structure.sql
CHANGED
|
@@ -145,7 +145,6 @@ CREATE TABLE IF NOT EXISTS llm_recent_responses (
|
|
| 145 |
-- Список известных агентов в сети HMP
|
| 146 |
CREATE TABLE IF NOT EXISTS agent_peers (
|
| 147 |
id TEXT PRIMARY KEY, -- Уникальный идентификатор (UUID или псевдоним)
|
| 148 |
-
remote_did TEXT, -- DiD агента
|
| 149 |
name TEXT, -- Имя агента
|
| 150 |
addresses TEXT, -- Адреса для связи (JSON)
|
| 151 |
tags TEXT, -- Теги (Postman, Friend и т.д.)
|
|
|
|
| 145 |
-- Список известных агентов в сети HMP
|
| 146 |
CREATE TABLE IF NOT EXISTS agent_peers (
|
| 147 |
id TEXT PRIMARY KEY, -- Уникальный идентификатор (UUID или псевдоним)
|
|
|
|
| 148 |
name TEXT, -- Имя агента
|
| 149 |
addresses TEXT, -- Адреса для связи (JSON)
|
| 150 |
tags TEXT, -- Теги (Postman, Friend и т.д.)
|
agents/tools/storage.py
CHANGED
|
@@ -942,6 +942,11 @@ class Storage:
|
|
| 942 |
c.execute("SELECT id, addresses FROM agent_peers WHERE status='online' LIMIT ?", (limit,))
|
| 943 |
return c.fetchall()
|
| 944 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 945 |
# Нормализация адресов
|
| 946 |
def normalize_address(self, addr: str) -> str:
|
| 947 |
addr = addr.strip()
|
|
|
|
| 942 |
c.execute("SELECT id, addresses FROM agent_peers WHERE status='online' LIMIT ?", (limit,))
|
| 943 |
return c.fetchall()
|
| 944 |
|
| 945 |
+
def get_known_peers(self, my_id, limit=50):
|
| 946 |
+
c = self.conn.cursor()
|
| 947 |
+
c.execute("SELECT id, addresses FROM agent_peers WHERE id != ? LIMIT ?", (my_id, limit))
|
| 948 |
+
return c.fetchall()
|
| 949 |
+
|
| 950 |
# Нормализация адресов
|
| 951 |
def normalize_address(self, addr: str) -> str:
|
| 952 |
addr = addr.strip()
|