Commit graph

2666 commits

Author SHA1 Message Date
4852345bf6 add new tool: to_captcha 2026-05-17 01:03:55 +03:00
8f86dbbdac Merge pull request 'add optimization to browser-use' (#18) from feature/browser-use-optimization into main
All checks were successful
Deploy to BrowserUse VPS / deploy (push) Successful in 3s
Reviewed-on: #18
2026-05-04 21:39:45 +00:00
f3149503e3 Merge pull request 'update ci/cd config' (#17) from hotfix/fix-ci/cd into main
All checks were successful
Deploy to BrowserUse VPS / deploy (push) Successful in 2s
Reviewed-on: #17
2026-04-28 21:56:39 +00:00
0a2d44bca8 update ci/cd config 2026-04-29 00:56:09 +03:00
e73e10e2b4 Merge pull request 'feature/api-for-subagent' (#16) from feature/api-for-subagent into main
Reviewed-on: #16
2026-04-28 21:46:59 +00:00
e05c9479e5 Merge branch 'feature/api-subagent-browser-isolation'
# Conflicts:
#	README.md
2026-04-29 00:41:42 +03:00
c3bbd925b0 Trigger VPS deployment workflow
All checks were successful
Deploy to BrowserUse VPS / deploy (push) Successful in 3s
2026-04-28 18:38:19 +03:00
5419746b3d Fix browser view nginx regex locations
All checks were successful
Deploy to BrowserUse VPS / deploy (push) Successful in 2s
2026-04-28 18:23:11 +03:00
6e94cc07c3 Merge browser runtime deployment changes
Some checks are pending
Deploy to BrowserUse VPS / deploy (push) Waiting to run
2026-04-28 18:16:57 +03:00
df7e4de7f9 Add VPS deployment workflow 2026-04-28 18:16:41 +03:00
280247e1e5 Integrate per-user browser runtimes into subagent API 2026-04-27 22:06:57 +03:00
952b2e7d17 update api for subagent protocol and delete hermes agent 2026-04-25 01:39:02 +03:00
ff1799cd98 Merge pull request 'add history endpoint' (#13) from feature/api-history-response into develop
Reviewed-on: #13
2026-04-22 12:16:46 +00:00
fb7ab50de6 add history endpoint 2026-04-22 15:08:27 +03:00
Максим Туревич
365ab8dd79 tests add for api 2026-04-22 03:46:17 +03:00
5aeb26b222 add optimization to browser-use 2026-04-19 01:43:08 +03:00
Максим Туревич
50589232d6 Merge branch 'feature/browser-use-api' into develop
# Conflicts:
#	.env.example
#	browser_env/entrypoint.sh
#	docker-compose.yml
#	hermes_code/tools/browser_use_tool.py
2026-04-13 21:58:55 +03:00
7f197fde37 Merge pull request 'enable vision' (#10) from hotfix/enable-vision into feature/browser-use-api
Reviewed-on: #10
2026-04-07 21:33:13 +00:00
Кобылкевич Фёдор
50572296be enable vision 2026-04-08 00:31:42 +03:00
Кобылкевич Фёдор
6821522ea3 change architecture and swap from httpx to aiohttp 2026-04-07 22:49:27 +03:00
Кобылкевич Фёдор
7a76d1e21a change architecture and swap from httpx to aiohttp 2026-04-07 22:49:06 +03:00
Кобылкевич Фёдор
eca29af5e1 add descriptions in schemas.py 2026-04-07 22:08:33 +03:00
Кобылкевич Фёдор
d277955a9a add api for post browser-use tasks 2026-04-07 22:01:53 +03:00
Кобылкевич Фёдор
37f6303992 Merge branch 'feature/telegram-browser-integration' into develop
# Conflicts:
#	.gitignore
#	README.md
2026-04-06 23:16:01 +03:00
Кобылкевич Фёдор
890d492de0 add schemas and swap browser_use_runner in docker with browser and now agent use skill from the other container 2026-04-06 23:08:03 +03:00
e2a1b93f60 some changes 2026-04-04 13:41:01 +03:00
Максим Туревич
bb5ce8e762 Merge remote-tracking branch 'origin/feature/telegram-browser-integration' into feature/telegram-browser-integration 2026-04-03 17:58:36 +03:00
Максим Туревич
aecb7775e2 browser tool edit 2026-04-03 17:56:53 +03:00
Кобылкевич Фёдор
480dfcd36e add healthcheck 2026-04-02 12:00:06 +03:00
Кобылкевич Фёдор
9432abee65 edit entrypoint.sh 2026-04-02 11:55:18 +03:00
Кобылкевич Фёдор
b388d9fab3 update entrypoint and makes profile for remote setup in docker-compose.yml 2026-04-02 09:22:22 +03:00
Максим Туревич
e8117a486f readme edit 2026-04-01 01:58:26 +03:00
Максим Туревич
6b85aa5175 readme edit 2026-04-01 01:57:57 +03:00
Тимошенко Артём
cfb98a58b6 edit Docker compose 2026-04-01 00:33:26 +03:00
Тимошенко Артём
efa7a5b6fc edit tunnel in docker compose 2026-04-01 00:04:38 +03:00
Тимошенко Артём
ded3c0cc18 edit tunnel in docker compose 2026-03-31 23:58:44 +03:00
a01257ead9 The architecture has been updated 2026-03-31 23:31:36 +03:00
805f7a017e new Dockerfile, successfully integrated user interface browser, novnc 2026-03-31 02:00:58 +03:00
de15e349ca edit Dockerfile, add new dependencies for new browser use tool 2026-03-29 21:26:58 +03:00
9406d26afd the agent and browser are now running in docker 2026-03-27 01:05:42 +03:00
c0b3dd4fb9 edit Dockerfile, docker compose 2026-03-26 12:59:32 +03:00
d4534ccc29 edit Dockerfile, docker-compose.yml, .dockerignore 2026-03-25 16:23:28 +03:00
2261cbf1a0 Add Dockerfile, docker-compose.yml, .dockerignore 2026-03-25 15:20:14 +03:00
Teknium
481915587e
fix: update context pressure warnings and token estimates after compaction
Reset context pressure warnings and update last_prompt_tokens and last_completion_tokens in the context compressor to prevent stale values from causing excessive warnings and re-triggering compression. This change ensures accurate pressure calculations following the compaction process.
2026-03-24 09:25:10 -07:00
Teknium
0b993c1e07
docs: quote pip install extras to fix zsh glob errors (#2815)
zsh interprets square brackets as glob patterns, so
`pip install hermes-agent[voice]` fails with 'no matches found'.
Quote all pip install commands with extras across 5 docs pages (12 instances).

Reported by OFumik0OP.
2026-03-24 09:25:01 -07:00
Teknium
9718334962
docs: fix api-server response storage — SQLite, not in-memory (#2819)
* docs: update all docs for /model command overhaul and custom provider support

Documents the full /model command overhaul across 6 files:

AGENTS.md:
- Add model_switch.py to project structure tree

configuration.md:
- Rewrite General Setup with 3 config methods (interactive, config.yaml, env vars)
- Add new 'Switching Models with /model' section documenting all syntax variants
- Add 'Named Custom Providers' section with config.yaml examples and
  custom:name:model triple syntax

slash-commands.md:
- Update /model descriptions in both CLI and messaging tables with
  full syntax examples (provider:model, custom:model, custom:name:model,
  bare custom auto-detect)

cli-commands.md:
- Add /model slash command subsection under hermes model with syntax table
- Add custom endpoint config to hermes model use cases

faq.md:
- Add config.yaml example for offline/local model setup
- Note that provider: custom is a first-class provider
- Document /model custom auto-detect

provider-runtime.md:
- Add model_switch.py to implementation file list
- Update provider families to show Custom as first-class with named variants

* docs: fix api-server response storage description — SQLite, not in-memory

The ResponseStore class uses SQLite persistence (with in-memory
fallback), not pure in-memory storage. Responses survive gateway
restarts.
2026-03-24 09:05:15 -07:00
Teknium
ebcb81b649
docs: document 9 previously undocumented features
New documentation for features that existed in code but had no docs:

New page:
- context-references.md: Full docs for @-syntax inline context
  injection (@file:, @folder:, @diff, @staged, @git:, @url:) with
  line ranges, CLI autocomplete, size limits, sensitive path blocking,
  and error handling

configuration.md additions:
- Environment variable substitution: ${VAR_NAME} syntax in config.yaml
  with expansion, fallback, and multi-reference support
- Gateway streaming: Progressive token delivery on messaging platforms
  via message editing (StreamingConfig: enabled, transport, edit_interval,
  buffer_threshold, cursor) with platform support matrix
- Web search backends: Three providers (Firecrawl, Parallel, Tavily)
  with web.backend config key, capability matrix, auto-detection from
  API keys, self-hosted Firecrawl, and Parallel search modes

security.md additions:
- SSRF protection: Always-on URL validation blocking private networks,
  loopback, link-local, CGNAT, cloud metadata hostnames, with
  fail-closed DNS and redirect chain re-validation
- Tirith pre-exec security scanning: Content-level command scanning
  for homograph URLs, pipe-to-interpreter, terminal injection with
  auto-install, SHA-256/cosign verification, config options, and
  fail-open/fail-closed modes

sessions.md addition:
- Auto-generated session titles: Background LLM-powered title
  generation after first exchange

creating-skills.md additions:
- Conditional skill activation: requires_toolsets, requires_tools,
  fallback_for_toolsets, fallback_for_tools frontmatter fields with
  matching logic and use cases
- Environment variable requirements: required_environment_variables
  frontmatter for automatic env passthrough to sandboxed execution,
  plus terminal.env_passthrough user config
2026-03-24 08:56:21 -07:00
Teknium
ac5b8a478a
ci: add supply chain audit workflow for PR scanning (#2816)
Scans every PR diff for patterns associated with supply chain attacks:

CRITICAL (blocks merge):
- .pth files (auto-execute on Python startup — litellm attack vector)
- base64 decode + exec/eval combo (obfuscated payload execution)
- subprocess with encoded/obfuscated commands

WARNING (comment only, no block):
- base64 encode/decode alone (legitimate uses: images, JWT, etc.)
- exec/eval alone
- Outbound POST/PUT requests
- setup.py/sitecustomize.py/usercustomize.py changes
- marshal.loads/pickle.loads/compile()

Posts a detailed comment on the PR with matched lines and context.
Excludes lockfiles (uv.lock, package-lock.json) from scanning.

Motivated by the litellm 1.82.7/1.82.8 credential stealer attack
(BerriAI/litellm#24512).
2026-03-24 08:56:04 -07:00
Teknium
624e4a8e7a
chore: regenerate uv.lock with hashes, use lockfile in setup (#2812)
- Regenerate uv.lock with sha256 hashes for all 2965 package artifacts
- Add python_version marker to yc-bench (requires >=3.12)
- Update setup-hermes.sh to prefer 'uv sync --locked' for hash-verified
  installs, with fallback to 'uv pip install' when lockfile is stale

This completes the supply chain hardening: pyproject.toml bounds the
version ranges, and uv.lock pins exact versions with cryptographic
hashes so tampered packages are rejected at install time.
2026-03-24 08:42:45 -07:00
Teknium
177e43259f
refactor: update mini_swe_runner to use Hermes built-in backends
Replace all minisweagent imports with Hermes-Agent's own environment
classes (LocalEnvironment, DockerEnvironment, ModalEnvironment).

mini_swe_runner.py no longer has any dependency on mini-swe-agent.
The runner now uses the same backends as the terminal tool, so Docker
and Modal environments work out of the box without extra submodules.

Tested: local and Docker backends verified working through the runner.
2026-03-24 08:27:15 -07:00