62 lines
1.4 KiB
Markdown
62 lines
1.4 KiB
Markdown
---
|
|
id: ghostwriter
|
|
title: Ghostwriter
|
|
description: Context-aware per-job AI chat assistant behavior and API surface.
|
|
sidebar_position: 2
|
|
---
|
|
|
|
Ghostwriter is the per-job AI chat assistant in JobOps.
|
|
|
|
## What it is for
|
|
|
|
Ghostwriter uses:
|
|
|
|
- Current job description and metadata
|
|
- Reduced profile snapshot
|
|
- Global writing style settings
|
|
|
|
Typical use cases:
|
|
|
|
- Role-specific answer drafting
|
|
- Cover letter and outreach drafts
|
|
- Interview prep tied to the JD
|
|
- Rephrasing with tone constraints
|
|
|
|
## Where it appears
|
|
|
|
- Available from job details in `discovered` and `ready`
|
|
- Right-side drawer UX
|
|
- One persistent conversation per job
|
|
|
|
## Writing style settings impact
|
|
|
|
Global settings affecting generations:
|
|
|
|
- `Tone`
|
|
- `Formality`
|
|
- `Constraints`
|
|
- `Do-not-use terms`
|
|
|
|
Defaults:
|
|
|
|
- Tone: `professional`
|
|
- Formality: `medium`
|
|
- Constraints: empty
|
|
- Do-not-use terms: empty
|
|
|
|
## Context and safety model
|
|
|
|
- Job snapshot is truncated to fit prompt budget.
|
|
- Profile snapshot includes relevant slices only.
|
|
- System prompt enforces read-only assistant behavior.
|
|
- Logging stores metadata, not full prompt/response dumps.
|
|
|
|
## API surface
|
|
|
|
- `GET /api/jobs/:id/chat/messages`
|
|
- `POST /api/jobs/:id/chat/messages` (streaming)
|
|
- `POST /api/jobs/:id/chat/runs/:runId/cancel`
|
|
- `POST /api/jobs/:id/chat/messages/:assistantMessageId/regenerate` (streaming)
|
|
|
|
Compatibility thread endpoints remain, but UI behavior is one thread per job.
|