github Python analyzed 0afd305

dsivov/cohermes

github

A team of AI coding agents that share one brain — a Hermes extension whose per-user memory becomes a shared, governed Context Graph.

maintainer
dsivov
license
MIT
first seen
2026-07-20
last seen
2026-07-22
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged hidden prompt content ×2, committed secret ×13, dynamic code execution ×22 in dsivov/cohermes
  2. HIGH code analysis flagged hidden prompt content ×2, dynamic code execution ×10 in dsivov/cohermes
capabilities 22 tools
transport stdio · streamable-http counts 22 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • ask_claude
  • attachments_fetch
  • channels_list
  • check_claude
  • conversation_get
  • conversations_list
  • delegate_claude
  • events_poll
  • events_wait
  • ingest_context
  • link
  • messages_read
  • messages_send
  • orient
  • permissions_list_open
  • permissions_respond
  • record_commit
  • record_decision
  • record_learning
  • record_review
  • record_task
  • whoami
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 0afd305 · analyzer v28 · 3d ago

skills & prompt files 166

danger signals77

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 4641

filesystem 108

  • fs dsivov-cohermes-0afd305/acp_adapter/edit_approval.py :19 from pathlib import Path
  • fs dsivov-cohermes-0afd305/acp_adapter/entry.py :36 from pathlib import Path
  • fs dsivov-cohermes-0afd305/acp_adapter/server.py :14 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/account_usage.py :277 # Fail-open (caller shows nothing), but leave a breadcrumb so a dead
  • fs dsivov-cohermes-0afd305/agent/agent_runtime_helpers.py :31 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/anthropic_adapter.py :21 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/auxiliary_client.py :53 from pathlib import Path # noqa: F401 — used by test mocks
  • fs dsivov-cohermes-0afd305/agent/coding_context.py :61 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/context_references.py :11 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/conversation_compression.py :38 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/conversation_loop.py :4123 f"to use execute_code with Python's open() for "
  • fs dsivov-cohermes-0afd305/agent/copilot_acp_client.py :20 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/credential_pool.py :14 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/credits_tracker.py :532 # paid_access header → fail-open (assume access); absent tool_pool_gated_off
  • fs dsivov-cohermes-0afd305/agent/curator.py :30 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/curator_backup.py :45 import shutil
  • fs dsivov-cohermes-0afd305/agent/display.py :15 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/file_safety.py :6 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/i18n.py :38 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/image_gen_provider.py :49 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/image_routing.py :46 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/learn_prompt.py :57 cross-platform first (tempfile.gettempdir(), pathlib.Path, psutil); gate only
  • fs dsivov-cohermes-0afd305/agent/learning_graph.py :22 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/learning_mutations.py :20 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/lsp/cli.py :289 import shutil as _shutil
  • fs dsivov-cohermes-0afd305/agent/lsp/client.py :48 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/lsp/install.py :31 import shutil
  • fs dsivov-cohermes-0afd305/agent/lsp/servers.py :24 import shutil
  • fs dsivov-cohermes-0afd305/agent/lsp/workspace.py :22 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/moa_trace.py :29 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/model_metadata.py :13 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/models_dev.py :25 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/nous_rate_guard.py :126 os.unlink(tmp_path)
  • fs dsivov-cohermes-0afd305/agent/onboarding.py :16 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/pet/generate/atlas.py :29 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/pet/generate/imagegen.py :19 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/pet/generate/orchestrate.py :22 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/pet/render.py :27 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/pet/store.py :23 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/prompt_builder.py :14 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/runtime_cwd.py :16 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/secret_scope.py :27 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/secret_sources/_cache.py :28 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/secret_sources/base.py :45 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/secret_sources/bitwarden.py :37 import shutil
  • fs dsivov-cohermes-0afd305/agent/secret_sources/onepassword.py :46 import shutil
  • fs dsivov-cohermes-0afd305/agent/secret_sources/registry.py :33 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/shell_hooks.py :122 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/skill_bundles.py :48 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/skill_commands.py :11 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/skill_preprocessing.py :6 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/skill_utils.py :12 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/ssl_guard.py :12 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/ssl_verify.py :8 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/stream_diag.py :61 Called once at stream open (before iterating chunks) so the metadata
  • fs dsivov-cohermes-0afd305/agent/subdirectory_hints.py :19 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/thinking_timeout_guidance.py :21 stream drops ("try execute_code with Python's open() for large files")
  • fs dsivov-cohermes-0afd305/agent/thread_scoped_output.py :133 sink = open(os.devnull, "w", encoding="utf-8")
  • fs dsivov-cohermes-0afd305/agent/tool_dispatch_helpers.py :31 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/tool_executor.py :17 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/trajectory.py :52 with open(filename, "a", encoding="utf-8") as f:
  • fs dsivov-cohermes-0afd305/agent/verification_evidence.py :18 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/verification_stop.py :12 from pathlib import Path
  • fs dsivov-cohermes-0afd305/agent/video_gen_provider.py :54 from pathlib import Path
  • fs dsivov-cohermes-0afd305/batch_runner.py :38 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cg/auth.py :16 import shutil
  • fs dsivov-cohermes-0afd305/cg/backfill.py :21 with open(py_path) as fh:
  • fs dsivov-cohermes-0afd305/cg/connectors/reviews.py :73 with open(self.path) as fh:
  • fs dsivov-cohermes-0afd305/cg/hermes/handler.py :21 import pathlib
  • fs dsivov-cohermes-0afd305/cg/hermes/install.py :9 import pathlib
  • fs dsivov-cohermes-0afd305/cg/mcp_server.py :237 and _DONE_MARKER in open(logf, encoding="utf-8", errors="replace").read())
  • fs dsivov-cohermes-0afd305/cg/onboard_cmd.py :10 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cg/preset.py :122 with open(path, "w") as fh:
  • fs dsivov-cohermes-0afd305/cg/project.py :12 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cg/runner.py :12 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cg/watch.py :31 with open(CURSOR) as fh:
  • fs dsivov-cohermes-0afd305/cli.py :28 import shutil
  • fs dsivov-cohermes-0afd305/cron/executions.py :15 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cron/jobs.py :14 import shutil
  • fs dsivov-cohermes-0afd305/cron/lifecycle_guard.py :37 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cron/scheduler.py :19 import shutil
  • fs dsivov-cohermes-0afd305/cron/suggestion_catalog.py :21 from pathlib import Path
  • fs dsivov-cohermes-0afd305/cron/suggestions.py :36 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/cgroup_cleanup.py :21 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/channel_directory.py :34 with open(CHANNEL_ALIASES_PATH, encoding="utf-8") as f:
  • fs dsivov-cohermes-0afd305/gateway/code_skew.py :20 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/config.py :14 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/dead_targets.py :31 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/delivery.py :14 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/drain_control.py :56 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/kanban_watchers.py :18 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/mirror.py :139 with open(_SESSIONS_INDEX, encoding="utf-8") as f:
  • fs dsivov-cohermes-0afd305/gateway/pairing.py :29 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/api_server.py :57 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/base.py :494 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/bluebubbles.py :586 with open(file_path, "rb") as f:
  • fs dsivov-cohermes-0afd305/gateway/platforms/helpers.py :13 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/qqbot/adapter.py :43 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/qqbot/chunked_upload.py :41 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/signal.py :20 import shutil
  • fs dsivov-cohermes-0afd305/gateway/platforms/webhook_filters.py :9 import shutil
  • fs dsivov-cohermes-0afd305/gateway/platforms/weixin.py :30 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/platforms/whatsapp_cloud.py :51 import shutil
  • fs dsivov-cohermes-0afd305/gateway/platforms/whatsapp_common.py :473 import shutil
  • fs dsivov-cohermes-0afd305/gateway/platforms/yuanbao.py :37 from pathlib import Path
  • fs dsivov-cohermes-0afd305/gateway/readiness.py :5 import shutil
  • fs dsivov-cohermes-0afd305/gateway/rich_sent_store.py :47 with open(path, "r", encoding="utf-8") as fh:
  • fs dsivov-cohermes-0afd305/gateway/session.py :18 from pathlib import Path

shell / exec 23

  • shell dsivov-cohermes-0afd305/agent/anthropic_adapter.py :20 import subprocess
  • shell dsivov-cohermes-0afd305/agent/coding_context.py :58 import subprocess
  • shell dsivov-cohermes-0afd305/agent/context_references.py :9 import subprocess
  • shell dsivov-cohermes-0afd305/agent/copilot_acp_client.py :16 import subprocess
  • shell dsivov-cohermes-0afd305/agent/lsp/install.py :32 import subprocess
  • shell dsivov-cohermes-0afd305/agent/secret_sources/base.py :41 import subprocess
  • shell dsivov-cohermes-0afd305/agent/secret_sources/bitwarden.py :39 import subprocess
  • shell dsivov-cohermes-0afd305/agent/secret_sources/onepassword.py :47 import subprocess
  • shell dsivov-cohermes-0afd305/agent/shell_hooks.py :114 import subprocess
  • shell dsivov-cohermes-0afd305/agent/skill_preprocessing.py :5 import subprocess
  • shell dsivov-cohermes-0afd305/agent/trace_upload.py :161 import subprocess
  • shell dsivov-cohermes-0afd305/agent/transports/codex_app_server.py :22 import subprocess
  • shell dsivov-cohermes-0afd305/batch_runner.py :274 import subprocess as _sp
  • shell dsivov-cohermes-0afd305/cg/auth.py :17 import subprocess
  • shell dsivov-cohermes-0afd305/cg/mcp_server.py :132 import subprocess
  • shell dsivov-cohermes-0afd305/cg/run.py :20 import subprocess
  • shell dsivov-cohermes-0afd305/cg/runner.py :10 import subprocess
  • shell dsivov-cohermes-0afd305/cli.py :1369 the result directly to ``Path``/``subprocess.Popen(cwd=...)`` on
  • shell dsivov-cohermes-0afd305/cron/scheduler.py :20 import subprocess
  • shell dsivov-cohermes-0afd305/gateway/platforms/base.py :16 import subprocess
  • shell dsivov-cohermes-0afd305/gateway/platforms/signal.py :21 import subprocess
  • shell dsivov-cohermes-0afd305/gateway/platforms/webhook.py :41 import subprocess
  • shell dsivov-cohermes-0afd305/gateway/platforms/webhook_filters.py :10 import subprocess

network 51

  • net dsivov-cohermes-0afd305/acp_adapter/server.py :16 from urllib.parse import unquote, urlparse
  • net dsivov-cohermes-0afd305/agent/account_usage.py :9 import httpx
  • net dsivov-cohermes-0afd305/agent/agent_init.py :31 from urllib.parse import urlparse, parse_qs, urlunparse
  • net dsivov-cohermes-0afd305/agent/agent_runtime_helpers.py :1771 # reused on subsequent requests. #10933 hit this by injecting an httpx.Client
  • net dsivov-cohermes-0afd305/agent/anthropic_adapter.py :22 from urllib.parse import urlparse
  • net dsivov-cohermes-0afd305/agent/auxiliary_client.py :56 from urllib.parse import urlparse, parse_qs, urlunparse
  • net dsivov-cohermes-0afd305/agent/azure_identity_adapter.py :442 :func:`build_bearer_http_client` returns an ``httpx.Client`` whose
  • net dsivov-cohermes-0afd305/agent/bounded_response.py :43 import httpx
  • net dsivov-cohermes-0afd305/agent/chat_completion_helpers.py :2268 import httpx as _httpx
  • net dsivov-cohermes-0afd305/agent/codex_runtime.py :1188 import httpx as _httpx
  • net dsivov-cohermes-0afd305/agent/conversation_compression.py :327 from urllib.parse import urlparse
  • net dsivov-cohermes-0afd305/agent/copilot_acp_client.py :457 # Normalise timeout: run_agent.py may pass an httpx.Timeout object
  • net dsivov-cohermes-0afd305/agent/gemini_native_adapter.py :28 import httpx
  • net dsivov-cohermes-0afd305/agent/image_gen_provider.py :291 import requests
  • net dsivov-cohermes-0afd305/agent/lsp/client.py :50 from urllib.parse import quote, unquote
  • net dsivov-cohermes-0afd305/agent/model_metadata.py :15 from urllib.parse import urlparse
  • net dsivov-cohermes-0afd305/agent/models_dev.py :30 import requests
  • net dsivov-cohermes-0afd305/agent/pet/manifest.py :127 import httpx
  • net dsivov-cohermes-0afd305/agent/pet/store.py :315 from urllib.parse import urlparse
  • net dsivov-cohermes-0afd305/agent/process_bootstrap.py :28 import urllib.request
  • net dsivov-cohermes-0afd305/agent/secret_sources/bitwarden.py :42 import urllib.error
  • net dsivov-cohermes-0afd305/agent/subscription_view.py :312 from urllib.parse import urlencode, urlsplit, urlunsplit
  • net dsivov-cohermes-0afd305/agent/video_gen_provider.py :272 import requests
  • net dsivov-cohermes-0afd305/cg/connectors/reviews.py :23 import requests
  • net dsivov-cohermes-0afd305/cg/decisions.py :15 import requests
  • net dsivov-cohermes-0afd305/cg/graph.py :7 import requests
  • net dsivov-cohermes-0afd305/cg/ingest.py :9 import requests
  • net dsivov-cohermes-0afd305/cg/mcp_server.py :108 import requests
  • net dsivov-cohermes-0afd305/cg/onboard_cmd.py :12 import requests
  • net dsivov-cohermes-0afd305/cg/ontology.py :15 import requests
  • net dsivov-cohermes-0afd305/cg/orient.py :9 import requests
  • net dsivov-cohermes-0afd305/cg/preset.py :15 import requests
  • net dsivov-cohermes-0afd305/cli.py :41 from urllib.parse import unquote, urlparse
  • net dsivov-cohermes-0afd305/cron/blueprint_catalog.py :539 from urllib.parse import quote, urlencode
  • net dsivov-cohermes-0afd305/cron/jobs.py :1741 import socket
  • net dsivov-cohermes-0afd305/gateway/kanban_watchers.py :709 from urllib.parse import quote as _quote
  • net dsivov-cohermes-0afd305/gateway/platforms/_http_client_limits.py :4 BlueBubbles, WeCom-callback) keep a persistent ``httpx.AsyncClient``
  • net dsivov-cohermes-0afd305/gateway/platforms/api_server.py :78 from aiohttp import web
  • net dsivov-cohermes-0afd305/gateway/platforms/base.py :15 import socket as _socket
  • net dsivov-cohermes-0afd305/gateway/platforms/bluebubbles.py :20 from urllib.parse import quote
  • net dsivov-cohermes-0afd305/gateway/platforms/msgraph_webhook.py :15 from aiohttp import web
  • net dsivov-cohermes-0afd305/gateway/platforms/qqbot/adapter.py :45 from urllib.parse import urlparse
  • net dsivov-cohermes-0afd305/gateway/platforms/qqbot/chunked_upload.py :207 COS part uploads. Typically wraps ``httpx.AsyncClient.put``.
  • net dsivov-cohermes-0afd305/gateway/platforms/qqbot/onboard.py :22 from urllib.parse import quote
  • net dsivov-cohermes-0afd305/gateway/platforms/signal.py :29 from urllib.parse import quote, unquote
  • net dsivov-cohermes-0afd305/gateway/platforms/webhook.py :48 from aiohttp import web
  • net dsivov-cohermes-0afd305/gateway/platforms/weixin.py :32 from urllib.parse import quote, urlparse
  • net dsivov-cohermes-0afd305/gateway/platforms/whatsapp_cloud.py :58 from aiohttp import web
  • net dsivov-cohermes-0afd305/gateway/platforms/yuanbao.py :33 import urllib.parse
  • net dsivov-cohermes-0afd305/gateway/platforms/yuanbao_media.py :27 import urllib.parse
  • net dsivov-cohermes-0afd305/gateway/relay/__init__.py :391 import urllib.error

secrets 11

  • secrets dsivov-cohermes-0afd305/agent/anthropic_adapter.py :1297 token = os.getenv("ANTHROPIC_TOKEN", "").strip()
  • secrets dsivov-cohermes-0afd305/agent/auxiliary_client.py :2054 or_key = explicit_api_key or os.getenv("OPENROUTER_API_KEY")
  • secrets dsivov-cohermes-0afd305/agent/azure_identity_adapter.py :374 and os.environ.get("AZURE_CLIENT_SECRET", "").strip()
  • secrets dsivov-cohermes-0afd305/agent/chat_completion_helpers.py :1518 fb_api_key_hint = os.getenv("OLLAMA_API_KEY") or None
  • secrets dsivov-cohermes-0afd305/agent/vertex_adapter.py :143 if is_multiplex_active() and os.environ.get("GOOGLE_APPLICATION_CREDENTIALS"):
  • secrets dsivov-cohermes-0afd305/cg/connectors/reviews.py :82 self.token = token or os.environ.get("GITHUB_TOKEN")
  • secrets dsivov-cohermes-0afd305/cli.py :3886 self.api_key = api_key or os.getenv("OPENROUTER_API_KEY") or os.getenv("OPENAI_API_KEY")
  • secrets dsivov-cohermes-0afd305/gateway/platforms/api_server.py :948 self._api_key: str = extra.get("key", os.getenv("API_SERVER_KEY", ""))
  • secrets dsivov-cohermes-0afd305/gateway/platforms/bluebubbles.py :128 self.password = extra.get("password") or os.getenv("BLUEBUBBLES_PASSWORD", "")
  • secrets dsivov-cohermes-0afd305/gateway/platforms/qqbot/adapter.py :206 extra.get("client_secret") or os.getenv("QQ_CLIENT_SECRET", "")
  • secrets dsivov-cohermes-0afd305/gateway/relay/__init__.py :136 secret = os.environ.get("GATEWAY_RELAY_SECRET", "").strip()

database 7

  • db dsivov-cohermes-0afd305/agent/context_compressor.py :22 import sqlite3
  • db dsivov-cohermes-0afd305/agent/insights.py :20 import sqlite3
  • db dsivov-cohermes-0afd305/agent/verification_evidence.py :13 import sqlite3
  • db dsivov-cohermes-0afd305/cron/executions.py :12 import sqlite3
  • db dsivov-cohermes-0afd305/gateway/kanban_watchers.py :16 import sqlite3
  • db dsivov-cohermes-0afd305/gateway/platforms/api_server.py :53 import sqlite3
  • db dsivov-cohermes-0afd305/gateway/readiness.py :6 import sqlite3

tool registrations 22

  • orient dsivov-cohermes-0afd305/cg/mcp_server.py :19
  • record_decision dsivov-cohermes-0afd305/cg/mcp_server.py :28
  • record_task dsivov-cohermes-0afd305/cg/mcp_server.py :42
  • record_commit dsivov-cohermes-0afd305/cg/mcp_server.py :49
  • record_review dsivov-cohermes-0afd305/cg/mcp_server.py :56
  • link dsivov-cohermes-0afd305/cg/mcp_server.py :65
  • ingest_context dsivov-cohermes-0afd305/cg/mcp_server.py :79
  • record_learning dsivov-cohermes-0afd305/cg/mcp_server.py :89
  • ask_claude dsivov-cohermes-0afd305/cg/mcp_server.py :173
  • delegate_claude dsivov-cohermes-0afd305/cg/mcp_server.py :205
  • check_claude dsivov-cohermes-0afd305/cg/mcp_server.py :287
  • whoami dsivov-cohermes-0afd305/cg/mcp_server.py :313
  • conversations_list dsivov-cohermes-0afd305/mcp_serve.py :564
  • conversation_get dsivov-cohermes-0afd305/mcp_serve.py :621
  • messages_read dsivov-cohermes-0afd305/mcp_serve.py :654
  • attachments_fetch dsivov-cohermes-0afd305/mcp_serve.py :711
  • events_poll dsivov-cohermes-0afd305/mcp_serve.py :763
  • events_wait dsivov-cohermes-0afd305/mcp_serve.py :792
  • messages_send dsivov-cohermes-0afd305/mcp_serve.py :826
  • channels_list dsivov-cohermes-0afd305/mcp_serve.py :862
  • permissions_list_open dsivov-cohermes-0afd305/mcp_serve.py :916
  • permissions_respond dsivov-cohermes-0afd305/mcp_serve.py :932

install hooks 1

  • setup.py dsivov-cohermes-0afd305/setup.py :79 cmdclass={

declared dependencies 67

  • mcp@==1.26.0
  • openai@==2.24.0
  • certifi@==2026.5.20
  • python-dotenv@==1.2.2
  • fire@==0.7.1
  • anthropic@==0.87.0
  • exa-py@==2.10.2
  • firecrawl-py@==4.17.0
  • parallel-web@==0.4.2
  • fal-client@==0.13.1
  • edge-tts@==7.2.7
  • modal@==1.3.4
  • daytona@==0.155.0
  • hindsight-client@==0.6.1
  • debugpy@==1.8.20
  • pytest@==9.0.2
  • pytest-asyncio@==1.3.0
  • starlette@==1.0.1
  • ty@==0.0.21
  • ruff@==0.15.10
  • setuptools@==81.0.0
  • slack-bolt@==1.29.0
  • slack-sdk@==3.43.0
  • aiohttp@==3.14.1
  • defusedxml@==0.7.1
  • simple-term-menu@==1.6.6
  • elevenlabs@==1.59.0
  • faster-whisper@==1.2.1
  • sounddevice@==0.5.5
  • numpy@==2.4.3
  • honcho-ai@==2.2.0
  • supermemory@==3.50.0
  • mem0ai@==2.0.10
  • nemo-relay@>=0.5,<1.0
  • microsoft-teams-apps@==2.0.13.4
  • agent-client-protocol@==0.9.0
  • mistralai@==2.4.8
  • boto3@==1.42.89
  • google-auth@==2.55.1
  • azure-identity@==1.25.3
  • install@all
  • dingtalk-stream@==0.24.3
  • alibabacloud-dingtalk@==2.2.42
  • qrcode@==7.4.2
  • lark-oapi@==1.6.8
  • youtube-transcript-api@==1.2.4
  • fastapi@==0.133.1
  • tauri-build@2
  • tauri@2
  • tauri-plugin-dialog@2
  • tauri-plugin-opener@2
  • tauri-plugin-process@2
  • tauri-plugin-shell@2
  • tokio@1
  • futures@0.3
  • serde@1
  • serde_json@1
  • reqwest@0.12
  • tracing@0.1
  • tracing-subscriber@0.3
  • tracing-appender@0.2
  • dirs@5
  • which@6
  • anyhow@1
  • thiserror@1
  • once_cell@1
  • uuid@1

clipboard 2

  • clipboard shell call dsivov-cohermes-0afd305/hermes_cli/clipboard.py :335 ["wl-paste", "--list-types"],
  • clipboard shell call dsivov-cohermes-0afd305/tests/tools/test_clipboard.py :540 side_effect=subprocess.TimeoutExpired("xclip", 3)):

transport_posture 6

  • network-listening, binds all interfaces, no auth detected dsivov-cohermes-0afd305/tests/gateway/test_msgraph_webhook.py :103 adapter = _make_adapter(host="0.0.0.0", port=0, allowed_source_cidrs=[])
  • network-listening, binds all interfaces, no auth detected dsivov-cohermes-0afd305/tests/gateway/test_webhook_adapter.py :49 host="0.0.0.0",
  • binds all interfaces (0.0.0.0) dsivov-cohermes-0afd305/tests/hermes_cli/test_dashboard_auth_gate.py :191 host="0.0.0.0", port=9119,
  • network-listening, binds all interfaces, no auth detected dsivov-cohermes-0afd305/tests/test_web_server.py :112 web_server.start_server(host="0.0.0.0", port=0, open_browser=False)
  • punycode (IDN homograph) host in endpoint dsivov-cohermes-0afd305/tests/tools/test_cron_approval_mode.py :242 result = check_all_command_guards("curl http://xn--e1afmkfd.example/x", "local")
  • punycode (IDN homograph) host in endpoint dsivov-cohermes-0afd305/tests/tools/test_url_safety.py :43 == "https://xn--mnich-kva.example/K%C3%B6ln"