日志文件位于 data/logs/。如遇到故障,把 errors.log 最后 50 行发给 Claude 即可定位问题。
errors.log (末 500 行)
2026-10-07 06:31:41 [WARNING] browser: chrome-headless-shell NOT found — Playwright will use auto-discovery
2026-10-07 06:36:00 [WARNING] triage: triage failed id=17 err=Unterminated string starting at: line 1 column 98 (char 97)
2026-10-07 06:36:04 [WARNING] triage: triage failed id=19 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 06:39:08 [WARNING] scorer: background.md not found at /app/data/applicants/1/background.md
2026-10-07 07:59:50 [ERROR ] output.dashboard_server: Exception on / [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/flask/app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/flask/app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/flask/app.py", line 915, in full_dispatch_request
rv = self.preprocess_request()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/flask/app.py", line 1291, in preprocess_request
rv = self.ensure_sync(before_func)()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/output/dashboard_server.py", line 487, in _enforce_login
_ensure_dev_login()
File "/app/output/dashboard_server.py", line 456, in _ensure_dev_login
user = _U.get_by_email(_db, _DEV_USER_EMAIL)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/user_service.py", line 71, in get_by_email
row = db.execute(
^^^^^^^^^^^
File "/app/database/models.py", line 276, in execute
return self._conn().execute(sql, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: no such table: users
2026-10-07 12:41:10 [WARNING] triage: triage failed id=9 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 12:41:37 [WARNING] triage: triage failed id=21 err=Unterminated string starting at: line 1 column 522 (char 521)
2026-10-07 12:42:21 [WARNING] triage: triage failed id=53 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 12:43:23 [WARNING] triage: triage failed id=105 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 12:43:24 [WARNING] triage: triage failed id=106 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 12:43:30 [WARNING] triage: triage failed id=108 err=Expecting value: line 1 column 1 (char 0)
2026-10-07 12:43:38 [WARNING] triage: triage failed id=115 err=Unterminated string starting at: line 1 column 59 (char 58)
2026-10-07 12:43:42 [WARNING] triage: triage failed id=117 err=Expecting value: line 1 column 1 (char 0)
2026-10-15 12:40:56 [WARNING] scorer: background.md not found at /app/data/applicants/1/background.md
2026-10-17 00:28:37 [WARNING] browser: chrome-headless-shell NOT found — Playwright will use auto-discovery
2026-10-17 00:31:36 [WARNING] triage: triage failed id=106 err=Expecting value: line 1 column 1 (char 0)
2026-10-17 00:32:09 [WARNING] triage: triage failed id=147 err=Expecting value: line 1 column 1 (char 0)
2026-10-17 00:33:44 [WARNING] scorer: scorer AI call failed id=173 err=Expecting value: line 1 column 1 (char 0) fallback=keyword
2026-10-18 04:56:16 [WARNING] browser: chrome-headless-shell NOT found — Playwright will use auto-discovery
2026-10-18 15:30:05 [WARNING] paper_fetcher: OpenAlex works fetch failed author=A5001553815 err=HTTPSConnectionPool(host='api.openalex.org', port=443): Read timed out. (read timeout=15)
2026-10-18 18:01:09 [WARNING] urllib3.connection: Failed to parse headers (url=https://www.aimsciences.org:443/data/article/export-pdf?id=641803dc6565307f274b0483): [NoBoundaryInMultipartDefect()], unparsed data: ''
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/urllib3/connection.py", line 641, in getresponse
assert_header_parsing(httplib_response.msg)
File "/usr/local/lib/python3.11/site-packages/urllib3/util/response.py", line 88, in assert_header_parsing
raise HeaderParsingError(defects=defects, unparsed_data=unparsed_data)
urllib3.exceptions.HeaderParsingError: [NoBoundaryInMultipartDefect()], unparsed data: ''