New release: added README.md and example prompts to default configuration
This commit is contained in:
60
README.md
Normal file
60
README.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# WWCompanion
|
||||||
|
|
||||||
|
WWCompanion is a manual, user-triggered browser extension for
|
||||||
|
LLM-enabled AI companionship with WaterlooWorks job postings.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Usage](#usage)
|
||||||
|
- [Configuration](#configuration)
|
||||||
|
- [Example prompts](#example-prompts)
|
||||||
|
- [Example system prompt (default if not configured)](#example-system-prompt-default-if-not-configured)
|
||||||
|
- [Example task prompt: Generic Fit](#example-task-prompt-generic-fit)
|
||||||
|
- [Example task prompt: Ratings Only](#example-task-prompt-ratings-only)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
- Configure API settings, prompts, and tasks in **Settings**.
|
||||||
|
- Open a WaterlooWorks job posting modal.
|
||||||
|
- Click **Extract** or **Extract & Run** in the popup.
|
||||||
|
- Review the streamed response, then copy or clear it as needed.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
- Open **Settings** from the popup.
|
||||||
|
- Add your API key, base URL, and model (defaults target
|
||||||
|
OpenAI-compatible APIs).
|
||||||
|
- Set your system prompt and resume text.
|
||||||
|
- Customize task presets; the top task is used as the default.
|
||||||
|
|
||||||
|
## Example prompts
|
||||||
|
|
||||||
|
### Example system prompt (default if not configured)
|
||||||
|
|
||||||
|
Concise, critical evaluation style with a short summary and emphasized
|
||||||
|
key points.
|
||||||
|
|
||||||
|
```
|
||||||
|
You are a precise, honest assistant. Be concise and avoid inventing details, be critical about evaluations. You should put in a small summary of all the sections at the end. You should answer in no longer than 3 sections including the summary. And remember to bold or italicize key points.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example task prompt: Generic Fit
|
||||||
|
|
||||||
|
Single-section fit assessment tuned for compact output without
|
||||||
|
interview prep.
|
||||||
|
|
||||||
|
```
|
||||||
|
You should evaluate for my fit to the job. No comparisons between postings and you don't need to suggest interview prep, we'll leave those for later. a bit of tuning to your answers: please keep things more compact, a single section for the evaluation is enough, you don't need to analyze every bullet point in the posting.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example task prompt: Ratings Only
|
||||||
|
|
||||||
|
Structured numeric ratings with headings and no extra commentary.
|
||||||
|
|
||||||
|
```
|
||||||
|
Give ratings out of 10 with headings and do not include any other text.
|
||||||
|
|
||||||
|
1. Fit evaluation: my fit to the role.
|
||||||
|
2. Company status: how well this company offers career development for me.
|
||||||
|
3. Pay: use $25 CAD per hour as a baseline; rate the compensation.
|
||||||
|
```
|
||||||
@@ -1,9 +1,15 @@
|
|||||||
const DEFAULT_TASKS = [
|
const DEFAULT_TASKS = [
|
||||||
{
|
{
|
||||||
id: "task-fit-summary",
|
id: "task-generic-fit",
|
||||||
name: "Fit Summary",
|
name: "Generic Fit",
|
||||||
text:
|
text:
|
||||||
"Summarize the role, highlight key requirements, and assess my fit using the resume. Note any gaps and what to emphasize."
|
"You should evaluate for my fit to the job. No comparisons between postings and you don't need to suggest interview prep, we'll leave those for later. a bit of tuning to your answers: please keep things more compact, a single section for the evaluation is enough, you don't need to analyze every bullet point in the posting."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "task-ratings-only",
|
||||||
|
name: "Ratings Only",
|
||||||
|
text:
|
||||||
|
"Give ratings out of 10 with headings and do not include any other text.\n\n1. Fit evaluation: my fit to the role.\n2. Company status: how well this company offers career development for me.\n3. Pay: use $25 CAD per hour as a baseline; rate the compensation."
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -14,7 +20,7 @@ const DEFAULT_SETTINGS = {
|
|||||||
apiKeyPrefix: "Bearer ",
|
apiKeyPrefix: "Bearer ",
|
||||||
model: "gpt-4o-mini",
|
model: "gpt-4o-mini",
|
||||||
systemPrompt:
|
systemPrompt:
|
||||||
"You are a precise, honest assistant. Be concise, highlight uncertainties, and avoid inventing details.",
|
"You are a precise, honest assistant. Be concise and avoid inventing details, be critical about evaluations. You should put in a small summary of all the sections at the end. You should answer in no longer than 3 sections including the summary. And remember to bold or italicize key points.",
|
||||||
resume: "",
|
resume: "",
|
||||||
tasks: DEFAULT_TASKS,
|
tasks: DEFAULT_TASKS,
|
||||||
theme: "system"
|
theme: "system"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "WWCompanion",
|
"name": "WWCompanion",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"description": "AI companion for WaterlooWorks job postings.",
|
"description": "AI companion for WaterlooWorks job postings.",
|
||||||
"permissions": ["storage", "activeTab"],
|
"permissions": ["storage", "activeTab"],
|
||||||
"host_permissions": ["https://waterlooworks.uwaterloo.ca/*"],
|
"host_permissions": ["https://waterlooworks.uwaterloo.ca/*"],
|
||||||
|
|||||||
Reference in New Issue
Block a user