Skip to main content
Glama
README.md
# 猫猫旅馆:今日有猫入住

一个给 AI 玩的轻松文字养猫旅馆游戏。AI 是临时店长,每天接待猫顾客,观察偏好,安排房间,喂食、陪玩、摸摸、写日志,慢慢把猫谱补完整。

这个仓库提供两个入口:

- 轻量 Python 入口:直接运行 `cat_hotel.py` 或 `play.py`,像普通脚本游戏一样玩。
- MCP 入口:通过 `cat_hotel_mcp.py` 给支持 MCP 的 AI 客户端调用。

核心游戏在 `cat_hotel.py`。猫猫偏好和稀有触发条件藏在盲玩版里,AI 不应该解码或阅读隐藏数据,慢慢发现才是玩法的一部分。

## 轻量 Python 入口

这个入口不需要安装 MCP 依赖,适合先快速试玩或让 AI 通过 shell 调脚本玩。

```bash
git clone https://github.com/Echoes0302/cat-hotel-mcp.git
cd cat-hotel-mcp
python3 cat_hotel.py help
python3 cat_hotel.py "new 20260629"
python3 cat_hotel.py status
python3 cat_hotel.py journal
```

也可以用连续输入模式:

```bash
python3 play.py
```

轻量 Python 入口的存档在仓库目录下:

```text
hotel_save.json
```

## MCP 入口

MCP 入口更适合长期接入支持工具调用的 AI 客户端,并且可以用 `save_name` 隔离不同 AI 的存档。

```bash
git clone https://github.com/Echoes0302/cat-hotel-mcp.git
cd cat-hotel-mcp
python3 -m venv .venv
. .venv/bin/activate
pip install -e .
```

安装后,本地会有两个命令:

```bash
cat-hotel-play
cat-hotel-mcp
```

MCP 客户端配置示例:

```json
{
  "mcpServers": {
    "cat-hotel": {
      "command": "/absolute/path/to/cat-hotel-mcp/.venv/bin/cat-hotel-mcp",
      "env": {
        "CAT_HOTEL_SAVE_DIR": "/absolute/path/to/cat-hotel-saves"
      }
    }
  }
}
```

如果不设置 `CAT_HOTEL_SAVE_DIR`,MCP 存档默认在:

```text
~/.cat-hotel-mcp/saves/
```

## MCP 工具

- `cat_hotel_guide()`:给 AI 看的玩法边界和起步说明。
- `cat_hotel_cmd(command, save_name="default")`:执行任意游戏指令。
- `cat_hotel_new(save_name="default", seed=20260629)`:新开一份存档。
- `cat_hotel_status(save_name="default")`:查看今日状态。
- `cat_hotel_help(save_name="default")`:查看游戏指令。
- `cat_hotel_export(save_name="default")`:导出存档。
- `cat_hotel_import(save_data, save_name="default")`:导入存档。
- `cat_hotel_list_saves()`:列出 MCP 管理的存档。

`save_name` 用来隔离不同 AI 的进度,例如:

```text
vesper
clavis
mimo
```

## AI 玩法建议

AI 第一次玩时:

```text
cat_hotel_new(save_name="vesper")
cat_hotel_status(save_name="vesper")
cat_hotel_help(save_name="vesper")
```

之后用:

```text
cat_hotel_cmd(command="look 大厅", save_name="vesper")
cat_hotel_cmd(command="arrange", save_name="vesper")
cat_hotel_cmd(command="journal", save_name="vesper")
```

建议 AI 像真正的临时店长一样玩:先观察,再做安排,错了也没关系,猫会用反应给线索。

## 常用游戏指令

```text
status
look 大厅 / look 101 / look 橘子
shop
weather
buy 三文鱼 2
check 房间
assign 奶霜 102
arrange
decorate 102 纸箱
serve 奶霜 温牛奶
play 奶霜 纸箱
pet 奶霜 耳后
talk 奶霜
midnight
clean 102
journal
encyclopedia
achievements
upgrade stamina / budget / room / memory_book / night_watch
end_day
export / import_save
```

支持分号批量:

```text
buy 温牛奶 1; assign 奶霜 102; serve 奶霜 温牛奶; pet 奶霜 耳后
```

## 当前内容

- 24 只猫:常见、少见、稀有三档。
- 每只猫有文字肖像提示和专属稀有礼物。
- 5 种天气:晴天、阴天、小雨、大风、寒夜。
- 稀有猫触发条件:旅馆等级、天气、猫爬架/高处房、深夜猫会等。
- 深夜巡店:`midnight`,可能触发深夜猫会和后续稀有猫。
- 体力、每日预算、小鱼干、旅馆升级:体力/预算可多级提升,房间和夜巡可解锁,记忆本会增强 `journal`。
- 猫谱和 19 个成就。

TDQS

B3.3/5.0

Scored across 8 tools

Disambiguation5/5

All tools have clearly distinct purposes: running commands, managing saves (export/import/list), starting new games, displaying guides/help, and showing status. No overlaps.

Naming Consistency5/5

All tool names follow a consistent 'cat_hotel_verb_noun' pattern, making it easy to predict functionality.

Tool Count5/5

8 tools is appropriate for a game management server; it covers essential operations without being bloated or insufficient.

Completeness4/5

Covers core operations: new, status, save/load, commands, guidance. Minor gap: no explicit delete save command, but import can overwrite.

Maintenance

ActivityInactive
ResponsivenessNo issues