Add MYSELF.md user profile for agent personalization

- Add MYSELF.example.md template with identity, role, collaborators,
  and preferences sections
- Add MYSELF.md to .gitignore (contains personal info)
- Reference MYSELF.md in AGENTS.md routing table, new "About the User"
  section, and file index
- Add setup step and routing entry in README.md
This commit is contained in:
2026-02-10 19:30:14 -06:00
parent d04aa26f31
commit 8eb1fb87a7
4 changed files with 52 additions and 1 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
.env
MYSELF.md

View File

@@ -6,12 +6,24 @@ The InternalAI platform aggregates company data from email, calendars, Zulip cha
| I need to... | Read |
|---------------------------------------------|-------------------------------|
| Know who the user is and what they care about | [MYSELF.md] |
| Understand the company and its tools | [company-context.md] |
| Look up people, contacts, relationships | [contactdb-api.md] |
| Query emails, meetings, chats, documents | [dataindex-api.md] |
| Know which connector provides what data | [connectors-and-sources.md] |
| Create a marimo analysis notebook | [notebook-patterns.md] |
## About the User
If `MYSELF.md` exists in the project root, **read it first** before starting any workflow. It contains the user's name, role, team, frequent collaborators, and preferences. Use this context to:
- Address the user by name in notebook markdown
- Default `TARGET_PERSON` or filter values to people they work with
- Scope date ranges and topics to their stated interests
- Tailor output format to their preferences
If `MYSELF.md` does not exist, ask the user to copy `MYSELF.example.md` to `MYSELF.md` and fill it in, or proceed without personalization.
## API Base URLs
| Service | Swagger UI | OpenAPI JSON |
@@ -144,12 +156,14 @@ print(f"Found {len(emails)} emails involving Alice")
## File Index
- [MYSELF.md] — User identity, role, collaborators, and preferences (gitignored, copy from `MYSELF.example.md`)
- [company-context.md] — Business context, team structure, vocabulary
- [contactdb-api.md] — ContactDB entities and REST endpoints
- [dataindex-api.md] — DataIndex entity types, query modes, REST endpoints
- [connectors-and-sources.md] — Connector-to-entity-type mapping
- [notebook-patterns.md] — Marimo notebook patterns and common API workflows
[MYSELF.md]: ./MYSELF.md
[company-context.md]: ./docs/company-context.md
[contactdb-api.md]: ./docs/contactdb-api.md
[dataindex-api.md]: ./docs/dataindex-api.md

28
MYSELF.example.md Normal file
View File

@@ -0,0 +1,28 @@
# About Me
Copy this file to `MYSELF.md` and fill in your details. The agent reads it to personalize workflows and understand your role. `MYSELF.md` is gitignored — it stays local and private.
## Identity
- **Name:** Your Name
- **Role:** e.g. Engineering Lead, Product Manager, Designer
- **Contact ID** Your contact id from the contactdb - useful to prevent a call of me
## What I work on
Brief description of your current projects, responsibilities, or focus areas. This helps the agent scope queries — e.g., if you work on GreyHaven, the agent can default to filtering meetings/emails related to that project.
## People I work with frequently
List the names of people you interact with most. The agent can use these to suggest relevant filters or default `TARGET_PERSON` values in workflows.
- Alice — role or context
- Bob — role or context
## Preferences
Any preferences for how you want workflows or analysis structured:
- **Default date range:** e.g. "last 30 days", "current quarter"
- **Preferred output format:** e.g. "tables with counts", "timeline view"
- **Topics of interest:** e.g. "hiring", "client feedback", "sprint blockers"

View File

@@ -33,7 +33,13 @@ The goal is to use [opencode](https://opencode.ai) (or any LLM-powered coding to
Replace `xxxxx` with your actual LiteLLM API key.
4. **(Optional) LLM filtering in workflows** — if your workflows need to classify or score entities via an LLM, copy `.env.example` to `.env` and fill in your key:
4. **Set up your profile** — copy the example and fill in your name, role, and contact ID so the agent can personalize workflows:
```bash
cp MYSELF.example.md MYSELF.md
```
5. **(Optional) LLM filtering in workflows** — if your workflows need to classify or score entities via an LLM, copy `.env.example` to `.env` and fill in your key:
```bash
cp .env.example .env
@@ -55,6 +61,7 @@ The `workflows/lib` module provides an `llm_call` helper (using [mirascope](http
| Topic | File |
|-------|------|
| Your identity, role, preferences | `MYSELF.md` (copy from `MYSELF.example.md`) |
| Company context, tools, connectors | `docs/company-context.md` |
| People, contacts, relationships | `docs/contactdb-api.md` |
| Querying emails, meetings, chats, docs | `docs/dataindex-api.md` |
@@ -68,6 +75,7 @@ It also includes API base URLs, a translation table mapping natural-language que
```
internalai-agent/
├── AGENTS.md # LLM agent routing guide (entry point)
├── MYSELF.example.md # User profile template (copy to MYSELF.md)
├── .env.example # LLM credentials template
├── docs/
│ ├── company-context.md # Monadical org, tools, key concepts