Commit Graph
273 Commits
Author SHA1 Message Date
0xallam ea1929e4e0 chore: bump version to 0.7.0 2026-01-23 11:06:29 -08:00
Ahmed AllamandGitHub a0224dabe8 Update README with full details section 2026-01-23 23:05:26 +04:00
0xallamandAhmed Allam de54f0065a docs: add benchmarks directory with XBEN results 2026-01-23 11:04:22 -08:00
Ahmed AllamandGitHub 18c4761082 Update README 2026-01-23 06:56:10 +04:00
Ahmed AllamandGitHub 6950bed1a4 Update README 2026-01-23 06:55:35 +04:00
0xallam a4491f8d40 docs: update screenshot and add to intro page 2026-01-22 13:09:45 -08:00
0xallam 7a2d38ef26 chore: unify token stats color scheme 2026-01-22 11:37:21 -08:00
0xallam 26b4d35bc1 chore: improve stats panel layout 2026-01-22 11:17:32 -08:00
0xallamandAhmed Allam baaa203d4e docs: update Discord links 2026-01-21 20:27:28 -08:00
0xallamandAhmed Allam fcad507f5f docs: improve introduction page with use cases, tools, and architecture 2026-01-21 20:27:28 -08:00
0xallam 53e077ec68 docs: remove custom Docker image example from config 2026-01-21 15:35:26 -08:00
0xallamandAhmed Allam 498557ccbc docs: update configuration documentation
- Add missing config options: STRIX_LLM_MAX_RETRIES, STRIX_MEMORY_COMPRESSOR_TIMEOUT, STRIX_TELEMETRY
- Remove non-existent options: LLM_RATE_LIMIT_DELAY, LLM_RATE_LIMIT_CONCURRENT
- Fix defaults: STRIX_SANDBOX_EXECUTION_TIMEOUT (500 -> 120), STRIX_IMAGE (0.1.10 -> 0.1.11)
- Add config file documentation section
- Add --config CLI option to cli.mdx
2026-01-21 15:13:15 -08:00
0xallamandAhmed Allam ad13209dda docs: update skills documentation for markdown format
Reflect PR #275 changes - skills now use Markdown files with YAML
frontmatter instead of Jinja templates with XML-style tags.
2026-01-21 14:54:09 -08:00
0xallamandAhmed Allam bf03da7f84 docs: add documentation to main repository 2026-01-20 21:13:32 -08:00
0xallamandAhmed Allam 84a3761582 fix(llm): collect usage stats from final stream chunk
The early break on </function> prevented receiving the final chunk
that contains token usage data (input_tokens, output_tokens).
2026-01-20 20:36:00 -08:00
b453a96cae refactor: simplify --config implementation to reuse existing config system
- Reuse apply_saved() instead of custom override logic
- Add force parameter to override existing env vars
- Move validation to utils.py
- Prevent saving when using custom config (one-time override)
- Fix: don't modify ~/.strix/cli-config.json when --config is used

Co-Authored-By: FeedClogger <feedclogger@users.noreply.github.com>
2026-01-20 17:02:29 -08:00
FeedCloggerandAhmed Allam 2f58b02218 Added .env variable override through --config param 2026-01-20 17:02:29 -08:00
0xallam 1cee6270bf chore: update Discord invite link 2026-01-20 12:58:14 -08:00
0xallamandAhmed Allam 16b868f6f1 docs: update skills README for markdown format 2026-01-20 12:50:59 -08:00
0xallamandAhmed Allam 8767418326 refactor: standardize vulnerability skills format 2026-01-20 12:50:59 -08:00
0xallamandAhmed Allam 3e73d8a81c fix: remove icon from ListFilesRenderer 2026-01-20 12:50:59 -08:00
0xallamandAhmed Allam b11ef9efb6 fix: exclude scan_modes and coordination from available skills 2026-01-20 12:50:59 -08:00
0xallamandAhmed Allam 62a2085a23 refactor: migrate skills from Jinja to Markdown 2026-01-20 12:50:59 -08:00
0xallam eeaec4705c fix: remove unintended margin from stats panel 2026-01-19 21:48:56 -08:00
0xallam 7cfb2e9cf9 refactor: improve stats panel styling and add version display 2026-01-19 21:46:13 -08:00
0xallam c2254a2fed refactor: update agent tree status indicators 2026-01-19 21:23:29 -08:00
0xallamandAhmed Allam da3c38e8bc feat: remove docker container on shutdown
Add automatic cleanup of Docker containers when the application exits.
Uses a singleton runtime pattern and spawns a detached subprocess for
cleanup to ensure fast exit without blocking the UI.
2026-01-19 18:26:41 -08:00
0xallamandAhmed Allam c7b016d726 refactor: redesign finished dialogs and UI elements 2026-01-19 16:52:02 -08:00
0xallamandAhmed Allam e876a074b2 refactor: revamp proxy tool renderers for better UX
- Show actual request/response data with visual flow (>> / <<)
- Display all relevant params: filters, sort, scope, modifications
- Add type-safe handling for streaming edge cases
- Use color-coded status codes (2xx green, 3xx yellow, 4xx/5xx red)
- Show search context (before/after) not just matched text
- Show full request details in send/repeat request renderers
- Show modifications on separate lines with full content
- Increase truncation limits for better visibility (200 char lines)
- Use present tense lowercase titles (listing, viewing, searching)
2026-01-19 15:33:53 -08:00
0xallamandAhmed Allam c4522306b8 fix: remove 'unknown' fallback display in browser tool renderer 2026-01-19 13:46:20 -08:00
0xallamandAhmed Allam 044c770569 fix: strip ANSI codes from Python tool output and optimize highlighting
- Add comprehensive ECMA-48 ANSI pattern to strip escape sequences from output
- Fix _truncate_line to strip ANSI before length calculation
- Cache PythonLexer instance (was creating new one per call)
- Memoize token color lookups to avoid repeated parent chain traversal
2026-01-19 12:21:08 -08:00
0xallamandAhmed Allam e17c230322 perf: optimize TUI streaming rendering performance
- Pre-compile regex patterns in streaming_parser.py
- Move hot-path imports to module level in tui.py
- Add streaming content caching to avoid re-rendering unchanged content
- Track streaming length to skip unnecessary re-renders
- Reduce UI update interval from 250ms to 350ms
2026-01-19 11:46:38 -08:00
0xallamandAhmed Allam 955250dcc9 fix: always show shell restart warning after install 2026-01-18 19:22:44 -08:00
0xallamandAhmed Allam bb67fa2b92 fix: improve install script PATH handling for more shells
- Add ZDOTDIR support for zsh users who relocate their config
- Add XDG_CONFIG_HOME paths for zsh and bash
- Add ash and sh shell support (Alpine/BusyBox)
- Warn user instead of silently creating .bashrc when no config found
- Add user feedback on what file was modified
- Handle non-writable config files gracefully
2026-01-18 19:11:44 -08:00
0xallam 7ecc9d53a4 chore: bump version to 0.6.2 and sandbox to 0.1.11 2026-01-18 18:29:44 -08:00
0xallamandAhmed Allam f42f6a82fb refactor: share single browser instance across all agents
- Use singleton browser with isolated BrowserContext per agent instead of
  separate Chromium processes per agent
- Add cleanup logic for stale browser/playwright on reconnect
- Add resource management instructions to browser schema (close tabs/browser when done)
- Suppress Kali login message in Dockerfile
2026-01-18 17:51:23 -08:00
0xallamandAhmed Allam b9fb607380 fix: create fresh gql client per request to avoid transport state issues 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam dd72e81406 fix: add telemetry module to Dockerfile for posthog error tracking 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam 75038ea2cb refactor: simplify tool server to asyncio tasks with per-agent isolation
- Replace multiprocessing/threading with single asyncio task per agent
- Add task cancellation: new request cancels previous for same agent
- Add per-agent state isolation via ContextVar for Terminal, Browser, Python managers
- Add posthog telemetry for tool execution errors (timeout, http, sandbox)
- Fix proxy manager singleton pattern
- Increase client timeout buffer over server timeout
- Add context.py to Dockerfile
2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam e1d54f11f8 fix: run tool server as module to ensure correct sys.path for workers 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam 2534396d82 style: remove redundant sudo -E flag 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam 7519ff850c fix: add initial delay and increase retries for tool server health check 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam e5c9480ed2 fix: replace pgrep with health check for tool server validation 2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam ce53702473 refactor: simplify container initialization and fix startup reliability
- Move tool server startup from Python to entrypoint script
- Hardcode Caido port (48080) in entrypoint, remove from Python
- Use /app/venv/bin/python directly instead of poetry run
- Fix env var passing through sudo with sudo -E and explicit vars
- Add Caido process monitoring and logging during startup
- Add retry logic with exponential backoff for token fetch
- Add tool server process validation before declaring ready
- Simplify docker_runtime.py (489 -> 310 lines)
- DRY up container state recovery into _recover_container_state()
- Add container creation retry logic (3 attempts)
- Fix GraphQL health check URL (/graphql/ with trailing slash)
2026-01-17 22:19:21 -08:00
0xallamandAhmed Allam bc6bb1699f chore(deps): bump pyasn1 from 0.6.1 to 0.6.2
Bumps [pyasn1](https://github.com/pyasn1/pyasn1) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/pyasn1/pyasn1/releases)
- [Changelog](https://github.com/pyasn1/pyasn1/blob/main/CHANGES.rst)
- [Commits](https://github.com/pyasn1/pyasn1/compare/v0.6.1...v0.6.2)

---
updated-dependencies:
- dependency-name: pyasn1
  dependency-version: 0.6.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-16 15:26:13 -08:00
0xallamandAhmed Allam 5132cc36ec fix(tool_server): include request_id in worker errors and use get_running_loop
- Add request_id to worker error responses to prevent client hangs
- Replace deprecated get_event_loop() with get_running_loop() in execute_tool
2026-01-16 01:11:02 -08:00
0xallamandAhmed Allam d3be648fa2 fix(tool_server): use get_running_loop() instead of deprecated get_event_loop() 2026-01-16 01:11:02 -08:00
0xallamandAhmed Allam 65c2103f4f fix(python): prevent stdout/stderr race on timeout
Add cancelled flag to prevent timed-out thread's finally block from
overwriting stdout/stderr when a subsequent execution has already
started capturing output.
2026-01-16 01:11:02 -08:00
0xallamandAhmed Allam c59f79e440 fix(runtime): parallel tool execution and remove signal handlers
- Add ThreadPoolExecutor in agent_worker for parallel request execution
- Add request_id correlation to prevent response mismatch between concurrent requests
- Add background listener thread per agent to dispatch responses to correct futures
- Add --timeout argument for hard request timeout (default: 120s from config)
- Remove signal handlers from terminal_manager, python_manager, tab_manager (use atexit only)
- Replace SIGALRM timeout in python_instance with threading-based timeout

This fixes requests getting queued behind slow operations and timeouts.
2026-01-16 01:11:02 -08:00
0xallam 796d538582 fix(llm): remove hardcoded temperature from dedupe check
Allow the model's default temperature setting to be used instead of
forcing temperature=0 for duplicate detection.
2026-01-15 18:56:48 -08:00