Releases: 3ls-it/openai-assistant
openai-assistant v3.0.5
v3.0.5 changes (internal/refactor) - Serialize API requests with per-instance `_inflight_lock` to prevent self-inflicted concurrent `responses.create()` calls and reduce/avoid `conversation_locked` errors. - Rework locking strategy: `_conversation_lock` is now held only for short critical sections (ensure/snapshot/update conversation state), not across network I/O. - Keep explicit Conversations model for reliable multi-turn context; enforce `store=True` on `responses.create()` to ensure server maintains per-conversation state. - Add/standardize explicit conversation lifecycle methods: - `end_conversation()` clears `conversation_id` cleanly (no dangling state) - `new_conversation()` retained as an alias for readability/backwards local API compatibility. - Harden `_ensure_conversation()`: - made thread-safe (lock-protected) - added invariant enforcement (fail fast if `conversations.create()` returns no id). - Improve robustness/observability in `send_query()`: - initialize `resp=None` and guard after retry loop - add sanity debug logging (`resp.store`, `resp.id`, etc.). - Remove unused `get_conversation_id()` helper (was never referenced). - Fixed bug in ChatBrowser when selecting chat folder in file tree.
openai-assistant v3.0.4
v3.0.4 fixes Cleaned up chat continuation dialogue for consistant look-and-feel. Larger input box, horizontal buttons.
openai-assistant
Chat continuation "Further instructions" now written to chat log after time
stamp.
Opening banner now has full list of key-commands.
Added "New Conversation" feature, which creates a new Conversations object and
a new chat log file. New conversation timestamps are displayed int the status
widget.
Added more debug messages for the api log when --debug-api is used.
Removed all pass statements in try\except block and now writes error/debug
messages to the api log in addition to the already-returned error messages that are
written to the main display and/or opened in a pop-up toast.
openai-assistant v3.0.2
LaTeX math expressions (block and inline) are now "pretty printed" using pylatexenc. Many small improvements/polish throughout codebase.
openai-assistant v3.0.1
v3.0.1 fixes/complets first-run configuration Also now a robust prompting for missing configuration lines on each startup.
openai-assistant v3.0.0
README edits
openai-assistant v2.2.1
Optional "clean-up" scripts provided: delete all uploaded files; delete all Vector Stores. DirectoryTree now refreshes on toggle; new files did not show up if added during a session.
OpenAI Assistant v2.2.0
*Added file upload capabilities with file browser.
*Added pop-up dialogue boxes for file uploading, quit, and "About".
openai-assistant v2.1.1
v2.1.1 minor update
v2.1.0 changes:
New CLI flags
* --no-upload: Skip uploading ~/.openai/chat_log.txt on startup.
* --reset-assistant: Clear ASSISTANT_ID in settings before startup (forces new assistant creation).
* --reset-store: Clear VECTOR_STORE_ID in settings before startup (forces new vector store).
Code changes
* Added argparse and flag parsing in the __main__ path.
* Extended Openai_API.setup(upload_log: bool = True) so upload can be skipped.
* Kept existing behavior intact when flags are not used.
* Updated startup console message when upload is skipped.
A separate, human-readable API log:
* File: ~/.openai/api.log
* Rotation: daily at midnight, keeping 7 days (TimedRotatingFileHandler)
* Levels: INFO by default; DEBUG with --debug-api
New CLI flag
* --debug-api: enable DEBUG-level logging for more verbose diagnostics
Instrumentation points (what gets logged)
* Startup summary (model, temp, whether ASSISTANT_ID/VECTOR_STORE_ID are present)
* Assistant lifecycle:
- Retrieved/created assistant ID
- Instructions synced (when settings changed)
* Vector store lifecycle:
- Retrieved/created vector store ID
* File upload:
- Skip reason (empty/missing chat_log.txt)
- Upload start (DEBUG, vector store ID)
- Upload result status and file_counts (INFO)
- Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
* Conversation run lifecycle:
- Run started (INFO)
- Run completed with elapsed time and response length (INFO)
- Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
Keep chat log clean
* All API/system events now go to api.log.
* ~/.openai/chat_log.txt continues to capture only dialogue (user and assistant messages), as before.
How to use
* Normal run (INFO logs):
- ./openai-assistant
* Verbose API debug logging:
- ./openai-assistant --debug-api
* Tail logs while troubleshooting:
- tail -f ~/.openai/api.log
v2.1.1 additions:
* Small refactoring tweaks
* Comment updates/clean-up
* Updated `requirements.txt`
* Updated `README.md`
openai-assistant v2.1.0
v2.1.0 changes:
New CLI flags
* --no-upload: Skip uploading ~/.openai/chat_log.txt on startup.
* --reset-assistant: Clear ASSISTANT_ID in settings before startup (forces new assistant creation).
* --reset-store: Clear VECTOR_STORE_ID in settings before startup (forces new vector store).
Code changes
* Added argparse and flag parsing in the __main__ path.
* Extended Openai_API.setup(upload_log: bool = True) so upload can be skipped.
* Kept existing behavior intact when flags are not used.
* Updated startup console message when upload is skipped.
A separate, human-readable API log:
* File: ~/.openai/api.log
* Rotation: daily at midnight, keeping 7 days (TimedRotatingFileHandler)
* Levels: INFO by default; DEBUG with --debug-api
New CLI flag
* --debug-api: enable DEBUG-level logging for more verbose diagnostics
Instrumentation points (what gets logged)
* Startup summary (model, temp, whether ASSISTANT_ID/VECTOR_STORE_ID are present)
* Assistant lifecycle:
- Retrieved/created assistant ID
- Instructions synced (when settings changed)
* Vector store lifecycle:
- Retrieved/created vector store ID
* File upload:
- Skip reason (empty/missing chat_log.txt)
- Upload start (DEBUG, vector store ID)
- Upload result status and file_counts (INFO)
- Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
* Conversation run lifecycle:
- Run started (INFO)
- Run completed with elapsed time and response length (INFO)
- Errors (APIConnectionError, RateLimitError, APIStatusError, Unexpected)
Keep chat log clean
* All API/system events now go to api.log.
* ~/.openai/chat_log.txt continues to capture only dialogue (user and assistant messages), as before.
How to use
* Normal run (INFO logs):
- ./openai-assistant
* Verbose API debug logging:
- ./openai-assistant --debug-api
* Tail logs while troubleshooting:
- tail -f ~/.openai/api.log