What an assistant can do

An assistant connected to LibreTimes gets the tools below. They are written as tasks rather than as one wrapper per API endpoint, so an assistant spends its attention on your question instead of on a menu.

Nothing here takes anyone else's identity. There is no tool that names another person's account, and the writing tools take no account name at all – they act on yours because that is whose token they are holding.

Reading and searching

These need no permission. A connection that approved nothing can use all of them, and so can an assistant you have not signed in to at all.

ToolWhat it does
searchTypo-tolerant search across works, people and organizations
list_worksBrowse works – texts hosted here and harvested journal articles and preprints in one list
get_workOne work's full record: authors, venue, identifiers, abstract, licence, where the text is
read_workThe text of a work hosted here, as Markdown with maths. Section by section, so a long book does not arrive in one piece
get_work_citationsWalk the citation graph – what a work cites, and what cites it
list_collectionsCourses, reading lists and editorial picks
get_collectionOne course with its lectures in order
get_profileA public profile by its handle
get_cvAn academic CV, grouped by section
enumsThe values the platform actually accepts, so an assistant stops guessing

Checking references

This is the part worth connecting an assistant for. A language model asked for a citation will produce one that looks right, and looking right is the whole problem. These tools check against real records instead.

ToolWhat it doesNeeds
resolve_referenceCheck up to 25 references against our index, Crossref and arXiv. For each one: does it exist, and is it the work claimed?Sign-in
export_citationsExport up to 50 works as CSL-JSON – what Zotero imports and Pandoc reads for --bibliographySign-in

resolve_reference is deliberately strict about the difference between "this DOI exists" and "this DOI is the paper you said it was". A real identifier under an invented title comes back as a mismatch, not as verified, which is exactly the failure mode you are trying to catch.

It needs you signed in because it falls through to Crossref and arXiv on a miss, and we are not willing to be an anonymous free proxy to them.

Your library and citations

Two different things with similar names. The library is what you saved to read. The citation library is your private bibliography – the one the Word and LibreOffice plugins cite from.

ToolWhat it doesNeeds
list_libraryList what you saved, and your foldersSign-in
save_to_librarySave up to 50 works, optionally into a folderlibrary:write
remove_from_libraryRemove up to 50 saved works. The works themselves are untouchedlibrary:write
manage_library_folderCreate, rename and delete folderslibrary:write
list_citationsList your citations; filter by folder, year or typeSign-in
save_citationsCopy up to 50 works from the index into your citation librarylibrary:write
organize_citationsRefile up to 50 citations: folder, tags, noteslibrary:write
remove_citationsDelete up to 50 citations. This cannot be undonelibrary:write

Citations are built from index records, never typed in freehand. That is what keeps a bibliography traceable to something real.

Writing

Everything here produces something private. Nothing here publishes.

ToolWhat it doesNeeds
create_draftWrite a text into your drafts – lecture notes, an article, a problem sheetpublications:write
update_draftChange one of your drafts. Only the fields passed are touchedpublications:write
upsert_courseGroup published lectures into a course, in order. Created privatecollections:write
upsert_cv_entriesAdd and update entries on your own CVcv:write
upload_attachmentUpload a file to attach to a draft or a CV entryattachments:write

Three of these are safe to run twice. create_draft, upsert_course and upsert_cv_entries take an import key – your own label for the thing being written – and a second run with the same key updates what the first run made instead of creating a duplicate. If an assistant loses its place halfway through importing a CV, telling it to start again is the right move.

upsert_course is careful with a course you have already opened up: it will add and reorder lectures, but it leaves the title, description and categories alone, because those are what you wrote.

Disclosing AI involvement

Every work carries an AI usage field – none, assisted, mostly_ai or fully_ai – and create_draft and update_draft both take it.

Set it honestly. If an assistant wrote the text, the value is not none. It is not a mark against the work; it is what lets a reader weigh what they are reading, and it is what makes it possible for us to welcome assistants at all rather than trying to detect them.

What is not here, and will not be

No tool publishes. No tool claims authorship of a work on your behalf. No tool comments, sends a message, follows an account or mentions anyone. No tool reads your reading history.

The first two are yours to do because they are assertions about you. The rest are left out because an assistant that can reach another person is an assistant that can be talked into reaching them by anyone whose text it happens to read.