[卖瓜 🍉] Shmily-聊天记录归档 支持 QQ、Wechat、SMS 等

2023-06-01 11:28:21 +08:00
 lqzhgood

❓ 这是啥

Github - lqzhgood/Shmily

这好像是一个可能没用又可能很有用的工具。

能归档 QQ 、MobileQQ 、Wechat 、SMS 、CallLog 、Camera 、Email 等记录。more

并支持筛选、搜索、评论、图标统计分析等功能。

少啰嗦,先看 Demo http://demo.shmily.lqzh.me/(托管在 Github ,访问可能略慢)

🔆 亮点

我看过 现有 的聊天记录归档项目大都有以下问题

基于以上问题,Shimly 的亮点在于

总结: 没看过这么完整且好用的数据归档工具

👀 过程中的发现

都看到这了不拿出点干货都骗不到 star 了。

💖 爱发电

都到这了

6233 次点击
所在节点    分享创造
49 条回复
ppBruce
2023-06-06 17:19:43 +08:00
进行到 dbToJson 卡住了。
1.input 文件夹不存在,看起来是手动在'2 dbToJson'下自己建一个?
2.修改 config.js 填入需要导入的对方微信 id ,这步是为什么呢?是不是可以理解为每次只能把一个对话转为 json ,多个的话需要手动执行多次?
3.在 2 dbToJson 下执行 node run build 一直报错。
node:internal/modules/cjs/loader:1078
throw err;
^
Error: Cannot find module 'C:\wechat\tools\Shmily-Get-Wechat-main\export\db-android\2 dbToJson\run'
[90m at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15) [39m
[90m at Module._load (node:internal/modules/cjs/loader:920:27) [39m
[90m at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) [39m
[90m at node:internal/main/run_main_module:23:47 [39m {
code: [32m'MODULE_NOT_FOUND' [39m,
requireStack: []
}
Node.js v18.16.0

4.在 2 dbToJson 下执行 node index.js ,执行一段时间后,报错。
正在解密 Message
java.lang.OutOfMemoryError: Java heap space
at java.io.BufferedWriter.<init>(Unknown Source)
at java.io.BufferedWriter.<init>(Unknown Source)
at sqlite.test.ReadTxt.writeDocument(ReadTxt.java:116)
at sqlite.test.ReadTxt.main(ReadTxt.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
node:child_process:960
throw err;
^
Error: Command failed: decodeMessageTable.exe
java.lang.OutOfMemoryError: Java heap space
at java.io.BufferedWriter.<init>(Unknown Source)
at java.io.BufferedWriter.<init>(Unknown Source)
at sqlite.test.ReadTxt.writeDocument(ReadTxt.java:116)
at sqlite.test.ReadTxt.main(ReadTxt.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
at checkExecSyncError (node:child_process:885:11)
at execSync (node:child_process:957:15)
at Object.<anonymous> (C:\wechat\tools\Shmily-Get-Wechat-main\export\db-android\2 dbToJson\index.js:13:1)
at Module._compile (node:internal/modules/cjs/loader:1254:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:23:47 {
status: 1,
signal: null,
output: [
null,
'',
'java.lang.OutOfMemoryError: Java heap space\r\n' +
'\tat java.io.BufferedWriter.<init>(Unknown Source)\r\n' +
'\tat java.io.BufferedWriter.<init>(Unknown Source)\r\n' +
'\tat sqlite.test.ReadTxt.writeDocument(ReadTxt.java:116)\r\n' +
'\tat sqlite.test.ReadTxt.main(ReadTxt.java:86)\r\n' +
'\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n' +
'\tat sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r\n' +
'\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r\n' +
'\tat java.lang.reflect.Method.invoke(Unknown Source)\r\n' +
'\tat com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)\r\n' +
'\tat com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)\r\n'
],
pid: 10184,
stdout: '',
stderr: 'java.lang.OutOfMemoryError: Java heap space\r\n' +
'\tat java.io.BufferedWriter.<init>(Unknown Source)\r\n' +
'\tat java.io.BufferedWriter.<init>(Unknown Source)\r\n' +
'\tat sqlite.test.ReadTxt.writeDocument(ReadTxt.java:116)\r\n' +
'\tat sqlite.test.ReadTxt.main(ReadTxt.java:86)\r\n' +
'\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n' +
'\tat sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)\r\n' +
'\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)\r\n' +
'\tat java.lang.reflect.Method.invoke(Unknown Source)\r\n' +
'\tat com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84)\r\n' +
'\tat com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)\r\n'
}
Node.js v18.16.0
lqzhgood
2023-06-07 00:22:50 +08:00
@ppBruce

1. git 不允许空文件夹
2. 1 次 1 个, 有多个的需求可以 pr
3. `npm run build` 文档错误
4. jvm 内存设置过小 // github issues 里有解

- 本帖不讨论问题,有问题 Github 上提`issues`,别人也能看到并借鉴
- 有问题先关键词搜索 `issues`,若无则提 `issues`
- 代码格式化 过长折叠
genghisun
2023-06-12 16:41:47 +08:00
太牛了!!
ccxuy
2023-11-19 13:28:28 +08:00
idea 非常棒啊, 可是有点看不懂怎么部署使用
lqzhgood
2023-11-21 00:03:50 +08:00
@ccxuy 下个月闲了我再用 docker 封装一下简化过程吧, 然后复杂的地方补充一些视频或图文

这个 ( 面对非程序员 ) 的文档确实太难写透了
ccxuy
251 天前
@lqzhgood hello, 面对程序猿 docker 部署的文档有了吗 XD
lqzhgood
249 天前
@ccxuy 补了视频教程
流程上基本就是

导出文件
修改配置
命令 1
命令 2

Doxker 感觉也没啥必要~
FlutterKira
244 天前
demo 完全打不开
lqzhgood
242 天前
@FlutterKira 看网络质量了, demo 是放在 Github Page 上的.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/944851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX