@streamapp/stream 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/README.md +24 -0
  2. package/bin/stream.mjs +89 -0
  3. package/package.json +34 -0
  4. package/resources/app/dist-panel/panel-boards.js +6 -0
  5. package/resources/app/dist-panel/panel-detail.css +1 -0
  6. package/resources/app/dist-panel/panel-detail.js +2141 -0
  7. package/resources/app/dist-panel/panel-manage.css +1 -0
  8. package/resources/app/dist-panel/panel-manage.js +2246 -0
  9. package/resources/app/dist-panel/panel-movie.css +1 -0
  10. package/resources/app/dist-panel/panel-movie.js +2268 -0
  11. package/resources/app/dist-panel/panel-research.css +1 -0
  12. package/resources/app/dist-panel/panel-research.js +316 -0
  13. package/resources/app/dist-panel/panel.css +1 -0
  14. package/resources/app/dist-panel/panel.js +463 -0
  15. package/resources/dsh-engine-lock/package-lock.json +9032 -0
  16. package/resources/extension/.output/chrome-mv3/assets/popup-C2NUZZQW.css +2 -0
  17. package/resources/extension/.output/chrome-mv3/background.js +1 -0
  18. package/resources/extension/.output/chrome-mv3/chunks/popup-BeBts9v2.js +50 -0
  19. package/resources/extension/.output/chrome-mv3/icon/128.png +0 -0
  20. package/resources/extension/.output/chrome-mv3/icon/16.png +0 -0
  21. package/resources/extension/.output/chrome-mv3/icon/32.png +0 -0
  22. package/resources/extension/.output/chrome-mv3/icon/48.png +0 -0
  23. package/resources/extension/.output/chrome-mv3/icon/96.png +0 -0
  24. package/resources/extension/.output/chrome-mv3/manifest.json +1 -0
  25. package/resources/extension/.output/chrome-mv3/popup.html +21 -0
  26. package/resources/packages/1lou/1lou-search.recipe.json +102 -0
  27. package/resources/packages/1lou/README.md +7 -0
  28. package/resources/packages/1lou/package.json +15 -0
  29. package/resources/packages/Douyin_TikTok_Download_API/README.md +23 -0
  30. package/resources/packages/Douyin_TikTok_Download_API/activate.ts +14 -0
  31. package/resources/packages/Douyin_TikTok_Download_API/adapter/adapter.ts +321 -0
  32. package/resources/packages/Douyin_TikTok_Download_API/adapter/danmaku.ts +21 -0
  33. package/resources/packages/Douyin_TikTok_Download_API/adapter/executor.ts +75 -0
  34. package/resources/packages/Douyin_TikTok_Download_API/adapter/normalize.ts +20 -0
  35. package/resources/packages/Douyin_TikTok_Download_API/manifests.yaml +521 -0
  36. package/resources/packages/Douyin_TikTok_Download_API/package.json +32 -0
  37. package/resources/packages/alist/README.md +14 -0
  38. package/resources/packages/alist/activate.ts +12 -0
  39. package/resources/packages/alist/adapter.ts +74 -0
  40. package/resources/packages/alist/manifests.yaml +76 -0
  41. package/resources/packages/alist/mounts.ts +120 -0
  42. package/resources/packages/alist/package.json +24 -0
  43. package/resources/packages/alist/presets.ts +53 -0
  44. package/resources/packages/alist/provision.ts +84 -0
  45. package/resources/packages/baidu/baidu-share.recipe.json +93 -0
  46. package/resources/packages/baidu/package.json +16 -0
  47. package/resources/packages/baidu-search/baidu-search.recipe.json +129 -0
  48. package/resources/packages/baidu-search/package.json +25 -0
  49. package/resources/packages/brave/brave-search.recipe.json +129 -0
  50. package/resources/packages/brave/package.json +25 -0
  51. package/resources/packages/browser/README.md +3 -0
  52. package/resources/packages/browser/adapter.ts +44 -0
  53. package/resources/packages/browser/manifests.yaml +20 -0
  54. package/resources/packages/browser/package.json +13 -0
  55. package/resources/packages/bt0/README.md +7 -0
  56. package/resources/packages/bt0/bt0-search.recipe.json +69 -0
  57. package/resources/packages/bt0/bt0-tlist.recipe.json +74 -0
  58. package/resources/packages/bt0/package.json +15 -0
  59. package/resources/packages/btbtla/README.md +6 -0
  60. package/resources/packages/btbtla/btbtla-detail.recipe.json +76 -0
  61. package/resources/packages/btbtla/btbtla-search.recipe.json +74 -0
  62. package/resources/packages/btbtla/package.json +15 -0
  63. package/resources/packages/builtin/README.md +8 -0
  64. package/resources/packages/builtin/manifests.yaml +487 -0
  65. package/resources/packages/builtin/package.json +14 -0
  66. package/resources/packages/douyin/README.md +39 -0
  67. package/resources/packages/douyin/douyin-collection.recipe.json +127 -0
  68. package/resources/packages/douyin/douyin-search.recipe.json +163 -0
  69. package/resources/packages/douyin/package.json +16 -0
  70. package/resources/packages/firecrawl/firecrawl-create-key.recipe.json +81 -0
  71. package/resources/packages/firecrawl/firecrawl-read-key.recipe.json +56 -0
  72. package/resources/packages/firecrawl/package.json +16 -0
  73. package/resources/packages/google/google-search.recipe.json +127 -0
  74. package/resources/packages/google/package.json +24 -0
  75. package/resources/packages/groq/groq-create-key.recipe.json +67 -0
  76. package/resources/packages/groq/package.json +16 -0
  77. package/resources/packages/huggingface/README.md +7 -0
  78. package/resources/packages/huggingface/huggingface-spaces.recipe.json +73 -0
  79. package/resources/packages/huggingface/package.json +15 -0
  80. package/resources/packages/imdb/imdb-chart.recipe.json +75 -0
  81. package/resources/packages/imdb/package.json +15 -0
  82. package/resources/packages/index.ts +15 -0
  83. package/resources/packages/iqiyi/README.md +10 -0
  84. package/resources/packages/iqiyi/iqiyi-cn-album.recipe.json +80 -0
  85. package/resources/packages/iqiyi/iqiyi-cn-search.recipe.json +71 -0
  86. package/resources/packages/iqiyi/package.json +15 -0
  87. package/resources/packages/lizhi/README.md +35 -0
  88. package/resources/packages/lizhi/lizhi-user.recipe.json +80 -0
  89. package/resources/packages/lizhi/package.json +15 -0
  90. package/resources/packages/manmanbuy/README.md +16 -0
  91. package/resources/packages/manmanbuy/manmanbuy-search.recipe.json +115 -0
  92. package/resources/packages/manmanbuy/package.json +15 -0
  93. package/resources/packages/mineru/README.md +38 -0
  94. package/resources/packages/mineru/package.json +28 -0
  95. package/resources/packages/pansou/README.md +14 -0
  96. package/resources/packages/pansou/activate.ts +11 -0
  97. package/resources/packages/pansou/adapter.ts +94 -0
  98. package/resources/packages/pansou/manifests.yaml +50 -0
  99. package/resources/packages/pansou/package.json +27 -0
  100. package/resources/packages/qq/package.json +15 -0
  101. package/resources/packages/qq/qq-send.recipe.json +104 -0
  102. package/resources/packages/quark/package.json +16 -0
  103. package/resources/packages/quark/quark-share.recipe.json +40 -0
  104. package/resources/packages/reddit/package.json +15 -0
  105. package/resources/packages/reddit/reddit-sub.recipe.json +77 -0
  106. package/resources/packages/replay/README.md +7 -0
  107. package/resources/packages/replay/package.json +13 -0
  108. package/resources/packages/rsshub/README.md +16 -0
  109. package/resources/packages/rsshub/manifests.yaml +107 -0
  110. package/resources/packages/rsshub/package.json +21 -0
  111. package/resources/packages/telegram/package.json +15 -0
  112. package/resources/packages/telegram/telegram-search.recipe.json +125 -0
  113. package/resources/packages/tencent/README.md +11 -0
  114. package/resources/packages/tencent/package.json +15 -0
  115. package/resources/packages/tencent/tencent-cn-episode.recipe.json +98 -0
  116. package/resources/packages/toubiec/README.md +38 -0
  117. package/resources/packages/toubiec/package.json +15 -0
  118. package/resources/packages/toubiec/toubiec-download.recipe.json +58 -0
  119. package/resources/packages/toubiec/toubiec-playlist.recipe.json +49 -0
  120. package/resources/packages/toubiec/toubiec-search.recipe.json +80 -0
  121. package/resources/packages/voiceprint/README.md +31 -0
  122. package/resources/packages/voiceprint/package.json +36 -0
  123. package/resources/packages/wikipedia/package.json +15 -0
  124. package/resources/packages/wikipedia/wikipedia-award-list.recipe.json +102 -0
  125. package/resources/packages/xhs/README.md +32 -0
  126. package/resources/packages/xhs/package.json +21 -0
  127. package/resources/packages/xhs/xhs-detail.recipe.json +129 -0
  128. package/resources/packages/xhs/xhs-home.recipe.json +144 -0
  129. package/resources/packages/xhs/xhs-like.recipe.json +96 -0
  130. package/resources/packages/xhs/xhs-search.recipe.json +138 -0
  131. package/resources/packages/xueqiu/README.md +9 -0
  132. package/resources/packages/xueqiu/package.json +16 -0
  133. package/resources/packages/xueqiu/xueqiu-detail.recipe.json +92 -0
  134. package/resources/packages/xueqiu/xueqiu-user.recipe.json +75 -0
  135. package/resources/packages/zhipu/package.json +16 -0
  136. package/resources/packages/zhipu/zhipu-create-key.recipe.json +74 -0
  137. package/resources/packages/zuna/README.md +31 -0
  138. package/resources/packages/zuna/package.json +15 -0
  139. package/resources/packages/zuna/zuna-album.recipe.json +46 -0
  140. package/resources/packages/zuna/zuna-download.recipe.json +53 -0
  141. package/resources/packages/zuna/zuna-playlist.recipe.json +46 -0
  142. package/resources/packages/zuna/zuna-search.recipe.json +96 -0
  143. package/resources/server.mjs +238876 -0
  144. package/resources/sidequest.jobs.js +1 -0
package/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # Stream
2
+
3
+ 把很多信息源汇进一个收件箱,并整个开放给 AI(MCP)的自托管信息流层。
4
+
5
+ ```bash
6
+ npx @streamapp/stream
7
+ ```
8
+
9
+ 需要 **Node 20+**,其余什么都不用装。装完打开 <http://127.0.0.1:8900>。
10
+
11
+ ```
12
+ stream [--port <n>] [--data <dir>]
13
+
14
+ --port, -p <n> 监听端口(默认 8900)
15
+ --data <dir> 数据目录(默认 ~/.stream)
16
+ ```
17
+
18
+ - **数据全在 `~/.stream`**:删掉它就是重置;卸载 = 删掉它 + `npm rm -g @streamapp/stream`。
19
+ - **一个端口**:前端、`/api/*`、`/ws`、插件全走 8900 这一扇门。
20
+ - **第一次打开会等一会儿**:工作台的引擎在后台装(约半分钟),装完页面自己就是它。
21
+ - **要采需要登录的站**(小红书 / B站 / 抖音…)得装一个 Chrome 扩展:Stream 自己不带浏览器,
22
+ 采集借你自己那个 Chrome 的登录态。界面上会引导你装,也可以让它替你装。
23
+
24
+ 源码与文档:<https://github.com/JaggerH/stream>
package/bin/stream.mjs ADDED
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __streamCreateRequire } from 'node:module'; const require = __streamCreateRequire(import.meta.url);
3
+
4
+ // src/install/cli-entry.ts
5
+ import { dirname, join as join2 } from "node:path";
6
+ import { fileURLToPath, pathToFileURL } from "node:url";
7
+ import { existsSync, mkdirSync } from "node:fs";
8
+
9
+ // src/install/cli.ts
10
+ import { homedir } from "node:os";
11
+ import { join, resolve } from "node:path";
12
+ function parseCliArgs(argv) {
13
+ const out = { help: false, version: false, unknown: [] };
14
+ for (let i = 0; i < argv.length; i++) {
15
+ const a = argv[i];
16
+ const eq = a.indexOf("=");
17
+ const [flag, inline] = eq > 0 ? [a.slice(0, eq), a.slice(eq + 1)] : [a, void 0];
18
+ const take = () => inline ?? argv[++i];
19
+ if (flag === "--help" || flag === "-h") out.help = true;
20
+ else if (flag === "--version" || flag === "-v") out.version = true;
21
+ else if (flag === "--port" || flag === "-p") {
22
+ const n = Number(take());
23
+ if (!Number.isInteger(n) || n <= 0 || n > 65535) out.unknown.push(a);
24
+ else out.port = n;
25
+ } else if (flag === "--data" || flag === "--data-dir") {
26
+ const v = take();
27
+ if (!v) out.unknown.push(a);
28
+ else out.dataDir = resolve(v);
29
+ } else out.unknown.push(a);
30
+ }
31
+ return out;
32
+ }
33
+ function defaultDataDir(env = process.env, home = homedir()) {
34
+ const explicit = env.STREAM_DATA_DIR;
35
+ if (explicit && explicit.trim()) return resolve(explicit);
36
+ return join(home, ".stream");
37
+ }
38
+ var HELP = `stream \u2014 \u81EA\u6258\u7BA1\u7684\u4FE1\u606F\u6D41\u5C42
39
+
40
+ \u7528\u6CD5\uFF1A
41
+ stream [--port <n>] [--data <dir>]
42
+
43
+ --port, -p <n> \u76D1\u542C\u7AEF\u53E3\uFF08\u9ED8\u8BA4 8900\uFF09
44
+ --data <dir> \u53EF\u5199\u72B6\u6001\u7684\u6839\u76EE\u5F55\uFF08\u9ED8\u8BA4 ~/.stream\uFF09
45
+ --version, -v \u6253\u5370\u7248\u672C
46
+ --help, -h \u8FD9\u6BB5
47
+
48
+ \u88C5\u5B8C\u4E4B\u540E\uFF1A
49
+ \u6253\u5F00 http://127.0.0.1:8900 \u2014\u2014 \u9996\u6B21\u8FDB\u53BB\u4F1A\u5F15\u5BFC\u4F60\u628A Chrome \u6269\u5C55\u88C5\u4E0A\uFF08\u91C7\u96C6\u8981\u501F\u4F60\u7684\u767B\u5F55\u6001\uFF09\u3002
50
+ \u6570\u636E\u5168\u5728 --data \u90A3\u4E2A\u76EE\u5F55\u91CC\uFF0C\u5220\u6389\u5B83\u5C31\u7B49\u4E8E\u91CD\u7F6E\uFF1B\u5378\u8F7D\u5C31\u662F\u5220\u6389\u5B83 + npm rm -g @streamapp/stream\u3002
51
+ `;
52
+ function envForServer(opts2, base = process.env) {
53
+ return {
54
+ ...base,
55
+ STREAM_DATA_DIR: opts2.dataDir ?? defaultDataDir(base),
56
+ ...opts2.port ? { STREAM_PORT: String(opts2.port) } : {}
57
+ };
58
+ }
59
+
60
+ // src/install/cli-entry.ts
61
+ var opts = parseCliArgs(process.argv.slice(2));
62
+ if (opts.unknown.length) {
63
+ console.error(`stream: \u4E0D\u8BA4\u8BC6\u7684\u53C2\u6570 ${opts.unknown.join(" ")}
64
+ `);
65
+ console.error(HELP);
66
+ process.exit(2);
67
+ }
68
+ if (opts.help) {
69
+ console.log(HELP);
70
+ process.exit(0);
71
+ }
72
+ if (opts.version) {
73
+ console.log(true ? "0.0.1" : "dev");
74
+ process.exit(0);
75
+ }
76
+ var here = dirname(fileURLToPath(import.meta.url));
77
+ var resources = join2(here, "..", "resources");
78
+ var server = join2(resources, "server.mjs");
79
+ if (!existsSync(server)) {
80
+ console.error(`stream: \u8FD9\u4EFD\u5B89\u88C5\u91CC\u6CA1\u6709\u540E\u7AEF\uFF08${server} \u4E0D\u5728\uFF09\u2014\u2014\u5305\u53EF\u80FD\u662F\u7A7A\u58F3\uFF0C\u91CD\u88C5\u4E00\u6B21\uFF1Anpm i -g @streamapp/stream`);
81
+ process.exit(1);
82
+ }
83
+ var dataDir = opts.dataDir ?? defaultDataDir();
84
+ mkdirSync(dataDir, { recursive: true });
85
+ Object.assign(process.env, envForServer(opts));
86
+ process.chdir(resources);
87
+ console.log(`[stream] \u6570\u636E\u76EE\u5F55 ${dataDir}`);
88
+ console.log(`[stream] \u8D77\u6765\u4E4B\u540E\u6253\u5F00 http://127.0.0.1:${process.env.STREAM_PORT ?? 8900}`);
89
+ await import(pathToFileURL(server).href);
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@streamapp/stream",
3
+ "version": "0.0.1",
4
+ "description": "Stream — a self-hostable information-flow layer: many sources into one inbox, exposed to AI over MCP",
5
+ "type": "module",
6
+ "bin": {
7
+ "stream": "bin/stream.mjs"
8
+ },
9
+ "files": [
10
+ "bin/stream.mjs",
11
+ "resources/",
12
+ "README.md"
13
+ ],
14
+ "scripts": {
15
+ "prepack": "node ../scripts/assert-npm-artifact.mjs"
16
+ },
17
+ "engines": {
18
+ "node": ">=20"
19
+ },
20
+ "dependencies": {
21
+ "@sidequest/sqlite-backend": "1.16.2",
22
+ "better-sqlite3": "^11.3.0",
23
+ "playwright-core": "^1.60.0"
24
+ },
25
+ "license": "MIT",
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/JaggerH/stream.git",
29
+ "directory": "cli"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ }
34
+ }