Skip to main content

Hermes Tweet: X Search, Timelines, Followers & Actions for AI Agents

OpenSSF Best Practices CI PyPI

Add native Xquik tools to Hermes Agent.

Hermes Tweet includes:

  • 102 agent-callable Xquik endpoints, generated from OpenAPI.
  • 33 prepaid read endpoints, including 7 direct MPP routes.
  • Separate read and action tools.
  • Actions disabled by default.
  • A bundled Hermes Skill and 2 slash commands.

Choose Hermes Tweet

Choose this plugin when Hermes needs catalog-guided Xquik tools. It separates discovery, reads, and confirmed actions. Use an SDK for application code outside Hermes.

Install

Install and enable the plugin:

hermes plugins install Xquik-dev/hermes-tweet --enable

Or install the PyPI package into Hermes:

uv pip install --python ~/.hermes/hermes-agent/venv/bin/python hermes-tweet
hermes plugins enable hermes-tweet

Install a local checkout:

hermes plugins install file:///absolute/path/to/hermes-tweet --force --enable

Configure

Create an API key in Xquik. Then set:

export XQUIK_API_KEY="xq_..."

Optional settings:

export XQUIK_BASE_URL="https://xquik.com"
export HERMES_TWEET_ENABLE_ACTIONS="false"

Restart Hermes after changing environment variables.

Tools

Tool Purpose
tweet_explore Search the bundled catalog. Makes no API call.
tweet_read Call catalog-listed read endpoints.
tweet_action Call private or mutating endpoints. Disabled by default.

Use tweet_explore first. Then pass a listed /api/v1/... path to the matching tool.

Copied Xquik URLs work when their paths match the catalog.

Common Agent Tasks

Start with tweet_explore. Invoke only the path returned by the catalog.

Customer Question Catalog Query Live Tool
How can an agent search X posts? search tweets by query tweet_read
How can an agent read profile timelines? list recent tweets posted by a user tweet_read
How can an agent export followers? run extraction tweet_action
How can an agent export following accounts? run extraction tweet_action
How can an agent monitor an account? create monitor tweet_action
How can an agent post or reply? create tweet tweet_action

Set include_actions for extraction, monitoring, and writing searches. tweet_action always follows the approval rules below.

Safety

  • Tools never accept credentials as arguments.
  • The plugin injects XQUIK_API_KEY at request time.
  • Admin, billing, credit, support, guest-wallet, and API-key routes stay hidden.
  • Account re-authentication routes stay hidden.
  • Binary downloads stay outside the agent catalog. Use REST for those files.
  • Private reads and mutations use tweet_action.
  • tweet_action requires HERMES_TWEET_ENABLE_ACTIONS=true.

Without an API key, Hermes exposes only tweet_explore.

Slash Commands

Command Purpose
/xstatus Show Xquik account and usage status.
/xtrends Show current X trends.

Develop

Regenerate the catalog from the canonical OpenAPI schema:

python scripts/build_catalog.py ../xquik/openapi.yaml

Run all checks:

uv run --python 3.12 --group dev ruff format --check .
uv run --python 3.12 --group dev ruff check .
uv run --python 3.12 --group dev basedpyright
uv run --python 3.12 --group dev pytest --cov=hermes_tweet --cov=tests --cov-report=term-missing --cov-fail-under=100
uv run --python 3.12 --group dev bandit -c pyproject.toml -r hermes_tweet scripts fuzz
uv run --python 3.12 --group dev pip-audit
uv run --python 3.12 --group dev bash scripts/check_reproducible.sh
uv run --python 3.12 --group dev python -m build
uv run --python 3.12 --group dev twine check dist/*

Links

License

MIT

Xquik is an independent third-party service. Not affiliated with X Corp. "Twitter" and "X" are trademarks of X Corp.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_tweet-0.1.12.tar.gz (150.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_tweet-0.1.12-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

Details for the file hermes_tweet-0.1.12.tar.gz.

File metadata

  • Download URL: hermes_tweet-0.1.12.tar.gz
  • Upload date:
  • Size: 150.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hermes_tweet-0.1.12.tar.gz
Algorithm Hash digest
SHA256 04662da217a5ab3d8cb7c208b5863475cc6b36dac3ccf2d048366a7e018ae66e
MD5 838fccdf4f1d44ac5c365dafe1a0f81b
BLAKE2b-256 c56e8b339f71cd6ccbb2d77e7b2d976e0329c2a40e0b32d2a06e22f6c0dd3c0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hermes_tweet-0.1.12.tar.gz:

Publisher: publish.yml on Xquik-dev/hermes-tweet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hermes_tweet-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: hermes_tweet-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 32.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hermes_tweet-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 da127fb44911b119394ea976f9f5cec1388f6f931686da3266b83474443be03f
MD5 8d42a517abfbd482e115e9e37b7081de
BLAKE2b-256 a2948c125e3d2e26012ab6b7bd02d953e3d92247a8e16b62fff6c1a795d7a3eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for hermes_tweet-0.1.12-py3-none-any.whl:

Publisher: publish.yml on Xquik-dev/hermes-tweet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.13

2 files

This release

0.1.12 This release

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page