You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Telegram bot for simulating and role-playing global risk scenarios. Players can take on different roles and interact with scenarios through actions and information sharing.
3
+
A Telegram bot for simulating and role-playing global risk scenarios. Players can take on different roles and interact with scenarios through actions and information sharing. You can read more about the motivation behind it here: [Scaling Wargaming for Global Catastrophic Risks with AI](https://blog.sentinel-team.org/p/scaling-wargaming-for-global-catastrophic-risks).
4
4
5
-
## Setup
5
+
## Getting started
6
6
7
7
1. Clone this repository
8
8
2. Install dependencies: with `bun install`
9
-
3. Create a `.env` file with relevant tokens:
9
+
3. Create a `.env` file with the following tokens:
10
10
11
11
```
12
12
TELEGRAM_BOT_TOKEN=your_key
13
13
OPENAI_API_KEY=your_key
14
14
```
15
15
16
-
You can get an OpenAI key from [platform.openai.com/settings](https://platform.openai.com/settings), and a Telegram bot token by following instructions [here](https://core.telegram.org/bots#how-do-i-create-a-bot) (messaging the @BotFather account on Telegram.)
16
+
You can get an OpenAI key from [platform.openai.com/settings](https://platform.openai.com/settings), and it should have access to the o1 model, which OpenAI is slowly rolling out. You can get a Telegram bot token by following instructions [here](https://core.telegram.org/bots#how-do-i-create-a-bot) (messaging the @BotFather account on Telegram.)
17
17
18
-
###Usage
18
+
## Usage
19
19
20
-
1. Start the bot
21
-
```bash
22
-
bun src/grim.ts [--scenario-file <file_name>]
23
-
```
20
+
1. Start the bot: `bun src/grim.ts`. Optionally, you can provide a scenario file, `bun src/grim.ts --scenario-file file_name`
24
21
1. Set your role with `/role <Your Name> - <Your Role>`
25
22
1. Start the scenario with `/scenario <scenario_description>`. You don't need to provide `scenario_description` if you used a `scenario_file`
26
23
1. Once the scenario is started, you can use these commands:
@@ -31,3 +28,10 @@ You can get an OpenAI key from [platform.openai.com/settings](https://platform.o
31
28
-`/remove` - Remove an item from the action queue
32
29
-`/rollback` - Roll back the scenario to a previous checkpoint
33
30
31
+
## Contributing
32
+
33
+
Contributions are very welcome; fork the repo and make pull request, or make an issue to suggest an improvement.
34
+
35
+
## License
36
+
37
+
Distributed under the GPL. If this is a hurdle for you, let us know.
Copy file name to clipboardExpand all lines: src/openai.ts
+3-3
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ You will be given a scenario and your first message should set the stage of what
23
23
When answering questions and judging the results of our actions, assume we don't have any special resources. We are just a group of people distributed around the world with internet connections.
24
24
Think through the results of our actions step by step. For instance, you could assign probabilities to various outcomes and then sample from those proabilities.
25
25
26
-
Give concrete details when enthusiasts scanning the news would reasonably have the information but don't give information that would be hard to discover. For example, if you said: "International relations are tense due to unrelated trade disputes and technological competition.", that would be overly vague because it would be well known which specific countries have strained relationships and ongoing trade disputes. You should state specifics in cases like that. Do not create large fictious entities like countries or intergovernmental organizations. You are allowed to create some fictional small companies if the time is sufficiently far in the future but you should prefer to use already-existing entities.
26
+
Give concrete details when enthusiasts scanning the news would reasonably have the information but don't give information that would be hard to discover. For example, if you said: "International relations are tense due to unrelated trade disputes and technological competition.", that would be overly vague because it wouldn't be well known which specific countries have strained relationships and ongoing trade disputes. You should state specifics in cases like that. Do not create large fictious entities like countries or intergovernmental organizations. You are allowed to create some fictional small companies if the time is sufficiently far in the future, but you should prefer to use already-existing entities.
27
27
28
28
We will send various kinds of messages:
29
29
INFO: This is a request for information that we think we would already know about the world. It must not advance the scenario clock.
content: `You are a superforecaster specialized in analyzing complex scenarios and predicting outcomes with high calibration.
186
-
You are a master of marrying your fine-grained world-models and knowledge of base-rates with mathematical rules like Laplace's rule of succession and Bayes' rule.
186
+
You are a master of coupling your fine-grained world-models and knowledge of base-rates with mathematical rules like Laplace's rule of succession and Bayes' rule.
187
187
188
188
You will see a few kinds of interactions from the players:
189
189
- FEED: This is information that you should incorporate into your model of the world and treat as true. The players do this so that they can correct your misunderstanding of the world in important ways. It must never consume any time in the world.
@@ -324,4 +324,4 @@ Just like the previous messages in the chat describing the world, you should inc
0 commit comments