0xallam
291ecfed10
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
0xallam and Ahmed Allam
d3dc518b36
fix(config): keep non-LLM saved env values
...
When LLM env differs, drop only LLM-related saved entries instead of
clearing all saved env vars, preserving other config like API keys.
2026-01-15 18:37:38 -08:00
0xallam and Ahmed Allam
1d34ccbf36
fix(config): canonicalize LLM env and respect cleared vars
...
Drop saved LLM config if any current LLM env var differs, and treat
explicit empty env vars as cleared so saved values are removed and
not re-applied.
2026-01-15 18:37:38 -08:00
0xallam and Ahmed Allam
492ca9b3d8
fix(tui): suppress stderr output in python renderer
2026-01-15 17:44:49 -08:00
0xallam
06b291ccf5
fix(executor): include error type in httpx RequestError messages
...
The str() of httpx.RequestError was often empty, making error messages
unhelpful. Now includes the exception type (e.g., ConnectError) for
better debugging.
2026-01-15 17:40:21 -08:00
0xallam
583c9e3df0
docs(tools): add comprehensive multiline examples and remove XML terminology
...
- Add professional, realistic multiline examples to all tool schemas
- finish_scan: Complete pentest report with SSRF/access control findings
- create_vulnerability_report: Full SSRF writeup with cloud metadata PoC
- file_edit, notes, thinking: Realistic security testing examples
- Remove XML terminology from system prompt and tool descriptions
- All examples use real newlines (not literal \n) to demonstrate correct usage
2026-01-15 17:25:28 -08:00
Ahmed Allam and GitHub
6998987c93
Update README
2026-01-16 02:34:30 +04:00
0xallam
9de137c132
chore(release): bump version to 0.6.1
2026-01-14 21:30:14 -08:00
0xallam and Ahmed Allam
da78cab2b9
chore(prompt): discourage literal \n in tool params
2026-01-14 21:29:06 -08:00
0xallam and Ahmed Allam
2295bb6ba7
chore(prompt): enforce single tool call per message and remove stop word usage
2026-01-14 19:51:08 -08:00
0xallam and Ahmed Allam
b4662af44b
fix: restore ollama_api_base config fallback for Ollama support
2026-01-14 18:54:45 -08:00
0xallam and Ahmed Allam
2052d66e27
fix(agent): fix agent loop hanging and simplify LLM module
...
- Fix agent loop getting stuck by adding hard stop mechanism
- Add _force_stop flag for immediate task cancellation across threads
- Use thread-safe loop.call_soon_threadsafe for cross-thread cancellation
- Remove request_queue.py (eliminated threading/queue complexity causing hangs)
- Simplify llm.py: direct acompletion calls, cleaner streaming
- Reduce retry wait times to prevent long hangs during retries
- Make timeouts configurable (llm_max_retries, memory_compressor_timeout, sandbox_execution_timeout)
- Keep essential token tracking (input/output/cached tokens, cost, requests)
- Maintain Anthropic prompt caching for system messages
2026-01-14 18:54:45 -08:00
0xallam and Ahmed Allam
19f9139032
fix(agent): use correct agent name in identity instead of class name
2026-01-14 11:24:24 -08:00
0xallam and Ahmed Allam
02f816ccef
chore: add defusedxml dependency
2026-01-14 10:57:32 -08:00
0xallam and Ahmed Allam
54c11868f8
fix(agent): fix tool schemas not retrieved on pyinstaller binary and validate tool call args
2026-01-14 10:57:32 -08:00
0xallam and Ahmed Allam
55f6e01f22
chore(deps-dev): bump virtualenv from 20.34.0 to 20.36.1
...
Bumps [virtualenv](https://github.com/pypa/virtualenv ) from 20.34.0 to 20.36.1.
- [Release notes](https://github.com/pypa/virtualenv/releases )
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst )
- [Commits](https://github.com/pypa/virtualenv/compare/20.34.0...20.36.1 )
---
updated-dependencies:
- dependency-name: virtualenv
dependency-version: 20.36.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-13 17:15:58 -08:00
0xallam and Ahmed Allam
85596b6e7b
chore(deps): bump filelock from 3.20.1 to 3.20.3
...
Bumps [filelock](https://github.com/tox-dev/py-filelock ) from 3.20.1 to 3.20.3.
- [Release notes](https://github.com/tox-dev/py-filelock/releases )
- [Changelog](https://github.com/tox-dev/filelock/blob/main/docs/changelog.rst )
- [Commits](https://github.com/tox-dev/py-filelock/compare/3.20.1...3.20.3 )
---
updated-dependencies:
- dependency-name: filelock
dependency-version: 3.20.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-13 17:15:43 -08:00
0xallam and Ahmed Allam
0983cd5c56
chore(deps): bump azure-core from 1.35.0 to 1.38.0
...
Bumps [azure-core](https://github.com/Azure/azure-sdk-for-python ) from 1.35.0 to 1.38.0.
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases )
- [Commits](https://github.com/Azure/azure-sdk-for-python/compare/azure-core_1.35.0...azure-core_1.38.0 )
---
updated-dependencies:
- dependency-name: azure-core
dependency-version: 1.38.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-13 17:15:22 -08:00
Ahmed Allam and GitHub
f17a49aa80
Update README
2026-01-14 05:00:16 +04:00
0xallam
c723a2c289
chore: Bump strix version to 0.6.0
2026-01-12 09:19:19 -08:00
0xallam
e2ebf13f2c
feat: modernize TUI status bar with sweep animation
...
- Replace braille spinner with ping-pong sweep animation using colored squares
- Add smooth gradient fade with 8 color steps from dim to bright green
- Modernize keymap styling: keys in white, actions in dim, separated by ·
- Move "esc stop" to left side next to animation
- Change ctrl-c to ctrl-q for quit
- Simplify "Initializing Agent" to just "Initializing"
- Remove italic styling from status text
- Waiting state shows only "Send message to resume" hint
- Remove unused action verbs and related dead code
2026-01-11 23:54:24 -08:00
0xallam
c0ee00c89c
fix: correct GitHub repository URL in README
2026-01-10 15:53:10 -08:00
0xallam and Ahmed Allam
6c5933811d
docs: document config persistence in README
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
9a8f5e8305
fix: allow clearing saved config by setting empty env var
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
4d3be8ee71
fix: apply saved config at module level before strix imports
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
ace523b4f8
fix: handle chmod failure on Windows gracefully
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
e629c52ec5
refactor: add explicit STRIX_IMAGE validation
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
4eec3b0d58
refactor: remove unused LLMRequestQueue constructor params
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
0ff6d231ad
refactor: replace type ignores with inline fallbacks
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
62325ea3b9
refactor: use Config.get() in validate_environment()
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
5adda5c068
fix: set restrictive permissions on config file
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
1cc382249c
refactor: remove STRIX_IMAGE constant, use Config.get() instead
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
a0a94baf59
fix: remove default for strix_llm, keep it required
2026-01-10 15:49:03 -08:00
0xallam and Ahmed Allam
543b785d1a
feat: add centralized Config class with auto-save to ~/.strix/cli-config.json
...
- Add Config class with all env var defaults in one place
- Auto-load saved config on startup (env vars take precedence)
- Auto-save config after successful LLM warm-up
- Replace scattered os.getenv() calls with Config.get()
2026-01-10 15:49:03 -08:00
0xallam
2d35a4e0bd
fix: add missing 'low' value to reasoning effort options
2026-01-09 20:17:46 -08:00
Ahmed Allam and greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
071acf86f5
Update args in strix/interface/main.py
...
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-01-09 20:00:01 -08:00
02a791b17d
feat: add STRIX_REASONING_EFFORT env var to control thinking effort
...
- Add configurable reasoning effort via environment variable
- Default to "high", but use "medium" for quick scan mode
- Document in README and interface error panel
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-09 20:00:01 -08:00
0xallam
049f7c23ba
docs: reformat recommended models as bulleted list
2026-01-09 16:49:16 -08:00
0xallam
25a4895358
docs: add Gemini 3 Pro Preview to recommended models
2026-01-09 16:47:33 -08:00
0xallam and Ahmed Allam
82c5b7363a
fix: restrict result type check to dict or str
2026-01-09 16:44:05 -08:00
0xallam and Ahmed Allam
8f1f221039
fix: handle string results in tool renderers
...
Previously, tool renderers assumed result was always a dict and would
crash with AttributeError when result was a string (e.g., error messages).
Now all renderers properly check for string results and display them.
2026-01-09 16:44:05 -08:00
Daniel Sangorrin and Ahmed Allam
07102553f8
fix: add thinking blocks
2026-01-09 15:40:21 -08:00
Ahmed Allam and GitHub
34a3e57ff3
Remove title from README
2026-01-10 02:35:20 +04:00
0xallam and Ahmed Allam
3c91b5f742
Simplify stats panel display format
2026-01-09 14:25:00 -08:00
0xallam and Ahmed Allam
66f4ce9684
Modernize vulnerability detail dialog styling
2026-01-09 14:25:00 -08:00
0xallam
6e7a77cf78
Add PostHog integration for analytics and error debugging
2026-01-09 14:24:04 -08:00
0xallam and Ahmed Allam
0b39bd38ba
chore(deps): bump pypdf from 6.4.0 to 6.6.0
...
Bumps [pypdf](https://github.com/py-pdf/pypdf ) from 6.4.0 to 6.6.0.
- [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.4.0...6.6.0 )
---
updated-dependencies:
- dependency-name: pypdf
dependency-version: 6.6.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-09 12:28:41 -08:00
0xallam
d8fe2b42ae
fix: reduce spacing between consecutive tool calls in TUI
2026-01-08 17:53:16 -08:00
0xallam and Ahmed Allam
aeaaa0a9d2
fix: use fixed per-request timeout for tool server health checks
...
The previous implementation divided total timeout by retries, making the
timeout behavior confusing and the actual wait time unpredictable. Now
uses a consistent 5-second timeout per request for clearer semantics.
2026-01-08 17:41:44 -08:00
0xallam and Ahmed Allam
449025c64d
feat: add tool server health check and show error details in CLI
...
- Add _wait_for_tool_server_health() to verify tool server is responding after init
- Show error details in CLI mode when penetration test fails
- Simplify error message (remove technical URL details)
2026-01-08 17:41:44 -08:00