Metadata-Version: 2.4
Name: career-emulator
Version: 0.1.4
Summary: A career emulator for AI Agents.
Author-email: Hugo <hugo@hugohuang.com>, Yuwei <yuwei.willow.z@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://career-emulator.readthedocs.io
Project-URL: Documentation, https://career-emulator.readthedocs.io
Project-URL: Source, https://github.com/Trenza1ore/CareerSim-BDCI26
Project-URL: Gitcode, https://gitcode.com/SushiNinja/CareerSim-BDCI26
Project-URL: Issues, https://gitcode.com/SushiNinja/CareerSim-BDCI26/issues
Keywords: python,httpx,client,mcp,agent,fastmcp,llm,openjiuwen,mcp client,mcp server,model context protocol
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Intended Audience :: Developers
Classifier: Typing :: Typed
Requires-Python: <4,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: msgpack>=1.0.0
Requires-Dist: aiosqlite>=0.22.1
Requires-Dist: aiofiles>=25.1.0
Provides-Extra: mcp
Requires-Dist: fastmcp; extra == "mcp"
Dynamic: license-file

# Career Emulator - CCF BDCI 2026

[![PyPI - Version](https://img.shields.io/pypi/v/career-emulator)](https://pypi.org/project/career-emulator/) [![PyPI - License](https://img.shields.io/pypi/l/career-emulator)](https://github.com/Trenza1ore/TomatoEmulator/blob/main/LICENSE)

[![Documentation](https://img.shields.io/badge/赛题文档-brown?style=for-the-badge&logo=readthedocs&link=https%3A%2F%2Fcareer-emulator.readthedocs.io%2Fen%2Flatest%2Findex.html)](https://career-emulator.readthedocs.io)

- 所属赛题：`2026 CCF 大数据与计算智能大赛` 的《职场生存与晋升挑战》赛题，说明见[比赛官网](https://www.xir.cn/competition/1165)，赛事入口见[2026 CCF 大数据与计算智能大赛](https://www.xir.cn/competition/races/BDCI2026)
- 参赛方式：使用 [JiuwenSwarm](https://openjiuwen.com/jiuwenswarm) 构建 Agent，并开发一个或多个 [Skill](https://agentskills.io)
- 交付形式：将一个或多个 Skill 文件夹打包成单个 `zip`
- 交互方式：通过 `career-emulator` MCP 与环境交互

如果你准备做多 Agent 协同参谋，也可以看看 [Swarm Skill 标准](https://swarmskills.openjiuwen.com)。

你会从 `L1` 新人入职开始，在 48 个月里处理剧情事件、分配季度体力、选择季度主行动，再按半年节奏迎接绩效和晋升。目标也很直接：别太早出局，顺手把这段职业生涯经营得稍微体面一点。

项目目前提供两种入口：

- `career-emulator`：本地 CLI，适合直接试玩和调规则。
- `career-emulator-mcp`：MCP 服务，适合接给 Agent 自动玩。

更多公开规则、手册和玩法说明见文档：[career-emulator.readthedocs.io](https://career-emulator.readthedocs.io)。

## 这题大概在玩什么

每个月，系统会生成剧情事件，你从当前选项里挑一个往下走。每到季度末，还要额外处理两件事：

- 分配 3 点 `Energy`
- 选择 1 个季度主行动

半年后会做一次绩效评估，职级、财富、健康、尊严、技能、人脉和产出会一起算总账。很多规则是公开的，很多坑只会通过反馈和日志给你一点暗示。组织很忙，通常不会为你逐条标红。

如果你只是想先记住一句话：

> 在 48 个月里别把自己玩出局，同时尽量把结局打成一段还能写进简历的经历。

## 快速开始

先安装依赖：

```bash
uv sync
```

同步数据并开一局：

```bash
make play
```

继续上一局：

```bash
uv run career-emulator play --session-id <session-id>
```

CLI 里常用的几个输入：

- 输入数字：执行当前选项
- 输入 `handbook`：查看新员工手册
- 输入 `logs`：查看当前会话日志
- 输入 `quit`：退出

## 给 Agent 用

当前 MCP 能力包括：

- `new_game`
- `observe(session_id)`
- `take_action(session_id, choice, notes)`
- `check_latest_logs(session_id, count=10)`
- `show_employee_handbook()`

另外还提供日志资源：

- `logs://{session_id}`

### JiuwenSwarm
参考 [JiuwenSwarm 配置赛题模拟器 MCP](https://career-emulator.readthedocs.io/jiuwenswarm-mcp.html)

### 支持 MCPB 的 Agent（比如Claude）
如果你的 Agent 支持 [MCP Bundle](https://blog.modelcontextprotocol.io/posts/2025-11-20-adopting-mcpb)，也可以生成本地安装包：

```bash
make mcpb
```

然后双击打开直接安装。

### 其他 Agent
如果你想让其他 Agent 通过 MCP 来玩，可以直接使用 `stdio` 格式的 MCP 服务：

```bash
uv sync --extra mcp
uv run career-emulator-mcp
```


## 开发

仓库里常用的本地检查命令：

```bash
make format
make lint
make test
make docstring
```

文档构建：

```bash
make docs
```

## 文档

- 文档首页：[career-emulator.readthedocs.io](https://career-emulator.readthedocs.io/)
- 快速上手：[quickstart](https://career-emulator.readthedocs.io/quickstart.html)
- 公开手册：[handbook](https://career-emulator.readthedocs.io/handbook.html)
- 失败与结局：[failure-and-ending](https://career-emulator.readthedocs.io/failure-and-ending.html)
