{"record":{"id":"afb0a09e1c2ec1c6","repo":"jackwener/OpenCLI","slug":"no-notes-found-ensure-you-are-logged-into-creator","errorCode":null,"errorMessage":"No notes found. Ensure you are logged into creator.xiaohongshu.com and the account has published notes.","messagePattern":"No notes found\\. Ensure you are logged into creator\\.xiaohongshu\\.com and the account has published notes\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/xiaohongshu/creator-notes-summary.js","lineNumber":65,"sourceCode":"cli({\n    site: 'xiaohongshu',\n    name: 'creator-notes-summary',\n    access: 'read',\n    description: '小红书最近笔记批量摘要 (列表 + 单篇关键数据汇总)',\n    domain: 'creator.xiaohongshu.com',\n    strategy: Strategy.COOKIE,\n    browser: true,\n    navigateBefore: false,\n    args: [\n        { name: 'limit', type: 'int', default: 3, help: 'Number of recent notes to summarize' },\n        { name: 'timeout', type: 'int', required: false, default: 180, help: 'Max seconds for the overall command (default: 180)' },\n    ],\n    columns: ['rank', 'id', 'title', 'views', 'likes', 'collects', 'comments', 'shares', 'avg_view_time', 'rise_fans', 'top_source', 'top_interest', 'url'],\n    func: async (page, kwargs) => {\n        const limit = kwargs.limit || 3;\n        const notes = await fetchCreatorNotes(page, limit);\n        if (!notes.length) {\n            throw new EmptyResultError('xiaohongshu creator-notes-summary', 'No notes found. Ensure you are logged into creator.xiaohongshu.com and the account has published notes.');\n        }\n        const results = [];\n        for (const [index, note] of notes.entries()) {\n            if (index > 0) {\n                await page.wait({ time: 1 + Math.random() * 2 });\n            }\n            if (!note.id) {\n                results.push({\n                    rank: index + 1,\n                    id: note.id,\n                    title: note.title,\n                    published_at: note.date,\n                    views: String(note.views),\n                    likes: String(note.likes),\n                    collects: String(note.collects),\n                    comments: String(note.comments),\n                    shares: '',\n                    avg_view_time: '',","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/xiaohongshu/creator-notes-summary.js#L47-L83","documentation":"EmptyResultError from the creator-notes-summary command: fetchCreatorNotes returned an empty list, so there were no note rows to summarize. The library raises this instead of producing an empty table because it almost always means the session is not actually authenticated to creator.xiaohongshu.com or the account has no published notes.","triggerScenarios":"The notes/analyze endpoint returned zero rows because the cookie session is logged out, the account has never published a note, or the dashboard filtered everything out (limit smaller than 1 after kwargs.limit override is fine, but zero captured rows always triggers).","commonSituations":"Cookie expired since last login; connected Chrome profile is the wrong one; brand-new creator account with no published notes; region/login-verification wall; earlier capture errors left notes empty.","solutions":["Open creator.xiaohongshu.com in the connected Chrome and confirm you are logged in and notes appear in the dashboard.","Ensure the logged-in account actually has published notes; test with an account that does.","Re-login and retry to refresh expired cookies.","Check earlier log lines for capture/HTTP errors that explain why fetchCreatorNotes got zero rows.","Verify kwargs.limit isn't 0/negative in your invocation."],"exampleFix":"// before\nconst rows = await run('xiaohongshu creator-notes-summary', { limit: 3 });\n// after\ntry {\n  return await run('xiaohongshu creator-notes-summary', { limit: 3 });\n} catch (e) {\n  if (/No notes found/.test(e.message)) {\n    await ensureCreatorDashboardLogin();\n    return await run('xiaohongshu creator-notes-summary', { limit: 3 });\n  }\n  throw e;\n}","handlingStrategy":"validation","validationCode":"const limit = Number(kwargs.limit ?? 3);\nif (!Number.isInteger(limit) || limit < 1) throw new Error('limit must be a positive integer');\nif (!await isLoggedInCreatorXhs()) throw new Error('login required before creator-notes-summary');","typeGuard":"function isNonEmptyArray(v) {\n  return Array.isArray(v) && v.length > 0;\n}","tryCatchPattern":"try {\n  return await run('xiaohongshu creator-notes-summary', { limit });\n} catch (e) {\n  if (/No notes found/.test(e.message)) {\n    await ensureCreatorLogin();\n    return await run('xiaohongshu creator-notes-summary', { limit });\n  }\n  throw e;\n}","preventionTips":["Verify login and that the account has published notes before invoking.","Use the correct Chrome profile with an active creator session.","Refresh cookies regularly; expired cookies yield zero rows, not auth errors.","Check kwargs.limit for invalid values.","Read earlier run logs for capture failures explaining the empty fetch."],"tags":["empty-result","authentication","xiaohongshu","session-expired"],"backgroundTag":"empty-scrape-result","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T17:17:51.833Z"}