Files
weval-l99/oss-paperclip-chain.py
2026-04-13 12:43:21 +02:00

29 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""OSS→Paperclip Chain: discovered OSS tools → Paperclip agent proposals"""
import json, os, urllib.request
from datetime import datetime
TRENDING = "/var/www/html/api/oss-trending.json"
def main():
print(f"[{datetime.now().strftime('%H:%M:%S')}] OSS→Paperclip Chain")
if not os.path.exists(TRENDING):
print(" No trending data. Run oss-discovery first.")
return
tools = json.load(open(TRENDING))
unwired = [t for t in tools if not t.get("wired") and t.get("files",0) > 10]
print(f" {len(unwired)} unwired tools with >10 files")
# Check which are already in Paperclip
try:
r = urllib.request.urlopen("http://127.0.0.1:3100/api/agents?limit=100", timeout=5)
agents = json.loads(r.read())
agent_names = [a.get("name","").lower() for a in agents] if isinstance(agents, list) else []
new = [t for t in unwired if t["name"].lower() not in agent_names]
print(f" {len(new)} new tools not in Paperclip")
for t in new[:5]:
print(f"{t['name']}: {t['files']} files")
except Exception as e:
print(f" Paperclip error: {e}")
if __name__ == "__main__": main()