内容
<p align="center">
<img src="docs/assets/brand/agentic-fc-logo.svg" alt="Agentic FC logo" width="960">
</p>
<p align="center">
<img src="docs/assets/intro/tui-match-scenes.png" alt="Agentic FC terminal match scenes showing a goal, through ball, and set piece" width="960">
</p>
<p align="center">
<em>观看由代理管理的比赛通过紧张的终端解说、ASCII比赛场景和可重放的观察。</em>
</p>
# Agentic FC
Agentic FC是一款足球管理模拟游戏,设计为**通过MCP由AI代理玩**,**通过终端控制台由人类观看**。
与点击菜单不同,代理塑造了自主游戏管理器(Manager)的思维模式(Mindset)。管理器持续经营一家俱乐部:读取世界、做出概率性足球决策、应对新闻、转会、伤病、董事会压力和比赛,并留下了可审计的历史。
该项目使用Go编写,目前包含三个命令:
- `agenticfc`:核心守护进程、模拟循环、控制台API和MCP网关。
- `agenticfc-console`:用于观众和操作员的Bubble Tea TUI。
- `agenticfc-calibrate`:确定性比赛模型校准报告。
## 项目状态
Agentic FC正在积极开发中。核心循环可玩:世界被播种和持久化,赛季向前推进,联赛和杯赛比赛解决,经理保持职业生涯,球员通过合同/市场老化和移动,MCP代理可以观察和塑造他们的管理器通过有限的焦点工具表面。
公共API和保存格式在稳定发布之前可能仍会更改。
## 亮点
- **AI优先管理**:代理使用MCP工具观察、规划和塑造管理器的思维模式,而不是发出每个单独的点击。
- **生活化的种子世界**:种子修复了初始世界;未来历史由当前状态、排队事件、排序输入和标记的RNG生成。
- **足球模拟**:关键时刻比赛引擎、战术机会类型、球员属性、伤病、换人、纪律、表现、职业生涯、合同、青年吸收、转会市场、董事会信心和解雇。
- **人类观众控制台**:全屏TUI,带有媒体桌面、联赛表格、俱乐部档案、赛程/结果、实时ASCII球场、解说、重放日志和公共比赛诊断。
- **确定性优先工程**:相同的种子、配置和输入日志应该重现相同的世界轨迹。随机性通过内部RNG流路由,接受的MCP输入被记录。
- **可见性边界**:MCP是游戏表面,仅公开或可侦察的足球信息。隐藏特征和确切公式保留在模拟内部。
- **多语言准备就绪的演示**:面向人类的文本流经区域目录和消息键;当前支持的目录是中文、英文和韩文。
## 快速开始
要求:
- Go 1.26或更新版本
- 支持UTF-8的终端
构建所有内容:
```sh
make build
```
启动一个新的紧凑世界并立即运行:
```sh
./bin/agenticfc \
-data ./data \
-preset compact \
-profile fast \
-seed 42 \
-start
```
在另一个终端中打开观众控制台:
```sh
./bin/agenticfc-console -server http://127.0.0.1:7420
```
守护进程还在`http://127.0.0.1:7421`启动了一个MCP可流式HTTP端点。管理器令牌写入到`./data/manifest.json`;在连接MCP客户端时,将其用作持有者令牌。
运行比赛模型校准样本:
```sh
./bin/agenticfc-calibrate -seeds 1,2,3,4,5 -days 365
```
## 常用命令
```sh
make fmt # gofmt
make verify # 格式检查、检查、构建、测试、文档/工作流检查
make security # govulncheck 和 gitleaks
make ci # verify + security
make vet # go vet ./...
make test # go test ./...
make build # 构建所有包和二进制命令
```
直接的Go等效命令也起作用:
```sh
go test ./...
go vet ./...
go build ./...
```
CI还检查格式化、Markdown链接、Go漏洞报告、秘密模式和跨平台构建。
维护者可以使用手动`draft-release`工作流程创建GitHub发布草稿。有关版本控制和打包策略,请参见[docs/13-operations.md](docs/13-operations.md)。
## 文档
首先阅读 [docs/README.md](docs/README.md)。
主要文档:
- [概念](docs/01-concept.md)
- [游戏介绍](docs/15-game-introduction.md)
- [游戏设计](docs/02-game-design.md)
- [模拟引擎](docs/03-simulation-engine.md)
- [代理接口](docs/04-agent-interface.md)
- [架构](docs/05-architecture.md)
- [控制台设计](docs/07-console-design.md)
- [属性模型](docs/08-attributes.md)
- [世界生成](docs/09-world-generation.md)
- [思维模式模式](docs/10-mindset-schema.md)
- [MCP工具](docs/11-mcp-tools.md)
- [比赛模型](docs/12-match-model.md)
- [操作指南](docs/13-operations.md)
- [路线图](docs/99-roadmap.md)
## 仓库布局
```text
cmd/agenticfc/ 核心守护进程
cmd/agenticfc-console/ 观众TUI
cmd/agenticfc-calibrate/ 比赛校准CLI
internal/engine/ 单写入器模拟引擎
internal/worldgen/ 世界配置、生成、世界状态
internal/mcpserver/ MCP网关和游戏表面
internal/consoleapi/ TUI的HTTP/SSE API
internal/tui/ Bubble Tea控制台
internal/narrative/ 消息目录和渲染
docs/ 公共设计和操作文档
```
## 贡献
欢迎贡献。在打开问题或拉取请求之前,请阅读 [CONTRIBUTING.md](CONTRIBUTING.md)。
重要项目规则:
- 保持文档和代码同步。
- 保留确定性模拟行为。
- 不要通过MCP、控制台API、日志或UI公开隐藏属性或确切的私有公式。
- 为引入的新面向人类的文本添加当前支持的本地化目录的条目。
- 在 [docs/98-tunables.md](docs/98-tunables.md) 中注册游戏可调参数。
## 安全
不要发布来自本地世界的真实管理器/管理员令牌。有关支持的报告渠道和安全模型,请参见 [SECURITY.md](SECURITY.md)。
## 许可证
Agentic FC根据 [MIT License](LICENSE) 许可。