Robin: AI-Powered Dark Web OSINT
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Local MCP broker: agents call credentials through a daemon without seeing secrets.
选择你使用的 AI 应用,然后复制设置。
通过 2/3 项检查 · 在你的电脑上运行
第一步:你用哪个 AI?
选择你用的应用,步骤会显示在下方。
可连接 Claude,但需要先准备
不需要密钥,不用安装程序 · 仅限电脑上的 Claude 应用(Windows 或 Mac),网页和手机不可用
用 Tremelay 告诉我你能帮我做什么,然后做一件给我看✓ 如果 Claude 说正在使用 Tremelay,或回答中出现 Tremelay 的工具名称,就表示连接成功
菜单名称已于 2026年11月11日 对照 Anthropic 帮助页面核实 · 你的界面可能因版本略有不同
ChatGPT 暂时无法连接 Tremelay
Tremelay 需要安装在你的电脑上,而 ChatGPT 只能连接在网上运行的服务器
A · 使用能连接 Tremelay 的应用
B · 网络安全 类中能连接 ChatGPT 的其他服务器
从同类中使用较多的里挑选,仅限用地址即可连接、无需密钥的
Claude Code 暂时无法连接 Tremelay
开发者只提供了电脑版 Claude 应用的安装文件
A · 使用能连接 Tremelay 的应用
Cursor 暂时无法连接 Tremelay
开发者只提供了电脑版 Claude 应用的安装文件
A · 使用能连接 Tremelay 的应用
VS Code 暂时无法连接 Tremelay
开发者只提供了电脑版 Claude 应用的安装文件
A · 使用能连接 Tremelay 的应用
依据这个服务器的连接方式和各应用自己的文档,检查于 2026年11月10日。
在你的电脑上运行,适用于
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月14日
注册名称已通过 GitHub 账户 CharitonMedia 验证,该账户拥有此仓库
代码最后更新于前天
GitHub 无法识别许可证类型;请打开文件自行查看
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
提问、分享技巧或报告无法使用。按“有帮助”数量排序。
还没有评价
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于前天,最新版本(1.2.0)于前天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有:Robin: AI-Powered Dark Web OSINT, HOL Guard, SonarQube MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Dark web OSINT over Tor: search onion engines, scrape pages, report with your own model.
Local-first AI agent security evidence and approval workflows through HOL Guard's stdio MCP server.
Analyze code quality and security with SonarQube Server or Cloud directly in AI assistants.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A local credential broker, so your AI agents can use your credentials without ever seeing them.
You already give agents real authority: read these issues, push this branch, call that API. Today that means pasting a token into a config file, an environment variable, or an MCP server, and hoping nothing logs it, echoes it, or wanders off to the wrong host with it.
Tremelay splits possession of a secret from authority to use it. You keep credentials in a local encrypted vault. Each agent gets its own identity and its own narrow, expiring, revocable grants — "GET anything under https://api.github.com/repos/you/yourrepo with this token", "authenticate to git.example.com as git with this SSH key". The agent asks Tremelay to perform the operation; Tremelay performs it with the credential and returns only the result the grant allows. The agent never receives the secret, there is no getSecret tool to call, and every attempt — allowed or denied — lands in a hash-chained audit log.
The broker possesses secrets. Agents possess capabilities.
Agents connect over MCP (list_capabilities, describe_capability, invoke_capability), or over an ssh-agent socket for SSH signing. Everything is local: one SQLite vault file, one user-only socket or named pipe, no server, no account, no telemetry.
A real session against a throwaway vault. The secret is the literal string dummy-demo-secret. Every command except vault create also writes one vault_unlock id=… result=allowed line to stderr; those are trimmed here, nothing else is.
$ tremelay vault create --path demo.db
vault_create id=d8df6f8230cf55a9a8b1b7c7df424f1a result=allowed vault created
$ CRED=$(tremelay credential put --path demo.db --label "demo api key" --type api_key --secret-file ./secret) credential_put id=649cee93880ae731b17ea858a439d7fe type=api_key result=allowed reasons= health_assess id=649cee93880ae731b17ea858a439d7fe type=api_key result=allowed reasons= 649cee93880ae731b17ea858a439d7fe
$ AGENT=$(tremelay agent create --path demo.db --label claude-code) agent_create agent=3a0f2de100565eb2e4be158fdb9a8201 grant= result=allowed 3a0f2de100565eb2e4be158fdb9a8201
$ GRANT=$(tremelay grant create --path demo.db --agent $AGENT --credential $CRED \ --operation http_broker --resource https://api.github.com/repos/CharitonMedia/Tremelay \ --method GET --inject bearer --expires 2030-01-01T00:00:00Z) grant_create agent=3a0f2de100565eb2e4be158fdb9a8201 grant=a0f8b04d64d8ece4a56130feb2607ce9 result=allowed a0f8b04d64d8ece4a56130feb2607ce9
$ tremelay capability list --path demo.db --agent $AGENT capability_list agent=3a0f2de100565eb2e4be158fdb9a8201 grant= result=allowed {"grant_id":"a0f8b04d64d8ece4a56130feb2607ce9","agent_id":"3a0f2de100565eb2e4be158fdb9a8201","credential_id":"649cee93880ae731b17ea858a439d7fe","operations":["http_broker"],"resource":"https://api.github.com/repos/CharitonMedia/Tremelay","created_at":"2026-10-14T04:20:00.618845291Z","expires_at":"2030-01-01T00:00:00Z","status":"active"}
$ tremelay capability authorize --path demo.db --agent $AGENT --credential $CRED \ --operation http_broker --resource https://api.github.com/repos/CharitonMedia/Tremelay capability_authorize agent=3a0f2de100565eb2e4be158fdb9a8201 grant=a0f8b04d64d8ece4a56130feb2607ce9 result=allowed allowed a0f8b04d64d8ece4a56130feb2607ce9
$ tremelay capability authorize --path demo.db --agent $AGENT --credential $CRED \ --operation http_broker --resource https://api.github.com/repos/someone/else capability_authorize agent=3a0f2de100565eb2e4be158fdb9a8201 grant=a0f8b04d64d8ece4a56130feb2607ce9 result=denied_scope denied_scope
$ tremelay grant revoke --path demo.db --id $GRANT grant_revoke agent=3a0f2de100565eb2e4be158fdb9a8201 grant=a0f8b04d64d8ece4a56130feb2607ce9 result=allowed a0f8b04d64d8ece4a56130feb2607ce9
$ tremelay capability authorize --path demo.db --agent $AGENT --credential $CRED \ --operation http_broker --resource https://api.github.com/repos/CharitonMedia/Tremelay capability_authorize agent=3a0f2de100565eb2e4be158fdb9a8201 grant=a0f8b04d64d8ece4a56130feb2607ce9 result=denied_revoked denied_revoked
$ tremelay audit list --path demo.db --agent $AGENT --action capability_authorize {"seq":12,"time":"2026-10-14T04:20:00.755379639Z","action":"capability_authorize","credential_id":"649cee93880ae731b17ea858a439d7fe","credential_type":"api_key","result":"allowed","agent_id":"3a0f2de100565eb2e4be158fdb9a8201","grant_id":"a0f8b04d64d8ece4a56130feb2607ce9","operation":"http_broker","class":"routine","severity":"info","hash":"bcf38c87bf3038dafc6f1b0c52be3cb6b213cd202096d481370373e3abf847ab"} {"seq":14,"time":"2026-10-14T04:20:00.821094153Z","action":"capability_authorize","credential_id":"649cee93880ae731b17ea858a439d7fe","credential_type":"api_key","result":"denied_scope","agent_id":"3a0f2de100565eb2e4be158fdb9a8201","grant_id":"a0f8b04d64d8ece4a56130feb2607ce9","operation":"http_broker","class":"expected_denial","severity":"low","hash":"2d2432203b7bbacf562c4f0433090f0647037d746e6d689492c44f25e3b2d2b1"} {"seq":18,"time":"2026-10-14T04:20:00.951247858Z","action":"capability_authorize","credential_id":"649cee93880ae731b17ea858a439d7fe","credential_type":"api_key","result":"denied_revoked","agent_id":"3a0f2de100565eb2e4be158fdb9a8201","grant_id":"a0f8b04d64d8ece4a56130feb2607ce9","operation":"http_broker","class":"replay","severity":"high","hash":"f8b19ee681e76b1b6fc813116232e732e57644d47ebd3afbefab0a8e23ce2cf1"}
$ tremelay audit verify --path demo.db 84d0bf149dc187c9517fd9a0afce2571fb4fad648cac25ebb5298e5cf68e27a4
Both denials exited non-zero, and no row carries a secret. The passphrase came from TREMELAY_PASSPHRASE; interactively you get a no-echo prompt instead.
Tremelay needs the pinned Go toolchain (1.26.9, see go.mod); go install switches to it for you.
go install github.com/CharitonMedia/Tremelay/cmd/tremelay@v1.0.3
From a clone, make build or go build -o tremelay ./cmd/tremelay does the same thing. Check the build with tremelay version (or tremelay --version).
The v1.0.3 release carries per-platform archives named tremelay_ _ _ .tar.gz (or .zip on Windows). Each archive unpacks to a binary named tremelay (tremelay.exe on Windows) plus LICENSE, along with a CycloneDX SBOM and a SHA256SUMS file — a checksum detects a corrupt download, not a substituted release. It also carries one MCP Bundle per platform, tremelay-mcp_ _ _ .mcpb, for clients that install MCP Bundles (see the generic MCP quickstart). Signed releases are not in v1. make release-dry builds those artifacts locally; see ADR 0027. Download the archive you want and SHA256SUMS into one directory, then check that archive by name:
grep tremelay_v1.0.3_linux_amd64.tar.gz SHA256SUMS | sha256sum -c - &&
tar -xzf tremelay_v1.0.3_linux_amd64.tar.gz && ./tremelay version
On macOS, shasum -a 256 -c - in place of sha256sum -c -.
Name the file you downloaded. sha256sum -c --ignore-missing SHA256SUMS over the whole list exits 0 when your archive is the one that failed to download and some other listed file is present.
Copy-paste setup from install to first successful call, one page per client: docs/quickstarts/ (Claude Code, Codex, Hermes, generic MCP).
The shape is the same everywhere. tremelay daemon --vault PATH prompts for your passphrase at a terminal (non-empty TREMELAY_PASSPHRASE works without a prompt but is not recommended; see passphrase from the environment) and then serves agents on a user-only local socket; tremelay agent create --token-file FILE gives each agent its own bearer token file, and tremelay agent token issue|rotate|revoke manage it later without recreating the agent; tremelay mcp --daemon --token-file FILE is the stdio command the client launches. tremelay lock, the idle timeout, or losing the process zeroises the key. See the headless daemon guide, or local stdio MCP for the per-launch pinentry path instead. For SSH, tremelay ssh-agent publishes an SSH_AUTH_SOCK that signs with a key that never leaves the daemon.
Read this before you trust it with anything.
tremelay ssh-agent is Linux and macOS only and fails closed on Windows.http_broker grant returns the status code, an allowlisted set of response headers, and up to 32 KiB of the body with the credential redacted in its common encodings (raw, URL, base64, hex, JSON-escaped). The agent never sees the credential, but it does see the data that credential unlocks — and anything in that body can be prompt injection (H1). A hostile upstream that deliberately re-encodes or splits the credential is not caught; grant only origins you trust with the credential.multipart/form-data, file uploads) is refused as denied_malformed. Send JSON or a urlencoded form instead.github_issue_state grant will not unlock until that grant is revoked with the pre-v1 binary.ARCHITECTURE.md · VISION.md · ADRs · vault lifecycle · HTTP broker · SSH signing · measured client integrations · what is in v1 · milestone history
tremelay --help prints the full command list.
CONTRIBUTING.md. Apache License 2.0; see LICENSE.