diff --git a/.gitignore b/.gitignore index 4c49bd7..268b432 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .env +MYSELF.md diff --git a/AGENTS.md b/AGENTS.md index d9c2677..6e00d0e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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 diff --git a/MYSELF.example.md b/MYSELF.example.md new file mode 100644 index 0000000..195ee04 --- /dev/null +++ b/MYSELF.example.md @@ -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" diff --git a/README.md b/README.md index 6b493eb..3050255 100644 --- a/README.md +++ b/README.md @@ -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