grinders-farm 0.3.1 → 0.3.3

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 (41) hide show
  1. package/README.md +211 -17
  2. package/SKILL.md +152 -9
  3. package/assets/tiles/crops/carrot_growing_1.png +0 -0
  4. package/assets/tiles/crops/carrot_growing_2.png +0 -0
  5. package/assets/tiles/crops/carrot_ready.png +0 -0
  6. package/assets/tiles/crops/carrot_seed.png +0 -0
  7. package/assets/tiles/crops/carrot_sprout.png +0 -0
  8. package/assets/tiles/crops/potato_growing_1.png +0 -0
  9. package/assets/tiles/crops/potato_growing_2.png +0 -0
  10. package/assets/tiles/crops/potato_ready.png +0 -0
  11. package/assets/tiles/crops/potato_seed.png +0 -0
  12. package/assets/tiles/crops/potato_sprout.png +0 -0
  13. package/assets/tiles/crops/pumpkin_growing_1.png +0 -0
  14. package/assets/tiles/crops/pumpkin_growing_2.png +0 -0
  15. package/assets/tiles/crops/pumpkin_ready.png +0 -0
  16. package/assets/tiles/crops/pumpkin_seed.png +0 -0
  17. package/assets/tiles/crops/pumpkin_sprout.png +0 -0
  18. package/assets/tiles/crops/tomato_growing_1.png +0 -0
  19. package/assets/tiles/crops/tomato_growing_2.png +0 -0
  20. package/assets/tiles/crops/tomato_ready.png +0 -0
  21. package/assets/tiles/crops/tomato_seed.png +0 -0
  22. package/assets/tiles/crops/tomato_sprout.png +0 -0
  23. package/assets/tiles/terrain/empty.png +0 -0
  24. package/assets/tiles/terrain/watered.png +0 -0
  25. package/dist/scripts/generate-demo-farm-image.d.ts +2 -0
  26. package/dist/scripts/generate-demo-farm-image.d.ts.map +1 -0
  27. package/dist/scripts/generate-demo-farm-image.js +54 -0
  28. package/dist/scripts/generate-demo-farm-image.js.map +1 -0
  29. package/dist/src/adapters/daemon.d.ts +1 -1
  30. package/dist/src/adapters/oneshot.js +0 -0
  31. package/dist/src/adapters/terminal.js +0 -0
  32. package/dist/src/game/engine.js +3 -3
  33. package/dist/src/game/engine.js.map +1 -1
  34. package/dist/src/local-auto.d.ts.map +1 -1
  35. package/dist/src/local-auto.js +25 -4
  36. package/dist/src/local-auto.js.map +1 -1
  37. package/dist/src/render/image-renderer.d.ts.map +1 -1
  38. package/dist/src/render/image-renderer.js +21 -1
  39. package/dist/src/render/image-renderer.js.map +1 -1
  40. package/docs/images/demo-farm.png +0 -0
  41. package/package.json +4 -1
package/README.md CHANGED
@@ -1,32 +1,224 @@
1
1
  # 🌿 Grinder's Farm
2
2
 
3
- 一个轻量像素农场游戏:种地、浇水、收获、卖货、接订单。
4
- 你可以在终端玩,也可以在 OpenClaw 的聊天渠道里玩。
3
+ <p align="center">
4
+ <img src="docs/images/demo-farm.png" alt="Grinder's Farm — 4×5 pixel farm grid (four crops, multiple growth stages)" width="444" />
5
+ </p>
5
6
 
6
- ## 这款游戏有什么
7
+ <p align="center"><sub>Demo render · Rows A–D: carrot, potato, tomato, pumpkin · Columns: early → mature growth</sub></p>
8
+ <p align="center"><sub>示意图 · 行 A–D:胡萝卜、土豆、番茄、南瓜 · 列:生长阶段由早到晚</sub></p>
7
9
 
8
- - 4x5 农田网格,开局 50G
10
+ **Languages:** [English](#english) · [中文](#中文)
11
+
12
+ ---
13
+
14
+ ## English
15
+
16
+ A lightweight pixel-art farm sim: plant, water, harvest, sell, and fulfill orders.
17
+ Play in the **terminal** (CLI only) or in **OpenClaw** chat (Telegram, WebChat, etc.).
18
+
19
+ ### What you need (new users)
20
+
21
+ | Requirement | Why |
22
+ |---|---|
23
+ | **Node.js** (includes `npm`) | Runs the game and installs packages from npm. |
24
+ | **OpenClaw CLI + Gateway** | Only if you play **in chat**. The Gateway must be running so `/farm` reaches the plugin. |
25
+
26
+ ### What each package does
27
+
28
+ | Package | Role |
29
+ |---|---|
30
+ | **`grinders-farm`** | The game + CLI. Provides `grinders-farm` (interactive) and `grinders-farm-oneshot` (one command). **Required** for both terminal and OpenClaw. |
31
+ | **`openclaw-plugin-grinders-farm`** | OpenClaw integration: registers the `/farm` slash command and the `grinders_farm` tool. **Required** for chat play. |
32
+ | **ClawHub skill `grinders-farm`** (optional) | Helps the **agent** map natural language to `grinders_farm` commands. Not required if you only use `/farm ...` manually. |
33
+
34
+ ### Two ways to play
35
+
36
+ - **Terminal only** — no OpenClaw, no plugin, no skill:
37
+ `npm install -g grinders-farm` → run `grinders-farm` and type commands at the prompt (`farm`, `help`, …).
38
+
39
+ - **OpenClaw chat** — install **both** npm packages, **restart the Gateway**, then use `/farm …` in a channel (see Quick start). Optionally install the skill so the agent understands free-form chat.
40
+
41
+ ### Features
42
+
43
+ - 4×5 grid, start with 50G
44
+ - Order system (bonus rewards)
45
+ - Dynamic market prices (supply feedback)
46
+ - Multi-channel push (Telegram, WebChat, etc.)
47
+ - Text view + PNG farm image
48
+
49
+ ### Quick start (OpenClaw chat)
50
+
51
+ Do these **in order**:
52
+
53
+ 1. **Install the game CLI** (always required):
54
+
55
+ ```bash
56
+ npm install -g grinders-farm
57
+ ```
58
+
59
+ 2. **Install the OpenClaw plugin** (registers `/farm` and the tool):
60
+
61
+ ```bash
62
+ openclaw plugins install openclaw-plugin-grinders-farm --dangerously-force-unsafe-install
63
+ ```
64
+
65
+ 3. **Restart the OpenClaw Gateway** so the plugin loads (required after install or upgrade).
66
+
67
+ 4. *(Optional)* **Install the ClawHub skill** if you want natural-language play via the agent:
68
+
69
+ ```bash
70
+ openclaw skills install grinders-farm
71
+ ```
72
+
73
+ 5. **Bind each chat channel**
74
+
75
+ In every channel where you want pushes, send once:
76
+
77
+ ```text
78
+ /farm farm
79
+ ```
80
+
81
+ 6. **Auto-advance** (optional)
82
+
83
+ ```text
84
+ /farm start
85
+ ```
86
+
87
+ - One in-game day advances every **20 minutes**
88
+ - Pushes fan out to all bound channels
89
+
90
+ Stop:
91
+
92
+ ```text
93
+ /farm stop
94
+ ```
95
+
96
+ **Check it works:** `openclaw plugins inspect grinders-farm` should show `Status: loaded` and a recent version. If `/farm` does nothing, confirm the Gateway was restarted after installing the plugin.
97
+
98
+ ### Commands
99
+
100
+ | Command | Description |
101
+ |---|---|
102
+ | `farm` / `status` | View farm |
103
+ | `plant <crop> <pos>` | Plant (e.g. `plant carrot A1`) |
104
+ | `water [pos]` | Water one cell or all |
105
+ | `harvest [pos]` | Harvest one cell or all ready crops |
106
+ | `shop` | Shop |
107
+ | `sell` | Sell inventory |
108
+ | `inventory` / `inv` | Inventory |
109
+ | `start` | Start auto-advance + push |
110
+ | `stop` | Stop auto-advance |
111
+ | `reset` | New game |
112
+ | `help` | Help |
113
+
114
+ ### Crops
115
+
116
+ | Crop | Days | Seed | Base sell |
117
+ |---|---:|---:|---:|
118
+ | 🥕 Carrot | 5 | 5G | 11G |
119
+ | 🥔 Potato | 7 | 8G | 22G |
120
+ | 🍅 Tomato | 6 | 9G | 24G |
121
+ | 🎃 Pumpkin | 8 | 12G | 34G |
122
+
123
+ ### Push & channels
124
+
125
+ - Bindings: `~/.grinders-farm/openclaw-deliveries.json`
126
+ - After `/farm start`, pushes go to all bound targets
127
+ - WebChat uses `chat.inject`; other channels use `openclaw message send`
128
+
129
+ ### Local data
130
+
131
+ | Path | Purpose |
132
+ |---|---|
133
+ | `~/.grinders-farm/farm.json` | Save game |
134
+ | `~/.grinders-farm/farm.png` | Latest PNG |
135
+ | `~/.grinders-farm/auto.pid` / `auto.config.json` | Auto worker |
136
+ | `~/.grinders-farm/auto.log` | Auto log |
137
+ | `~/.grinders-farm/image-server.json` | Image server metadata |
138
+
139
+ ### Development
140
+
141
+ ```bash
142
+ npm install
143
+ npm run generate-tiles
144
+ npm run build
145
+ npm run dev
146
+ ```
147
+
148
+ Plugin package:
149
+
150
+ ```bash
151
+ cd openclaw-plugin
152
+ npm install
153
+ npm run build
154
+ ```
155
+
156
+ ### License
157
+
158
+ MIT
159
+
160
+ ---
161
+
162
+ ## 中文
163
+
164
+ 轻量像素农场游戏:种地、浇水、收获、卖货、接订单。
165
+ 可在**终端**单独玩,也可在 **OpenClaw** 聊天里玩(Telegram、WebChat 等)。
166
+
167
+ ### 你需要什么(新用户)
168
+
169
+ | 条件 | 说明 |
170
+ |---|---|
171
+ | **Node.js**(含 `npm`) | 运行游戏并从 npm 安装包。 |
172
+ | **已安装 OpenClaw 且 Gateway 在跑** | 仅在**聊天里**玩时需要;否则 `/farm` 到不了插件。 |
173
+
174
+ ### 各个包是干什么的
175
+
176
+ | 包 | 作用 |
177
+ |---|---|
178
+ | **`grinders-farm`** | 游戏本体 + CLI,提供 `grinders-farm`(交互)和 `grinders-farm-oneshot`(单次命令)。**终端与 OpenClaw 都需要。** |
179
+ | **`openclaw-plugin-grinders-farm`** | OpenClaw 集成:注册 `/farm` 斜杠命令和 `grinders_farm` 工具。**只在聊天里玩时需要。** |
180
+ | **ClawHub skill `grinders-farm`**(可选) | 帮**智能体**把自然语言映射成 `grinders_farm` 命令。若你**只手动打** `/farm ...`,可以不装。 |
181
+
182
+ ### 两种玩法
183
+
184
+ - **只玩终端**:不需要 OpenClaw、不需要插件、不需要 skill。
185
+ `npm install -g grinders-farm` → 运行 `grinders-farm`,在提示符下输入命令(`farm`、`help` 等)。
186
+
187
+ - **在 OpenClaw 里玩**:需要**两个 npm 包都装**,装完插件后**重启 Gateway**,再在频道里用 `/farm …`(见下文「3 分钟上手」)。需要自然语言时可再装 skill。
188
+
189
+ ### 这款游戏有什么
190
+
191
+ - 4×5 农田网格,开局 50G
9
192
  - 订单系统(完成后有额外奖励)
10
193
  - 动态市场价格(卖得多会有压价反馈)
11
194
  - 多渠道自动推送(Telegram / WebChat 等)
12
195
  - 文本农场视图 + PNG 像素图
13
196
 
14
- ## 3 分钟上手
197
+ ### 3 分钟上手(OpenClaw 聊天)
198
+
199
+ 请**按顺序**做:
15
200
 
16
- ### 1) 安装
201
+ 1. **安装主游戏 CLI**(始终需要):
17
202
 
18
203
  ```bash
19
204
  npm install -g grinders-farm
205
+ ```
206
+
207
+ 2. **安装 OpenClaw 插件**(注册 `/farm` 与工具):
208
+
209
+ ```bash
20
210
  openclaw plugins install openclaw-plugin-grinders-farm --dangerously-force-unsafe-install
21
211
  ```
22
212
 
23
- 如果你已经在 ClawHub 发布了 skill,再执行:
213
+ 3. **重启 OpenClaw Gateway**(装完或升级插件后必须,否则命令不生效)。
214
+
215
+ 4. *(可选)* **安装 ClawHub skill**,让智能体能听懂自然语言:
24
216
 
25
217
  ```bash
26
218
  openclaw skills install grinders-farm
27
219
  ```
28
220
 
29
- ### 2) 在聊天里绑定渠道
221
+ 5. **在聊天里绑定渠道**
30
222
 
31
223
  在你希望收到推送的每个频道里,先发一次:
32
224
 
@@ -34,13 +226,13 @@ openclaw skills install grinders-farm
34
226
  /farm farm
35
227
  ```
36
228
 
37
- ### 3) 开始自动推进
229
+ 6. **开始自动推进**(可选)
38
230
 
39
231
  ```text
40
232
  /farm start
41
233
  ```
42
234
 
43
- - 固定每 20 秒推进一天
235
+ - 固定每 **20 分钟**推进一天
44
236
  - 自动推送到所有已绑定频道
45
237
 
46
238
  停止自动推进:
@@ -49,7 +241,9 @@ openclaw skills install grinders-farm
49
241
  /farm stop
50
242
  ```
51
243
 
52
- ## 命令速查
244
+ **自检:** 执行 `openclaw plugins inspect grinders-farm`,应看到 `Status: loaded` 与较新版本。若 `/farm` 没反应,先确认装插件后是否已重启 Gateway。
245
+
246
+ ### 命令速查
53
247
 
54
248
  | 命令 | 说明 |
55
249
  |---|---|
@@ -65,7 +259,7 @@ openclaw skills install grinders-farm
65
259
  | `reset` | 重开一局 |
66
260
  | `help` | 查看帮助 |
67
261
 
68
- ## 作物一览
262
+ ### 作物一览
69
263
 
70
264
  | 作物 | 成熟天数 | 种子价 | 基础售价 |
71
265
  |---|---:|---:|---:|
@@ -74,20 +268,20 @@ openclaw skills install grinders-farm
74
268
  | 🍅 Tomato | 6 | 9G | 24G |
75
269
  | 🎃 Pumpkin | 8 | 12G | 34G |
76
270
 
77
- ## 游戏循环建议
271
+ ### 游戏循环建议
78
272
 
79
273
  1. 先看 `shop`,根据现金和订单选种子
80
274
  2. `plant` 后每天 `water`
81
275
  3. 成熟后 `harvest`,再 `sell`
82
276
  4. 利用订单奖励和市场反馈,滚动扩大收益
83
277
 
84
- ## 推送与渠道说明
278
+ ### 推送与渠道说明
85
279
 
86
280
  - 绑定文件:`~/.grinders-farm/openclaw-deliveries.json`
87
281
  - 执行 `/farm start` 后,自动 fan-out 到所有已绑定目标
88
282
  - WebChat 走 `chat.inject`,消息渠道走 `openclaw message send`
89
283
 
90
- ## 本地数据文件
284
+ ### 本地数据文件
91
285
 
92
286
  | 路径 | 用途 |
93
287
  |---|---|
@@ -97,7 +291,7 @@ openclaw skills install grinders-farm
97
291
  | `~/.grinders-farm/auto.log` | 自动推进日志 |
98
292
  | `~/.grinders-farm/image-server.json` | 图片服务元数据 |
99
293
 
100
- ## 开发者
294
+ ### 开发者
101
295
 
102
296
  ```bash
103
297
  npm install
@@ -114,6 +308,6 @@ npm install
114
308
  npm run build
115
309
  ```
116
310
 
117
- ## License
311
+ ### License
118
312
 
119
313
  MIT
package/SKILL.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: grinders-farm
3
- description: "将农场意图稳定映射到 grinders_farm tool,执行种植、浇水、收获、交易与自动推进命令。"
3
+ description: "Requires grinders-farm CLI + openclaw-plugin-grinders-farm before use. Maps intents to grinders_farm. 使用前需先安装 grinders-farm 与 openclaw-plugin-grinders-farm。"
4
4
  metadata: { "openclaw": { "emoji": "🌾", "requires": { "bins": ["npx"] } } }
5
5
  command-dispatch: tool
6
6
  command-tool: grinders_farm
@@ -9,9 +9,152 @@ disable-model-invocation: false
9
9
 
10
10
  # Grinder's Farm
11
11
 
12
+ **Languages:** [English](#english) · [中文](#中文)
13
+
14
+ ![Farm preview (4×5 grid, four crop types)](docs/images/demo-farm.png)
15
+
16
+ ---
17
+
18
+ ## English
19
+
20
+ This skill maps user chat into **exactly one** `grinders_farm` tool call.
21
+
22
+ ### Prerequisites (install before this skill works)
23
+
24
+ The `grinders_farm` tool is provided by the game CLI and the OpenClaw plugin. **Install both from npm first**, then install this skill from ClawHub:
25
+
26
+ ```bash
27
+ npm install -g grinders-farm
28
+ openclaw plugins install openclaw-plugin-grinders-farm --dangerously-force-unsafe-install
29
+ ```
30
+
31
+ Restart the OpenClaw Gateway after installing the plugin. Without these packages, `/farm` and `grinders_farm` will not run.
32
+
33
+ ### Install this skill (optional but recommended for NL)
34
+
35
+ After the two packages above:
36
+
37
+ ```bash
38
+ openclaw skills install grinders-farm
39
+ ```
40
+
41
+ ### How users play (after setup)
42
+
43
+ - **Slash commands (always works once the plugin is loaded):** in Telegram / WebChat / etc., send
44
+ `/farm <command>` — examples: `/farm farm`, `/farm plant carrot A1`, `/farm help`.
45
+ The part after `/farm` is the same command string you would pass to `grinders-farm-oneshot`.
46
+ - **Natural language (this skill):** when the skill is installed and the agent is allowed to use tools, the user can say things like “plant carrot at A4”; you should map that to `grinders_farm` with `command: "plant carrot A4"`.
47
+ - **This skill does not replace the plugin or the `grinders-farm` package** — it only helps choose the right tool arguments.
48
+
49
+ ### Rules
50
+
51
+ 1. While playing the farm, always use the `grinders_farm` tool.
52
+ 2. Do not use shell/exec/cargo or other execution paths.
53
+ 3. Do not only explain—execute (unless the user explicitly says not to).
54
+ 4. Crops only: `carrot` `potato` `tomato` `pumpkin`.
55
+ 5. Plot labels: `A1`–`D5` (rows A–D, columns 1–5).
56
+
57
+ ### Allowed commands
58
+
59
+ - `farm`
60
+ - `plant <crop> <pos>`
61
+ - `water [pos]`
62
+ - `harvest [pos]`
63
+ - `shop`
64
+ - `sell`
65
+ - `inventory`
66
+ - `start`
67
+ - `stop`
68
+ - `reset`
69
+ - `help`
70
+
71
+ ### Intent mapping (priority)
72
+
73
+ 1. **Auto-advance**
74
+ - "start auto" / "enable auto" → `start`
75
+ - "stop auto" / "disable auto" → `stop`
76
+ 2. **Plant**
77
+ - plant intent + crop + position → `plant <crop> <pos>`
78
+ 3. **Water**
79
+ - water + position → `water <pos>`
80
+ - water only → `water`
81
+ 4. **Harvest**
82
+ - harvest + position → `harvest <pos>`
83
+ - harvest only → `harvest`
84
+ 5. **Trade / info**
85
+ - shop → `shop`
86
+ - sell → `sell`
87
+ - inventory → `inventory`
88
+ 6. **Reset / help**
89
+ - reset → `reset`
90
+ - help → `help`
91
+ 7. **Fallback**
92
+ - farm-related but unclear → `farm`
93
+
94
+ ### Output
95
+
96
+ 1. Prefer the tool’s text as-is.
97
+ 2. If there is a markdown table, output it without wrapping in a code fence.
98
+ 3. Keep image URLs as plain clickable links (no backticks).
99
+ 4. On failure: return the error first, then one example command.
100
+
101
+ ### Examples
102
+
103
+ - "plant carrot at A4" → `command: "plant carrot A4"`
104
+ - "show farm" → `command: "farm"`
105
+ - "water all" → `command: "water"`
106
+ - "harvest A2" → `command: "harvest A2"`
107
+ - "start auto" → `command: "start"`
108
+ - "stop auto" → `command: "stop"`
109
+
110
+ ### OpenClaw notes
111
+
112
+ - Plugin: `openclaw-plugin-grinders-farm`
113
+ - Run `/farm farm` once per channel to bind delivery.
114
+ - `/farm start` auto-advances (one day every **20 minutes**).
115
+ - `/farm stop` stops auto-advance.
116
+
117
+ ### Local state files
118
+
119
+ - `~/.grinders-farm/farm.json`
120
+ - `~/.grinders-farm/farm.png`
121
+ - `~/.grinders-farm/auto.log`
122
+ - `~/.grinders-farm/openclaw-deliveries.json`
123
+
124
+ ---
125
+
126
+ ## 中文
127
+
12
128
  此 Skill 的目标只有一个:把用户输入映射成**唯一明确**的 `grinders_farm` 命令并执行。
13
129
 
14
- ## 必须遵守
130
+ ### 先决条件(使用本 skill 前必须先装)
131
+
132
+ `grinders_farm` 工具由**主游戏 CLI** 与 **OpenClaw 插件**一起提供。请**先全局安装这两个 npm 包**,再从 ClawHub 安装本 skill:
133
+
134
+ ```bash
135
+ npm install -g grinders-farm
136
+ openclaw plugins install openclaw-plugin-grinders-farm --dangerously-force-unsafe-install
137
+ ```
138
+
139
+ 安装插件后请**重启 OpenClaw Gateway**。若未安装上述包,`/farm` 与 `grinders_farm` 无法运行。
140
+
141
+ ### 再安装本 skill(想用自然语言时)
142
+
143
+ 两个 npm 包装好后,再执行:
144
+
145
+ ```bash
146
+ openclaw skills install grinders-farm
147
+ ```
148
+
149
+ ### 用户怎么玩(装好之后)
150
+
151
+ - **斜杠命令(插件加载后可用):** 在 Telegram / WebChat 等里发
152
+ `/farm <子命令>`,例如 `/farm farm`、`/farm plant carrot A1`、`/farm help`。
153
+ `/farm` 后面这一段,与传给 `grinders-farm-oneshot` 的参数一致。
154
+ - **自然语言(本 skill):** 用户说「在 A4 种胡萝卜」时,应映射为 `grinders_farm`,`command: "plant carrot A4"`。
155
+ - **本 skill 不能替代插件和主包** —— 只负责把聊天意图转成正确 tool 参数。
156
+
157
+ ### 必须遵守
15
158
 
16
159
  1. 用户在玩农场时,必须调用 `grinders_farm` tool。
17
160
  2. 不用 shell/exec/cargo 等其它执行路径。
@@ -19,7 +162,7 @@ disable-model-invocation: false
19
162
  4. 作物只允许:`carrot` `potato` `tomato` `pumpkin`。
20
163
  5. 坐标格式固定:`A1`~`D5`(行 A-D,列 1-5)。
21
164
 
22
- ## 命令白名单(仅这些)
165
+ ### 命令白名单(仅这些)
23
166
 
24
167
  - `farm`
25
168
  - `plant <crop> <pos>`
@@ -33,7 +176,7 @@ disable-model-invocation: false
33
176
  - `reset`
34
177
  - `help`
35
178
 
36
- ## 意图映射(按优先级匹配)
179
+ ### 意图映射(按优先级匹配)
37
180
 
38
181
  命中后立即执行,不要多重猜测。
39
182
 
@@ -58,14 +201,14 @@ disable-model-invocation: false
58
201
  7. **兜底**
59
202
  - 农场相关但不够明确 -> `farm`
60
203
 
61
- ## 输出规则(避免歧义)
204
+ ### 输出规则(避免歧义)
62
205
 
63
206
  1. 工具返回内容优先,尽量原样呈现。
64
207
  2. 若含 markdown 表格,原样输出,不包代码块。
65
208
  3. 若含图片 URL,保持纯链接可点击,不加反引号。
66
209
  4. 命令失败时:先返回错误原文,再给一条可执行示例命令。
67
210
 
68
- ## 标准示例
211
+ ### 标准示例
69
212
 
70
213
  - “在 A4 种胡萝卜” -> `command: "plant carrot A4"`
71
214
  - “看农场” -> `command: "farm"`
@@ -74,14 +217,14 @@ disable-model-invocation: false
74
217
  - “开自动” -> `command: "start"`
75
218
  - “停自动” -> `command: "stop"`
76
219
 
77
- ## OpenClaw 使用要点
220
+ ### OpenClaw 使用要点
78
221
 
79
222
  - 插件:`openclaw-plugin-grinders-farm`
80
223
  - 先在每个目标频道执行一次 `/farm farm` 完成绑定
81
- - 执行 `/farm start` 开始自动推进(固定 20 秒/天)
224
+ - 执行 `/farm start` 开始自动推进(固定 **20 分钟**/天)
82
225
  - 执行 `/farm stop` 停止自动推进
83
226
 
84
- ## 本地状态文件
227
+ ### 本地状态文件
85
228
 
86
229
  - `~/.grinders-farm/farm.json`
87
230
  - `~/.grinders-farm/farm.png`
Binary file
Binary file
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate-demo-farm-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-demo-farm-image.d.ts","sourceRoot":"","sources":["../../scripts/generate-demo-farm-image.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Renders a showcase farm PNG: all four crops × main growth stages on the 4×5 grid.
3
+ * Output: docs/images/demo-farm.png (for README / SKILL screenshots).
4
+ */
5
+ import * as fs from "node:fs";
6
+ import * as path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+ import { createNewFarm, ensureFarmState } from "../src/game/farm.js";
9
+ import { getCropDef } from "../src/game/crops.js";
10
+ import { renderFarmImage } from "../src/render/image-renderer.js";
11
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
12
+ const repoRoot = path.resolve(__dirname, "..");
13
+ function makeCrop(cropId, wateredDays, watered) {
14
+ const def = getCropDef(cropId);
15
+ return {
16
+ cropId,
17
+ wateredDays,
18
+ watered,
19
+ requiredWaterDays: def.growthDays,
20
+ };
21
+ }
22
+ async function main() {
23
+ const state = ensureFarmState(createNewFarm());
24
+ state.day = 7;
25
+ state.gold = 128;
26
+ const crops = ["carrot", "potato", "tomato", "pumpkin"];
27
+ // Row A–D: one crop type per row; columns 1–5: seed → sprout → growing1 → growing2 → ready
28
+ for (let row = 0; row < 4; row++) {
29
+ const id = crops[row];
30
+ const req = getCropDef(id).growthDays;
31
+ const stages = [
32
+ { wd: 0, w: row % 2 === 0 },
33
+ { wd: Math.max(1, Math.floor(req / 6)), w: true },
34
+ { wd: Math.floor(req / 3), w: true },
35
+ { wd: Math.floor((2 * req) / 3), w: true },
36
+ { wd: req, w: true },
37
+ ];
38
+ for (let col = 0; col < 5; col++) {
39
+ const s = stages[col];
40
+ state.grid[row][col].crop = makeCrop(id, s.wd, s.w);
41
+ }
42
+ }
43
+ const out = await renderFarmImage(state);
44
+ const dir = path.join(repoRoot, "docs", "images");
45
+ fs.mkdirSync(dir, { recursive: true });
46
+ const dest = path.join(dir, "demo-farm.png");
47
+ fs.copyFileSync(out, dest);
48
+ console.log(`Wrote ${dest}`);
49
+ }
50
+ main().catch((e) => {
51
+ console.error(e);
52
+ process.exit(1);
53
+ });
54
+ //# sourceMappingURL=generate-demo-farm-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-demo-farm-image.js","sourceRoot":"","sources":["../../scripts/generate-demo-farm-image.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 开发用:默认每 10 秒推进一天(与 `npm run auto-worker -- 10` 相同)。
3
- * 生产节奏请用:`start`(固定 20 秒)。
3
+ * 生产节奏请用:`start`(固定 20 分钟)。
4
4
  */
5
5
  export {};
6
6
  //# sourceMappingURL=daemon.d.ts.map
File without changes
File without changes
@@ -2,7 +2,7 @@ import { createNewFarm, plant, water, harvest, sellAll, nextDay, getShopText, ge
2
2
  import { renderFarmText } from "../render/text-renderer.js";
3
3
  import { renderFarmImage } from "../render/image-renderer.js";
4
4
  import { startLocalAuto, stopLocalAuto } from "../local-auto.js";
5
- const DEFAULT_START_INTERVAL_SEC = 20;
5
+ const DEFAULT_START_INTERVAL_SEC = 20 * 60;
6
6
  const KNOWN_COMMANDS = new Set([
7
7
  "farm",
8
8
  "status",
@@ -115,7 +115,7 @@ export class GameEngine {
115
115
  return { success: true, message: getInventoryText(this.state) };
116
116
  case "start":
117
117
  if (parts.length > 1) {
118
- return { success: false, message: '用法: start(固定每 20 秒推进一天)' };
118
+ return { success: false, message: '用法: start(固定每 20 分钟推进一天)' };
119
119
  }
120
120
  return startLocalAuto(DEFAULT_START_INTERVAL_SEC);
121
121
  case "stop":
@@ -225,7 +225,7 @@ function getHelpText() {
225
225
  " shop 查看种子商店",
226
226
  " sell 出售仓库中所有农产品",
227
227
  " inventory / inv 查看仓库",
228
- " start 启动自动推进(固定20秒/天,自动推送到已绑定频道)",
228
+ " start 启动自动推进(固定20分钟/天,自动推送到已绑定频道)",
229
229
  " stop 停止自动推进",
230
230
  " reset 重新开始",
231
231
  " help 显示此帮助",
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/game/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/game/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-auto.d.ts","sourceRoot":"","sources":["../../src/local-auto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,+EAA+E;AAC/E,eAAO,MAAM,YAAY,QAAmE,CAAC;AAG7F,eAAO,MAAM,aAAa,QAAkC,CAAC;AAC7D,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AAkFxE;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAoDxG;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,aAAa,CAuD7C;AAED,wBAAgB,kBAAkB,IAAI,aAAa,CAiClD"}
1
+ {"version":3,"file":"local-auto.d.ts","sourceRoot":"","sources":["../../src/local-auto.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,+EAA+E;AAC/E,eAAO,MAAM,YAAY,QAAmE,CAAC;AAG7F,eAAO,MAAM,aAAa,QAAkC,CAAC;AAC7D,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AAoGxE;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2DxG;AAED,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,aAAa,CAuD7C;AAED,wBAAgB,kBAAkB,IAAI,aAAa,CAiClD"}
@@ -28,7 +28,7 @@ function listRunningAutoWorkerPids() {
28
28
  return [];
29
29
  const pids = new Set();
30
30
  for (const line of out.split("\n")) {
31
- if (!line.includes("src/adapters/auto-worker.ts"))
31
+ if (!line.includes("auto-worker.ts") && !line.includes("auto-worker.js"))
32
32
  continue;
33
33
  const m = line.trim().match(/^(\d+)\s+/);
34
34
  if (!m)
@@ -74,6 +74,21 @@ function resolveOpenclawBinForWorker() {
74
74
  }
75
75
  return null;
76
76
  }
77
+ function resolveWorkerCommand(gameRoot, intervalSec) {
78
+ const tsWorker = path.join(gameRoot, "src", "adapters", "auto-worker.ts");
79
+ if (fs.existsSync(tsWorker)) {
80
+ return { cmd: "npx", args: ["tsx", tsWorker, String(intervalSec)] };
81
+ }
82
+ const distWorker = path.join(gameRoot, "dist", "src", "adapters", "auto-worker.js");
83
+ if (fs.existsSync(distWorker)) {
84
+ return { cmd: process.execPath, args: [distWorker, String(intervalSec)] };
85
+ }
86
+ const srcJsWorker = path.join(gameRoot, "src", "adapters", "auto-worker.js");
87
+ if (fs.existsSync(srcJsWorker)) {
88
+ return { cmd: process.execPath, args: [srcJsWorker, String(intervalSec)] };
89
+ }
90
+ return null;
91
+ }
77
92
  function removeStalePidFile() {
78
93
  if (!fs.existsSync(AUTO_PID_FILE))
79
94
  return;
@@ -113,9 +128,15 @@ export async function startLocalAutoAtRoot(gameRoot, intervalSec) {
113
128
  return { success: false, message: `自动推进已在运行中 (PID ${pid})。用 "stop" 停止` };
114
129
  }
115
130
  }
116
- const worker = path.join(gameRoot, "src/adapters/auto-worker.ts");
131
+ const worker = resolveWorkerCommand(gameRoot, intervalSec);
132
+ if (!worker) {
133
+ return {
134
+ success: false,
135
+ message: '自动推进未找到 worker 入口。请确认安装完整(应包含 dist/src/adapters/auto-worker.js),或在源码目录下运行并确保可执行 "npx tsx src/adapters/auto-worker.ts"',
136
+ };
137
+ }
117
138
  const resolvedOpenclawBin = resolveOpenclawBinForWorker();
118
- const child = spawn("npx", ["tsx", worker, String(intervalSec)], {
139
+ const child = spawn(worker.cmd, worker.args, {
119
140
  cwd: gameRoot,
120
141
  detached: true,
121
142
  stdio: "ignore",
@@ -210,7 +231,7 @@ export function stopLocalAuto() {
210
231
  export function getLocalAutoStatus() {
211
232
  removeStalePidFile();
212
233
  if (!fs.existsSync(AUTO_PID_FILE)) {
213
- return { success: true, message: "💤 自动推进: 未运行\n用 \"start\" 启动(固定每 20 秒推进一天)" };
234
+ return { success: true, message: "💤 自动推进: 未运行\n用 \"start\" 启动(固定每 20 分钟推进一天)" };
214
235
  }
215
236
  const pid = parseInt(fs.readFileSync(AUTO_PID_FILE, "utf8").trim(), 10);
216
237
  if (!Number.isFinite(pid) || !isProcessRunning(pid)) {
@@ -1 +1 @@
1
- {"version":3,"file":"local-auto.js","sourceRoot":"","sources":["../../src/local-auto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-auto.js","sourceRoot":"","sources":["../../src/local-auto.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"image-renderer.d.ts","sourceRoot":"","sources":["../../../src/render/image-renderer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAA4B,MAAM,kBAAkB,CAAC;AA+HvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFvE"}
1
+ {"version":3,"file":"image-renderer.d.ts","sourceRoot":"","sources":["../../../src/render/image-renderer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAA4B,MAAM,kBAAkB,CAAC;AAiJvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAgFvE"}
@@ -6,7 +6,25 @@ import { fileURLToPath } from "node:url";
6
6
  import { GrowthStage } from "../game/types.js";
7
7
  import { getStage } from "../game/crops.js";
8
8
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
9
- const TILES_DIR = path.join(__dirname, "..", "..", "assets", "tiles");
9
+ function resolveTilesDir() {
10
+ const fromEnv = process.env.GRINDERS_FARM_TILES_DIR?.trim();
11
+ const candidates = [
12
+ fromEnv || "",
13
+ // source layout: src/render -> ../../assets/tiles
14
+ path.join(__dirname, "..", "..", "assets", "tiles"),
15
+ // packaged layout: dist/src/render -> ../../../assets/tiles
16
+ path.join(__dirname, "..", "..", "..", "assets", "tiles"),
17
+ path.join(process.cwd(), "assets", "tiles"),
18
+ ]
19
+ .map((p) => p.trim())
20
+ .filter(Boolean);
21
+ for (const dir of candidates) {
22
+ if (fs.existsSync(path.join(dir, "terrain", "empty.png")))
23
+ return dir;
24
+ }
25
+ return null;
26
+ }
27
+ const TILES_DIR = resolveTilesDir();
10
28
  const TILE = 16;
11
29
  const SCALE = 4;
12
30
  const SCALED_TILE = TILE * SCALE;
@@ -28,6 +46,8 @@ const STAGE_Y_OFFSET_PX = {
28
46
  const imageCache = new Map();
29
47
  const cropAnchorCache = new Map();
30
48
  async function getTile(subdir, name) {
49
+ if (!TILES_DIR)
50
+ return null;
31
51
  const key = `${subdir}/${name}`;
32
52
  if (imageCache.has(key))
33
53
  return imageCache.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"image-renderer.js","sourceRoot":"","sources":["../../../src/render/image-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-renderer.js","sourceRoot":"","sources":["../../../src/render/image-renderer.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "grinders-farm",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "A pixel-art farm simulation game — plant, water, harvest, and sell crops",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
7
7
  "types": "dist/src/index.d.ts",
8
8
  "files": [
9
9
  "dist/",
10
+ "assets/tiles/",
11
+ "docs/images/",
10
12
  "src/notify/notify.json.example",
11
13
  "README.md",
12
14
  "SKILL.md",
@@ -22,6 +24,7 @@
22
24
  "daemon": "tsx src/adapters/daemon.ts",
23
25
  "auto-worker": "tsx src/adapters/auto-worker.ts",
24
26
  "generate-tiles": "tsx scripts/generate-tiles.ts",
27
+ "generate-demo-farm": "tsx scripts/generate-demo-farm-image.ts",
25
28
  "start": "node dist/src/adapters/terminal.js",
26
29
  "sync-skill": "node scripts/sync-skill.mjs",
27
30
  "prepack": "npm run build"