<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ollama-web.git/src/ollama_web/tools/pdf.py, branch v0.5.2</title>
<subtitle>A lightweight personal Ollama Web UI with web search, PDF attachments, and MCP tools.
</subtitle>
<id>https://git.takashi-2521.com/ollama-web.git/atom?h=v0.5.2</id>
<link rel='self' href='https://git.takashi-2521.com/ollama-web.git/atom?h=v0.5.2'/>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/'/>
<updated>2026-08-26T10:23:40+00:00</updated>
<entry>
<title>fix(tools): PDFの会話間継続をトークン単独で再開可能にする</title>
<updated>2026-08-26T10:23:40+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-08-26T10:23:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=b495dde6810882efc8481ebebd22ff26a6afb902'/>
<id>urn:sha1:b495dde6810882efc8481ebebd22ff26a6afb902</id>
<content type='text'>
長いPDFを複数会話に分けて取得する際、モデルがurl_or_pathを省略したり、過去の添付IDや古い継続トークンを組み合わせたりして、先頭または以前のページへ戻る問題を改善する。PDFカーソル自体は正しく進んでいたため、汎用LLM層やセッション形式を変更せず、pdf_to_textの入出力契約だけを明確化する。

- continue_fromを自己完結した再開情報として扱い、PDFソース、ページ番号、ページ内文字位置をトークンから復元

- 継続時はurl_or_pathを省略可能にし、競合する値が渡されてもトークン内のソースを優先

- Ollama生成スキーマでもurl_or_pathを任意にして、continue_from単独のツール呼び出しを許可

- 未完了結果へ最新トークン、旧トークンの置換、単独再開、上限時の保持を表すPDF専用メタデータを追加

- 継続メタデータを固定キーと真偽値で表現し、会話言語に依存しない形式へ統一

- 無効トークン時は先頭再試行を禁止し、直前の最新トークンを再利用する機械可読情報を返却

- メタデータをpage-info側へ配置して本文連結を汚さず、結果全体を6000文字以内に再調整

- llm.py、チャット処理、セッションJSON、scrape_url、search_and_fetch、MCPツールは変更しない

検証:

- pytest: 132 passed

- ruff check: passed

- mypy src: passed

- 1463891.1463912.pdf: 12ページ、52577文字をcontinue_from単独の10回で完全再構成

- 指定PDFの最大ツール結果長はメタデータ込み5992文字
</content>
</entry>
<entry>
<title>fix(tools): PDFページングを損失なしカーソル方式へ再設計</title>
<updated>2026-08-23T08:28:39+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-08-23T08:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=33f6b4dbb69e9366e312a8b44dbed9d22e7cba5b'/>
<id>urn:sha1:33f6b4dbb69e9366e312a8b44dbed9d22e7cba5b</id>
<content type='text'>
PDF本文をページ単位で抽出した後に文字数上限で切断しつつ、継続位置だけ次ページへ進めていたため、ページ末尾が復元不能になる問題を修正する。ツール側の本文上限とLLM側の結果上限の不整合、25ページの処理上限、添付経路での継続情報欠落も共通契約で解消する。

- 共通PageResultと、メタデータ込みの結果上限内で本文量を決めるフォーマッターを追加

- v2トークンにPDFのページ番号とページ内文字位置を保持し、v1トークンの読み取り互換性を維持

- pdf_to_text、scrape_url、search_and_fetchを返却済み本文だけカーソルが進む方式へ統一

- max_pdf_pagesを文書全体ではなく1呼び出しの処理上限として扱い、長い単一ページと26ページ目以降の継続取得に対応

- attachment:&lt;file_id&gt;をセッション限定で解決し、既存添付も保存済みプレビューではなく元PDFから再解析

- Web取得ファイルをセッションとURL単位で重複排除し、HTMLおよびテキスト経路の全文ページングも維持

- 正常なページング結果の後段切断を禁止し、結果上限・コンテキスト予算・ラウンド上限では未取得状態を明示

- 日英プロンプト、UIメッセージ、ツールスキーマ、変更履歴を実装へ同期

- 実PDF、30ページ超、長い単一ページ、旧トークン、セッション分離、コンテキスト境界の回帰テストを追加

検証:

- pytest: 130 passed

- ruff check src tests: passed

- mypy src: passed

- c2144.pdf: 19ページ、抽出本文46015文字（ページ区切り込み46051文字）を8回で重複・欠落なく完全再構成
</content>
</entry>
<entry>
<title>scrape_url / pdf_to_text / search_and_fetch はページング（継続トークン方式）に対応</title>
<updated>2026-08-02T06:50:41+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-08-02T06:50:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=515f96a7779f117a7e37f854de2ded99160d0c76'/>
<id>urn:sha1:515f96a7779f117a7e37f854de2ded99160d0c76</id>
<content type='text'>
mypy 6エラー修正
</content>
</entry>
<entry>
<title>Harden web UI security</title>
<updated>2026-06-24T13:47:13+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-06-24T13:47:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=e4d421c782a181f421e2987f75b4610845e3ef55'/>
<id>urn:sha1:e4d421c782a181f421e2987f75b4610845e3ef55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Web検索などのツール呼び出しによる応答不能を回避</title>
<updated>2026-06-24T09:11:10+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-06-24T09:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=f7e2894856c10d8a1e2d429a7858d9f143c42404'/>
<id>urn:sha1:f7e2894856c10d8a1e2d429a7858d9f143c42404</id>
<content type='text'>
</content>
</entry>
<entry>
<title>機能追加(セッション、左ペインでのセッション管理、ファイル取得ツール、pdfテキスト化ツール)</title>
<updated>2026-06-23T15:19:26+00:00</updated>
<author>
<name>tanaka takashi</name>
<email>isazaka@gmail.com</email>
</author>
<published>2026-06-23T15:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.takashi-2521.com/ollama-web.git/commit/?id=16a8bfebde12e2e3fa50b2a1384091158fdabe91'/>
<id>urn:sha1:16a8bfebde12e2e3fa50b2a1384091158fdabe91</id>
<content type='text'>
</content>
</entry>
</feed>
