Commit graph

372 commits

Author SHA1 Message Date
STJ
57ddce161f slim down cdp functionality 2026-04-01 13:49:30 -07:00
STJ
b434d87601 remove docker entrypoint slop 2026-04-01 13:49:30 -07:00
STJ
c4c953ed32 remove upload files 2026-04-01 13:49:30 -07:00
STJ
d5344ade75 simplify actions, remove ones that cannot be used 2026-04-01 13:49:30 -07:00
STJ
f91c9ef62e important notes 2026-04-01 13:49:30 -07:00
STJ
1ffcbcf9d3 slim down browser-manager 2026-04-01 13:49:30 -07:00
STJ
e461905ab9 prevent browseruse from killing cdp connection 2026-04-01 13:49:30 -07:00
STJ
f35f287dff Update docker_runtime.py 2026-04-01 13:49:30 -07:00
STJ
26a55865a6 qol on chat browser 2026-04-01 13:49:30 -07:00
STJ
b6695cd2e1 remove slop comments 2026-04-01 13:49:30 -07:00
STJ
d9d6fb2e42 metadata + cleanup some actions 2026-04-01 13:49:30 -07:00
STJ
9836e3fc84 streamline into tool-server 2026-04-01 13:49:30 -07:00
STJ
3718943134 qol 2026-04-01 13:49:30 -07:00
STJ
4c2b368976 small changes (QOL) 2026-04-01 13:49:30 -07:00
STJ
79890b760e Update renderer 2026-04-01 13:49:30 -07:00
STJ
f3bb25919c refactor 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
550690ee30 remove built-in llm, use langchain 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
9fc09e86a4 fix: improve support for non-vision models 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
f99b7ebd4f Refines browser state handling and healthcheck
Enhances browser command robustness by gracefully handling cases where
the DOM state is not yet available, returning an informative error
instead of asserting.

Updates the container healthcheck to directly probe Chromium's internal
CDP port, simplifying the check by removing previous indirection.
2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
bbf6e08bab debug: disable 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
0e4307d625 harden: authentication for cdp 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
428ae57e59 fix greptile 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
d8b2a18425 simplify entrypoint 2026-04-01 13:49:30 -07:00
Shanyu Thibaut Juneja
b880ed454c feat: browser-use tool initial migration 2026-04-01 13:49:30 -07:00
STJ
38b2700553
feat: Migrate from Poetry to uv (#379) 2026-03-31 17:20:41 -07:00
alex s
e78c931e4e
feat: Better source-aware testing (#391) 2026-03-31 11:53:49 -07:00
0xallam
7d5a45deaf chore: bump version to 0.8.3 2026-03-22 22:10:17 -07:00
0xallam
dec2c47145 fix: use anthropic model in anthropic provider docs example 2026-03-22 22:08:20 -07:00
0xallam
4f90a5621d fix: strengthen tool-call requirement in interactive and autonomous modes
Models occasionally output text-only narration ("Planning the
assessment...") without a tool call, which halts the interactive agent
loop since the system interprets no-tool-call as "waiting for user
input." Rewrite both interactive and autonomous prompt sections to make
the tool-call requirement absolute with explicit warnings about the
system halt consequence.
2026-03-22 22:08:20 -07:00
0xallam
640bd67bc2 chore: bump sandbox image to 0.1.13
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 22:08:20 -07:00
0xallam
4e836377e7 refine system prompt, add scope verification, and improve tool guidance
- Rewrite system prompt: refusal avoidance, system-verified scope, thorough
  validation mandate, root agent orchestration role, recon-first guidance
- Add authorized targets injection via system_prompt_context in strix_agent
- Add set_system_prompt_context to LLM for dynamic prompt updates
- Prefer python tool over terminal for Python code in tool schemas
- Increase LLM retry backoff cap to 90s
- Replace models.strix.ai footer with strix.ai

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 22:08:20 -07:00
0xallam
a2f1aae5ed chore: update default model to gpt-5.4 and remove Strix Router from docs
- Change default model from gpt-5 to gpt-5.4 across docs, tests, and examples
- Remove Strix Router references from docs, quickstart, overview, and README
- Delete models.mdx (Strix Router page) and its nav entry
- Simplify install script to suggest openai/ prefix directly
- Keep strix/ model routing support intact in code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 22:08:20 -07:00
Ahmed Allam
b6a0a949a3 Simplify tool file copying in Dockerfile
Removed specific tool files from Dockerfile and added a directory copy instead.
2026-03-22 16:01:39 -07:00
0xallam
c9d2477144 fix: address review feedback on tool registration gating 2026-03-19 23:50:57 -07:00
0xallam
8765b1895c refactor: move tool availability checks into registration 2026-03-19 23:50:57 -07:00
Ahmed Allam
31d8a09c95
Guard TUI chat rendering against invalid Rich spans (#375) 2026-03-19 22:28:42 -07:00
Ahmed Allam
9a0bc5e491
fix: prevent ScreenStackError when stopping agent from modal (#374) 2026-03-19 20:39:05 -07:00
alex s
86341597c1
feat: add skills for specific tools (#366)
Co-authored-by: 0xallam <ahmed39652003@gmail.com>
2026-03-19 16:47:29 -07:00
Ahmed Allam
f0f8f3d4cc Add tip about Strix integration with GitHub Actions 2026-03-17 22:14:11 -07:00
0xallam
1404864097 feat: add interactive mode for agent loop
Re-architects the agent loop to support interactive (chat-like) mode
where text-only responses pause execution and wait for user input,
while tool-call responses continue looping autonomously.

- Add `interactive` flag to LLMConfig (default False, no regression)
- Add configurable `waiting_timeout` to AgentState (0 = disabled)
- _process_iteration returns None for text-only → agent_loop pauses
- Conditional system prompt: interactive allows natural text responses
- Skip <meta>Continue the task.</meta> injection in interactive mode
- Sub-agents inherit interactive from parent (300s auto-resume timeout)
- Root interactive agents wait indefinitely for user input (timeout=0)
- TUI sets interactive=True; CLI unchanged (non_interactive=True)
2026-03-14 11:57:58 -07:00
0xallam
7dde988efc fix: web_search tool not loading when API key is in config file
The perplexity API key check in strix/tools/__init__.py used
Config.get() which only checks os.environ. At import time, the
config file (~/.strix/cli-config.json) hasn't been applied to
env vars yet, so the check always returned False.

Replace with _has_perplexity_api() that checks os.environ first
(fast path for SaaS/env var), then falls back to Config.load()
which reads the config file directly.
2026-03-14 11:48:45 -07:00
Ahmed Allam
f71e34dd0f Update web search model name to 'sonar-reasoning-pro' 2026-03-11 14:20:04 -07:00
Alex
f860b2f8e2 Change VERTEXAI_LOCATION from 'us-central1' to 'global'
us-central1 doesn't have access to the latest gemini models like gemini-3-flash-preview
2026-03-11 08:08:18 -07:00
alex s
a60cb4b66c
Add OpenTelemetry observability with local JSONL traces (#347)
Co-authored-by: 0xallam <ahmed39652003@gmail.com>
2026-03-09 01:11:24 -07:00
dependabot[bot]
048be1fe59
chore(deps): bump pypdf from 6.7.4 to 6.7.5 (#343) 2026-03-08 09:46:32 -07:00
Ms6RB
672a668ecf
feat(skills): add NestJS security testing module (#348) 2026-03-08 09:45:08 -07:00
dependabot[bot]
3c6fccca74 chore(deps): bump pypdf from 6.7.2 to 6.7.4
Bumps [pypdf](https://github.com/py-pdf/pypdf) from 6.7.2 to 6.7.4.
- [Release notes](https://github.com/py-pdf/pypdf/releases)
- [Changelog](https://github.com/py-pdf/pypdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/py-pdf/pypdf/compare/6.7.2...6.7.4)

---
updated-dependencies:
- dependency-name: pypdf
  dependency-version: 6.7.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 15:34:01 -08:00
Ahmed Allam
72c3e0dd90
Update README 2026-03-03 03:33:46 +04:00
Ahmed Allam
d30e1d2f66
Update models.mdx 2026-03-03 03:33:14 +04:00
octovimmer
3e8a5c64bb chore: remove references of codex models 2026-03-02 15:29:29 -08:00