You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(pages): document local-model setup, tool-calling requirement, and LLM timeouts (#400)
* docs(pages): add FAQ entry for local models without native tool calling
Two changes per locale (en/zh/ja), addressing #234:
- New "No tool calls parsed" entry under Configuration & startup: the
symptom loop, the durable rule that the model must support native tool
calling (deepseek-r1 narrates calls in content and can never work;
qwen3 works), the Ollama tools-tag search link, and the maintainer's
curl snippet to verify a model emits structured tool_calls without OCR
in the loop.
- The existing "Max tool requests reached" entry (where users actually
land) gains a 4th cause bullet cross-linking the new entry.
Anchors follow generateHeadingId (pages/src/utils/headingId.ts), the
site's actual slugger, and were verified against the rendered DOM in
all three locales. Code blocks are byte-identical across locales per
i18n convention; heading counts stay in parity.
* docs(pages): document Ollama custom-provider setup and LLM timeouts
Two additions per locale (en/zh/ja), addressing #234:
- Custom providers: a copy-paste Ollama example (127.0.0.1:11434/v1,
protocol openai) with the note that custom providers require a
non-empty api_key placeholder (resolver has no env fallback for them)
and a pointer to the FAQ tool-calling rule.
- New Timeouts subsection: providers.<name>.timeout_sec /
llm.timeout_sec / OCR_LLM_TIMEOUT, the 300s default, and the caveat
that timeout_sec is not supported by 'ocr config set' (config_cmd has
no timeout handling) so config.json must be edited directly.
The ja Timeouts heading is タイムアウト(Timeouts) so the site slugger
(which strips katakana) still yields a linkable #timeouts anchor.
Code blocks byte-identical across locales; heading parity kept.
* fix(pages): decode percent-encoded anchor fragments before id lookup
marked percent-encodes non-ASCII hrefs (#超时 renders as #%E8%B6%85%E6%97%B6),
but heading ids are raw text from generateHeadingId, so handleContentClick's
getElementById never matched for CJK anchors: same-page clicks silently
no-oped and cross-page anchor scrolls exhausted their retries at the top of
the page. This affected every pre-existing zh in-page anchor (e.g.
faq 复用已有的环境变量) as well as the zh links added for #234.
Decode the fragment (with a malformed-input guard) at both lookup sites.
"messages": [{"role": "user", "content": "The code below has a bug, use the report_bug tool to report it.\n\nfunc add(a, b int) int {\n return a - b\n}"}],
80
+
"tools": [{"type": "function", "function": {"name": "report_bug", "description": "Report a bug in the code",
"messages": [{"role": "user", "content": "The code below has a bug, use the report_bug tool to report it.\n\nfunc add(a, b int) int {\n return a - b\n}"}],
78
+
"tools": [{"type": "function", "function": {"name": "report_bug", "description": "Report a bug in the code",
"messages": [{"role": "user", "content": "The code below has a bug, use the report_bug tool to report it.\n\nfunc add(a, b int) int {\n return a - b\n}"}],
72
+
"tools": [{"type": "function", "function": {"name": "report_bug", "description": "Report a bug in the code",
0 commit comments