Closed 14790897 closed 11 months ago
可以描述一下状况吗? 是因为对话节点的选择所以中断(像之前那样)还是整个对话都没有 regenerate 但莫名消失了一部份?
第一种
不好意思,你这个我有点不好复现了,如果愿意 debug 的话可以看下 getConversationChoice
结果正不正确,然后另一种可能有问题的是 continue 节点合并导致选择跳位置了
如果稍微看了下没有特别错误的话,把 getConversationChoice
的结果发到这里来我再看看
我去,这难度太高了,再说吧
不好意思,我给个步骤吧,确实我这样随口说一句太难了
pnpm install
pnpm run dev
getConversationChoice
并在 return 前加上 `console.log('getConversationChoice', nodes, conversationChoices)
https://github.com/pionxzh/chatgpt-exporter/blob/c9c76890ed676c0d7192bd1fe1f4181283db677d/src/page.ts#L85-L98大佬,我来了,使用pnpm dev安装插件之后,网页上没有出现导出按钮
要pnpm build,手动加载才有按钮
userscript.html?name=ChatGPT-Exporter.user.js&id=24936dc9-3c77-48d5-babb-f7a7f0fdfad2:1146 getConversationChoice (247) [null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, span.flex-grow.flex-shrink-0.tabular-nums, null, span.flex-grow.flex-shrink-0.tabular-nums, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, null, null, null, null, null, null, null, null, null, null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, null, null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, span.flex-grow.flex-shrink-0.tabular-nums, null, span.flex-grow.flex-shrink-0.tabular-nums, …][0 … 99][100 … 199][200 … 246]length: 247[[Prototype]]: Array(0) (247) [null, null, null, 2, null, 1, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, 1, null, 1, …]
index.ts-14ba51bb.js:1 manualModification
_app-35c14f0b7485bd2e.js:11
上面是按照要求使用console输出的内容,下面的md文件导出有问题 ChatGPT-php-数据库.json ChatGPT-php-数据库.md
我在看源代码了,感觉这个代码写得很标准
是不是通过api获取的原始数据不能显示用户的选择路径才需要从页面上获取网页数据?
是的,API 不管用户选到什麽路径,这些都是 ChatGPT 前端管的状态,所以只好从 UI 上重新抓取回来
它前端能做的我们也能做 我觉得可以从API返回的数据最底层开始从下往上遍历, 找到一个节点它的Children包含提问的id,那么这个就是他的父节点
我感觉我找到了正确的思路,读取前端的数据总归是不靠谱的
大佬,有没有可以用原始Json来测试转换效果的方法?
我一般是直接魔改 call API 的地方。。
好的,也可以
这个链表有什么作用吗?
把API返回的数据 (Map/List) 转为一个符合整个聊天顺序的 List
我看你是把所有节点都放在result里,没有使用current
https://gist.github.com/14790897/29533887b0b5aba7c8cecb419c4be72d 这是一个python例子,已经可以工作 我要开始改你的代码了
话说这个项目有必要用typescript吗?一大堆定义看着好复杂
我是新手,我也不是特别懂
@14790897 你拉一下最新,看看 https://github.com/pionxzh/chatgpt-exporter/commit/7d830723dba87e46b278831aad16acce72c418e5 是不是修好了问题
我发现最近的对话可以正常导出,但稍微久一点的对话不能全部导出 如下面的不能正常导出 ChatGPT-优选IP是什么?-2023-11-18.json