summaryrefslogtreecommitdiff
path: root/src/ollama_web/app.py
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-06-24 00:19:26 +0900
committertanaka takashi <isazaka@gmail.com>2026-06-24 00:19:26 +0900
commit16a8bfebde12e2e3fa50b2a1384091158fdabe91 (patch)
treeab9e64216510560204e38dbe464bca892dc1713a /src/ollama_web/app.py
parent5d9fc9c9c976cb6fc7d0b8060abcd2860ebf8456 (diff)
機能追加(セッション、左ペインでのセッション管理、ファイル取得ツール、pdfテキスト化ツール)
Diffstat (limited to 'src/ollama_web/app.py')
-rw-r--r--src/ollama_web/app.py36
1 files changed, 35 insertions, 1 deletions
diff --git a/src/ollama_web/app.py b/src/ollama_web/app.py
index d37557d..7c002b4 100644
--- a/src/ollama_web/app.py
+++ b/src/ollama_web/app.py
@@ -14,6 +14,8 @@ from .config import settings
from .routes import chat as chat_route
from .routes import models as models_route
from .routes import pages as pages_route
+from .routes import sessions as sessions_route
+from .sessions import SessionStore
_STATIC_DIR = Path(__file__).resolve().parent / "static"
@@ -25,6 +27,37 @@ def create_app() -> Starlette:
Route("/api/chat", chat_route.chat, methods=["POST"], name="chat"),
Route("/api/models", models_route.get_models, methods=["GET"], name="models"),
Route("/api/health", models_route.health, methods=["GET"], name="health"),
+ Route("/api/sessions", sessions_route.list_sessions, methods=["GET"], name="list_sessions"),
+ Route(
+ "/api/sessions",
+ sessions_route.create_session,
+ methods=["POST"],
+ name="create_session",
+ ),
+ Route(
+ "/api/sessions/{session_id}",
+ sessions_route.get_session,
+ methods=["GET"],
+ name="get_session",
+ ),
+ Route(
+ "/api/sessions/{session_id}",
+ sessions_route.delete_session,
+ methods=["DELETE"],
+ name="delete_session",
+ ),
+ Route(
+ "/api/sessions/{session_id}/files",
+ sessions_route.upload_file,
+ methods=["POST"],
+ name="upload_file",
+ ),
+ Route(
+ "/api/sessions/{session_id}/files/{file_id}",
+ sessions_route.delete_file,
+ methods=["DELETE"],
+ name="delete_file",
+ ),
Mount("/static", app=StaticFiles(directory=str(_STATIC_DIR)), name="static"),
]
@@ -39,7 +72,8 @@ def create_app() -> Starlette:
app = Starlette(routes=routes, middleware=middleware)
app.state.settings = settings
- app.state.tool_names = ["web_search", "scrape_url"]
+ app.state.session_store = SessionStore(settings.data_dir)
+ app.state.tool_names = ["web_search", "scrape_url", "search_and_fetch", "pdf_to_text"]
return app