fork失败
Resolved#1840jmzdCreated at 25 days ago

fork失败

  • 有没有具体一点的信息?

  • 有没有具体一点的信息?

    这个不知道为啥好了,可能和网络有关吧;
    现在是发现加载对话列表会出现循环,加载出5000条对话,实际是才50多条,而且这5000条对话里还没包含7天前和30天前的对话

    1780130539802.png
    1780130956244.png
    1780130917535.png

  • jmzd
    25 days agoclosed the feedback
  • jmzd
    25 days agoreopened the feedback
  • 方便提个 issue 吗?空了我修一下,感谢反馈

  • 方便提个 issue 吗?空了我修一下,感谢反馈

    问了下ai他改正常了


    总结

    问题

    DeepSeek 对话管理脚本(DS Enhance)加载对话列表时出现死循环——实际只有 54 条对话,却加载了 5000 条(每页 50 条 × 100 轮)。

    根因

    DeepSeek 修改了 chat_session/fetch_page API 的行为:带分页参数(countcursoroffset)时,只返回前 50 条且 has_more 永远为 true,导致循环无法终止。而不带任何参数时,API 直接返回全部对话。

    修复

    fetchAllSessions() 从 100+ 行的游标分页逻辑简化为一行裸请求:

    async function fetchAllSessions() {
        const data = await api('/chat_session/fetch_page');
        return data?.biz_data?.chat_sessions || [];
    }
    

    源代码

      async function fetchAllSessions() {
        const data = await api('/chat_session/fetch_page');
        return data?.biz_data?.chat_sessions || [];
      }
    

    ai改的代码

      async function fetchSessionsPage(cursor) {
        let url = '/chat_session/fetch_page?count=50';
        if (cursor) url += `&lte_cursor.pinned=${cursor.pinned}&lte_cursor.updated_at=${cursor.updated_at}`;
        return api(url);
      }
    
      async function fetchAllSessions() {
        const sessions = [];
        let cursor = null;
        for (let i = 0; i < 100; i++) {
          const data = await fetchSessionsPage(cursor);
          const biz = data?.biz_data;
          const list = biz?.chat_sessions || [];
          sessions.push(...list);
          if (!biz?.has_more || !list.length) break;
          const last = list[list.length - 1];
          cursor = { pinned: last.pinned ? 1 : 0, updated_at: last.updated_at };
        }
        return sessions;
      }
    

    1780133213673.png

  • jmzd
    25 days agoclosed the feedback
  • 不行,我用的就是最新版本,还是有这个问题,依然是循环前x天

No data
Login to comment
Labels
Watch
Participants