Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
f273cd3
Add autonomous Cookbook model launch agent
pewdiepie-archdaemon Jul 7, 2026
ac969f2
Integrate Odysseus agent, email, image, and settings updates
pewdiepie-archdaemon Jul 19, 2026
e3a4cdb
Merge remote-tracking branch 'origin/dev' into feature/odysseus-termi…
pewdiepie-archdaemon Jul 19, 2026
5f70111
Fix mobile chat composer and pull refresh
pewdiepie-archdaemon Jul 19, 2026
e485a82
Hide model picker sooner while typing
pewdiepie-archdaemon Jul 19, 2026
62d399b
Align email bulk loading label
pewdiepie-archdaemon Jul 20, 2026
eca58fc
Improve completed task visibility
pewdiepie-archdaemon Jul 20, 2026
61b4605
Make AI email replies fast-only
pewdiepie-archdaemon Jul 21, 2026
2d04746
Fix stale unread email counts
pewdiepie-archdaemon Jul 21, 2026
6355032
Scope mobile pull refresh to active surface
pewdiepie-archdaemon Jul 22, 2026
4b2e5ba
Lower email pull refresh spinner
pewdiepie-archdaemon Jul 22, 2026
1e04a48
Reset chat pull refresh when busy
pewdiepie-archdaemon Jul 22, 2026
fcd8ebc
Prevent mobile sidebar startup flash
pewdiepie-archdaemon Jul 22, 2026
dae91dd
Hide mobile sidebar before first paint
pewdiepie-archdaemon Jul 22, 2026
ea2ae85
Apply mobile viewport before startup layout
pewdiepie-archdaemon Jul 22, 2026
20af37c
Isolate incognito chat context
pewdiepie-archdaemon Jul 22, 2026
07ad303
Respect opened chat over pending default
pewdiepie-archdaemon Jul 22, 2026
dfc72fe
Ignore stale pending chat creation
pewdiepie-archdaemon Jul 22, 2026
1d70656
Avoid hidden startup pending chats
pewdiepie-archdaemon Jul 22, 2026
58b95f8
Trust selected chat before pending create
pewdiepie-archdaemon Jul 22, 2026
a880b78
Show default model on fresh chat
pewdiepie-archdaemon Jul 22, 2026
66f6c16
Render cached email list first
pewdiepie-archdaemon Jul 22, 2026
17af431
Bump stale app module imports
pewdiepie-archdaemon Jul 22, 2026
362dc0c
Avoid live IMAP on email open
pewdiepie-archdaemon Jul 22, 2026
7aa785c
Show memory loading state
pewdiepie-archdaemon Jul 22, 2026
9420dc6
Stabilize browser form automation
pewdiepie-archdaemon Jul 22, 2026
b011bc2
Add chat context header
pewdiepie-archdaemon Jul 22, 2026
7a7051b
Stabilize context metrics and compact action
pewdiepie-archdaemon Jul 22, 2026
e75ea8d
Polish context compaction UI
pewdiepie-archdaemon Jul 22, 2026
1305271
Update compare tool icon
pewdiepie-archdaemon Jul 23, 2026
525ebdd
Polish compare icons and task bulk feedback
pewdiepie-archdaemon Jul 23, 2026
2d25bb8
Hydrate chat context from paged history loads
pewdiepie-archdaemon Jul 23, 2026
0fbd70f
Remove hardcoded image model recommendations
pewdiepie-archdaemon Jul 23, 2026
3d445f7
Remove image model family hardcoding
pewdiepie-archdaemon Jul 23, 2026
254712e
Merge remote-tracking branch 'origin/dev' into feature/tbench-bounded…
pewdiepie-archdaemon Jul 23, 2026
206f528
Remove personal examples from comments
pewdiepie-archdaemon Jul 23, 2026
86e4b46
Fix regressions caught by full pytest
pewdiepie-archdaemon Jul 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ FROM python:3.14-slim
# downloads, and serves from Docker installs.
# git/cmake are required when Cookbook builds llama.cpp on first llama.cpp
# launch inside Docker.
# nodejs/npm provide npx for the optional built-in Browser MCP server.
# nodejs/npm provide npx for the built-in Browser MCP server.
# chromium provides the actual browser binary used by that MCP server.
# gosu lets the entrypoint drop privileges cleanly so signals still reach
# uvicorn directly (no extra shell layer like `su`/`sudo` would add).
RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -26,6 +27,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git \
nodejs \
npm \
chromium \
tmux \
openssh-client \
gosu \
Expand Down
8 changes: 8 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,14 @@ the codebase, you are probably right to stay away.
before the user request really starts. We need slimmer prompts, better tool
selection, smaller default tool sets, and clearer guidance for models with
4k/8k/16k context windows.
- Local model speculative decoding support. For Odysseus-tuned local models,
plan to ship or recommend a small same-tokenizer draft model when the serving
backend supports it. Early vLLM testing showed a generic `Qwen3-0.6B` draft
beside `Qwen3-8B` can materially reduce wall time, while an unsupported
DSpark conversion performed poorly. Treat this as a supported draft-model lane
first; keep MTP-specific packaging as future work only when the architecture
and runtime support are real. Judge this by time-to-success, tool correctness,
grammar, and unchanged target output, not tokens/sec alone.
- Skill/tool prompt-injection audit. User-editable skills, notes, documents,
fetched pages, and memories should be treated as untrusted data. Keep testing
whether models follow malicious instructions from those surfaces.
Expand Down
6 changes: 6 additions & 0 deletions core/session_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -543,6 +543,12 @@ def delete_session(self, session_id: str) -> bool:
"""Permanently delete a session and all its messages."""
db = SessionLocal()
try:
try:
from src.session_image_cleanup import cleanup_session_images
cleanup_session_images(session_id, db=db)
except Exception as e:
logger.warning(f"Image cleanup failed while deleting session {session_id}: {e}")

# Detach documents so they survive as orphans in the library
db.query(DbDocument).filter(DbDocument.session_id == session_id).update(
{DbDocument.session_id: None}, synchronize_session=False
Expand Down
Loading
Loading