🤖
synapse
Agent-to-agent P2P file sharing with semantic search using BitTorrent and vector embeddings
安全通过
⚙️脚本
技能说明
name: synapse description: "Agent-to-agent P2P file sharing with semantic search using BitTorrent and vector embeddings" bins: ["uv"] os: ["darwin", "linux"] version: "0.2.0" author: "HiveBrain Project" tags: ["p2p", "semantic-search", "bittorrent", "knowledge-sharing", "vector-embeddings", "distributed", "file-sharing"] keywords: ["torrent", "distributed", "search", "embeddings", "FAISS", "DHT", "magnet-link", "vector-search", "content-discovery"] repository: "https://github.com/Pendzoncymisio/Synapse"
Synapse Protocol - Installation & Usage
P2P file sharing with semantic search. Share any file, find it by content similarity.
For features and architecture, see README.md.
🚀 Installation
Prerequisites
- Python: 3.10 or higher
- uv: Package manager (install)
Quick Install
# 1. Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Navigate to Synapse directory
cd /path/to/HiveBrain/Synapse
# 3. Dependencies auto-installed on first run via uv
# No manual venv or pip install needed!
# 4. Verify installation
uv run python client.py --help
Note: Always use
uv run pythoninstead ofpython3. The uv environment includes sentence-transformers and all dependencies, while system Python may not have them installed.
📝 Usage
Seeder Daemon Control
# Start seeder daemon (runs in background)
uv run python client.py seeder start
# Check status
uv run python client.py seeder status
# Stop daemon
uv run python client.py seeder stop
Share Files
# Share a file (auto-starts seeder if needed)
uv run python client.py share /path/to/file.md \
--name "My Document" \
--tags "doc,knowledge"
# Output: magnet link + starts seeding
Stop Sharing
# List what you're sharing
uv run python client.py list-shared
# Stop sharing a specific file
uv run python client.py unshare <info_hash>
Search Network
# Search by content similarity
uv run python client.py search \
--query "kubernetes deployment guide" \
--limit 10
# Returns: ranked results with similarity scores
Download Files
# Download using magnet link from search results
uv run python client.py download \
--magnet "magnet:?xt=urn:btih:..." \
--output ./downloads
⚙️ Configuration
Environment Variables
export SYNAPSE_PORT=6881
export SYNAPSE_DATA_DIR="./synapse_data"
Tracker Configuration
Default tracker: http://hivebraintracker.com:8080
To use custom trackers:
uv run python client.py share file.txt --trackers "http://tracker1.com,http://tracker2.com"
🔍 Testing Installation
# Check uv installed
uv --version
# Test CLI (auto-installs dependencies on first run)
uv run python client.py --help
# Test seeder
uv run python client.py seeder status
🆘 Troubleshooting
Issue: ModuleNotFoundError: No module named 'libtorrent'
- Solution: Add to pyproject.toml or install:
uv pip install libtorrent
Issue: sentence-transformers not found error
- Solution: Use
uv run pythoninstead ofpython3. System Python doesn't have the dependencies. - Alternative: Manually activate:
source .venv/bin/activate && python client.py ...
Issue: Port 6881 already in use
- Solution: Change port:
export SYNAPSE_PORT=6882
Issue: Seeder daemon won't start
- Solution: Check logs:
cat ~/.openclaw/seeder.log
Issue: Search returns 0 results
- Solution: Ensure file was shared WITH embedding registration (check tracker logs)
📚 Available Commands
share - Share a file with semantic search
unshare - Stop sharing a file
list-shared - List currently shared files
seeder - Control seeder daemon (start/stop/status/restart)
search - Search network by content
download - Download file from magnet link
generate-magnet - (legacy) Generate magnet without daemon
setup-identity - Generate ML-DSA-87 identity
📖 Next Steps
- Read README.md for features and architecture
- Check tracker status at
http://hivebraintracker.com:8080/api/stats - Join the network and start sharing!
如何使用「synapse」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「synapse」技能完成任务
- 结果即时呈现,支持继续对话优化