@luoyi-dsh/instagram-scroll 0.0.0-stage → 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +158 -3
- package/client.js +1060 -0
- package/cordis.patch.yml +9 -0
- package/dist/config.d.ts +19 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +83 -0
- package/dist/config.js.map +1 -0
- package/dist/core/scrollDuty.d.ts +29 -0
- package/dist/core/scrollDuty.d.ts.map +1 -0
- package/dist/core/scrollDuty.js +185 -0
- package/dist/core/scrollDuty.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +235 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/hostdeps.d.ts +5 -0
- package/dist/lib/hostdeps.d.ts.map +1 -0
- package/dist/lib/hostdeps.js +28 -0
- package/dist/lib/hostdeps.js.map +1 -0
- package/dist/lib/ledger.d.ts +55 -0
- package/dist/lib/ledger.d.ts.map +1 -0
- package/dist/lib/ledger.js +140 -0
- package/dist/lib/ledger.js.map +1 -0
- package/dist/tools/scrollTools.d.ts +7 -0
- package/dist/tools/scrollTools.d.ts.map +1 -0
- package/dist/tools/scrollTools.js +82 -0
- package/dist/tools/scrollTools.js.map +1 -0
- package/package.json +64 -5
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 瑞米
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,158 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
# DSH Instagram 滾動瀏覽與探索插件 (`@luoyi-dsh/instagram-scroll`)
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
|
|
5
|
+
> **DeepSeek Harness (DSH)** 專屬的 Instagram 動態探索、智慧推坑與日報生成外掛。
|
|
6
|
+
> 具備核心能力:**定時或手動替主人刷一輪 Instagram 首頁動態與主題標籤、逐條閱讀內文評估主人興趣、自動點讚與留言推坑,並自動彙整生成每日 Markdown 探索日報**。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🌟 核心特性
|
|
11
|
+
|
|
12
|
+
1. **自動動態探索巡查 (Scroll Duty)**:
|
|
13
|
+
- 定期輪詢首頁動態牆 (Timeline Feed) 與指定主題標籤 (Hashtags)。
|
|
14
|
+
- 逐則貼文抓取標題、作者、標籤與完整內文。
|
|
15
|
+
2. **LLM 價值評估與推坑 (AI Recommendation)**:
|
|
16
|
+
- 由大語言模型依據主人的興趣 Prompt 深度分析貼文內容與價值評分。
|
|
17
|
+
- 若達標(預設 > 75 分),自動在貼文下點讚並留言 `@目標用戶` 附上真誠自然的推薦語。
|
|
18
|
+
3. **每日探索日報 (Daily Markdown Report)**:
|
|
19
|
+
- 自動將今日瀏覽之所有精選貼文、摘要與推薦紀錄整理為 Markdown 日報。
|
|
20
|
+
- 儲存於 `data/reports/YYYY-MM-DD.md`,可隨時在 Web 面板查看與回溯。
|
|
21
|
+
4. **狀態帳本與嚴格去重控制**:
|
|
22
|
+
- `data/scroll_ledger.json` 記錄已看貼文 PK 與今日推坑次數,避免重複推坑或重複閱讀,並防止觸發風控。
|
|
23
|
+
5. **DSH Web 瀏覽器端介面 (`client.js`)**:
|
|
24
|
+
- 提供直觀動態牆瀑布流預覽、即時手動觸發刷動態按鈕、日報閱讀器與自訂設定面板。
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 📦 安裝方式
|
|
29
|
+
|
|
30
|
+
使用 DSH CLI 安裝插件:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
dsh plugin --profile web add @luoyi-dsh/instagram-scroll
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
或透過 npm 安裝:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install @luoyi-dsh/instagram-scroll
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 🛠️ 提供之 DSH Tools
|
|
45
|
+
|
|
46
|
+
| 工具名稱 | 說明 | 參數 |
|
|
47
|
+
| :--- | :--- | :--- |
|
|
48
|
+
| **`ig_run_scroll_duty_now`** | 立即手動替主人刷一輪 Instagram 動態與探索,讀取貼文進行評估、點讚與留言推坑 | 無 |
|
|
49
|
+
| **`ig_scroll_feed`** | 滾動讀取 Instagram 時間軸最新動態貼文(含作者、讚數、內文摘要) | `limit` (number,預設 15,最大 50) |
|
|
50
|
+
| **`ig_explore_topics`** | 依照指定主題或探索標籤滾動閱讀熱門貼文 | `tag` (string,必填), `limit` (number,預設 15) |
|
|
51
|
+
| **`ig_like_feed_post`** | 在滾動瀏覽過程中對感興趣的 Instagram 貼文按讚 | `media_pk` (string,必填) |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 💻 使用範例
|
|
56
|
+
|
|
57
|
+
### 1. DSH AI 自然語言直接調用
|
|
58
|
+
|
|
59
|
+
在 DSH 對話中,主模型可直接以自然語言執行滾動探索或瀏覽:
|
|
60
|
+
|
|
61
|
+
```text
|
|
62
|
+
💬 範例 1:執行一輪完整的動態探索與推坑
|
|
63
|
+
「請立刻替我刷一輪 Instagram 動態牆,看看有沒有適合我的技術新貼文並推薦給我」
|
|
64
|
+
-> AI 將調用:ig_run_scroll_duty_now()
|
|
65
|
+
|
|
66
|
+
💬 範例 2:滾動瀏覽首頁動態貼文
|
|
67
|
+
「幫我刷最新 10 則 Instagram 動態」
|
|
68
|
+
-> AI 將調用:ig_scroll_feed(limit=10)
|
|
69
|
+
|
|
70
|
+
💬 範例 3:探索特定主題標籤
|
|
71
|
+
「探索 Instagram 上 #deepseek 標籤的熱門貼文」
|
|
72
|
+
-> AI 將調用:ig_explore_topics(tag="deepseek", limit=15)
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
### 2. 透過 HTTP REST API 調用 (DSH Web 路由)
|
|
78
|
+
|
|
79
|
+
> 💡 **提示**:DSH Web 預設埠號為 **3080**。插件已註冊官方 REST API(前綴 `/api/instagram/scroll`):
|
|
80
|
+
|
|
81
|
+
#### 1. 手動觸發滾動一輪 (`POST /api/instagram/scroll/run`)
|
|
82
|
+
```bash
|
|
83
|
+
curl -X POST http://127.0.0.1:3080/api/instagram/scroll/run
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### 2. 獲取當前滾動狀態與今日統計 (`GET /api/instagram/scroll/status`)
|
|
87
|
+
```bash
|
|
88
|
+
curl http://127.0.0.1:3080/api/instagram/scroll/status
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### 3. 讀取今日探索日報內容 (`GET /api/instagram/scroll/report`)
|
|
92
|
+
```bash
|
|
93
|
+
curl http://127.0.0.1:3080/api/instagram/scroll/report
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### 4. 讀取與更新設定 (`GET / POST /api/instagram/scroll/config`)
|
|
97
|
+
```bash
|
|
98
|
+
# 取得設定
|
|
99
|
+
curl http://127.0.0.1:3080/api/instagram/scroll/config
|
|
100
|
+
|
|
101
|
+
# 更新設定
|
|
102
|
+
curl -X POST http://127.0.0.1:3080/api/instagram/scroll/config \
|
|
103
|
+
-H "Content-Type: application/json" \
|
|
104
|
+
-d '{"masterUsername":"your_username","minScore":80}'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## ⚙️ 設定參數說明 (Settings)
|
|
110
|
+
|
|
111
|
+
可於 DSH 設定面板或插件目錄下的 `data/config.json` 中配置:
|
|
112
|
+
|
|
113
|
+
| 欄位名稱 | 型別 | 預設值 | 說明 |
|
|
114
|
+
| :--- | :--- | :--- | :--- |
|
|
115
|
+
| **`masterUsername`** | string | `""` | 主人的 Instagram 使用者名稱(達標時在留言區 @主人 推薦) |
|
|
116
|
+
| **`interestTags`** | array | `["ai", "deepseek", "coding", "tech"]` | 主人感興趣的主題標籤或領域關鍵字清單 |
|
|
117
|
+
| **`personaPrompt`** | string | *預設人設提示詞* | 評估貼文趣味度與撰寫 @主人 推薦語的人設 Prompt |
|
|
118
|
+
| **`minScore`** | number | `75` | 推坑門檻分數(0-100,達標才在貼文下留言推薦) |
|
|
119
|
+
| **`dailyRecommendCap`** | number | `5` | 每日向主人推坑留言的上限則數(防止過度打擾與風控) |
|
|
120
|
+
| **`scrollIntervalMinutes`**| number | `60` | 自動巡查刷動態牆的時間週期(分鐘) |
|
|
121
|
+
| **`autoScrollEnabled`** | boolean| `true` | 是否啟用背景定時自動刷動態牆任務 |
|
|
122
|
+
| **`likeOnRecommend`** | boolean| `true` | 決定推薦給主人時是否順便對該貼文點讚 |
|
|
123
|
+
| **`batchSize`** | number | `15` | 每輪滾動瀏覽抓取的貼文筆數 (10-30) |
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 📁 目錄結構
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
dsh-instagram-scroll/
|
|
131
|
+
├── cordis.patch.yml # DSH bundle patch 宣告
|
|
132
|
+
├── package.json # 模組定義與依賴
|
|
133
|
+
├── tsconfig.json # TypeScript 編譯設定
|
|
134
|
+
├── assets/
|
|
135
|
+
│ └── banner.png # 宣傳橫幅
|
|
136
|
+
├── client.js # DSH Web 前端面板 (動態瀏覽、手動觸發、日報查看)
|
|
137
|
+
├── data/
|
|
138
|
+
│ ├── config.json # 本地設定檔
|
|
139
|
+
│ ├── scroll_ledger.json # 瀏覽去重與統計帳本
|
|
140
|
+
│ └── reports/ # 每日日報儲存目錄 (YYYY-MM-DD.md)
|
|
141
|
+
└── src/
|
|
142
|
+
├── index.ts # Cordis 外掛入口、排程定時器與 Web API
|
|
143
|
+
├── config.ts # Schemastery 設定模型
|
|
144
|
+
├── types.d.ts # 型別宣告
|
|
145
|
+
├── core/
|
|
146
|
+
│ └── scrollDuty.ts # 滾動瀏覽、大模型評估、點讚與推坑核心邏輯
|
|
147
|
+
├── lib/
|
|
148
|
+
│ ├── hostdeps.ts # DSH 宿主相容層
|
|
149
|
+
│ └── ledger.ts # 日報生成與歷史去重帳本管理器
|
|
150
|
+
└── tools/
|
|
151
|
+
└── scrollTools.ts # 向 DSH Tools 註冊之專用滾動瀏覽工具
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 📄 授權條款
|
|
157
|
+
|
|
158
|
+
本專案採用 [MIT License](LICENSE) 開源授權。
|