{"id":363157,"date":"2026-09-02T10:00:17","date_gmt":"2026-09-02T10:00:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/secretaire\/"},"modified":"2026-10-12T03:26:34","modified_gmt":"2026-10-12T03:26:34","slug":"tlloancy-secretaire","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/tlloancy-secretaire\/","author":22011295,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.3","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"tlloancy Secr\u00e9taire","header_author":"tlloancy","header_description":"The connector writes a paper; you file it. Past is the archive. General papers, or a country\u2019s drawers.","assets_banners_color":"d0c4ac","last_updated":"2026-10-12 03:26:34","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/donorbox.org\/wordpress-plugins","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":297,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"tlloancy","date":"2026-09-02 10:26:57","revision":3677744},"1.0.1":{"tag":"1.0.1","author":"tlloancy","date":"2026-09-02 10:26:57","revision":3677744},"1.0.4":{"tag":"1.0.4","author":"tlloancy","date":"2026-09-02 14:15:32","revision":3678149},"1.0.5":{"tag":"1.0.5","author":"tlloancy","date":"2026-09-21 10:46:40","revision":3705419},"1.0.6":{"tag":"1.0.6","author":"tlloancy","date":"2026-09-22 14:44:33","revision":3707593},"1.1.0":{"tag":"1.1.0","author":"tlloancy","date":"2026-10-12 03:26:34","revision":3740412}},"upgrade_notice":{"1.0.6":"<p>Desk sheet counts, unfinished titles you can resume, and a filed sheet you can open and revise.<\/p>","1.0.4":"<p>Drafts can include document CSS. Scripts and remote stylesheets stay blocked.<\/p>","1.0.3":"<p>The quill no longer stays busy after the draft is on the paper.<\/p>","1.0.2":"<p>Drafts use only the connectors you checked for this plugin.<\/p>","1.0.1":"<p>Desk styles load again. General papers. Name is tlloancy Secr\u00e9taire.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3677676,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3677676,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3677676,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3677676,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.4","1.0.5","1.0.6","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[251511,83,2353,9054,278844],"plugin_category":[],"plugin_contributors":[232640],"plugin_business_model":[],"class_list":["post-363157","plugin","type-plugin","status-publish","hentry","plugin_tags-abilities","plugin_tags-admin","plugin_tags-ai","plugin_tags-documents","plugin_tags-paperwork","plugin_contributors-tlloancy","plugin_committers-tlloancy"],"banners":{"banner":"https:\/\/ps.w.org\/tlloancy-secretaire\/assets\/banner-772x250.png?rev=3677676","banner_2x":"https:\/\/ps.w.org\/tlloancy-secretaire\/assets\/banner-1544x500.png?rev=3677676","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tlloancy-secretaire\/assets\/icon-128x128.png?rev=3677676","icon_2x":"https:\/\/ps.w.org\/tlloancy-secretaire\/assets\/icon-256x256.png?rev=3677676","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>tlloancy Secr\u00e9taire<\/strong> is a desk inside wp-admin: the <strong>WordPress AI connector<\/strong> writes a paper, you <strong>file<\/strong> it, and <strong>Past<\/strong> keeps the pile \u2014 search, print, mail, import. That is the difference with a normal chat: the draft is not lost in a thread. No key is stored in this plugin. If no connector is ready, the paper <strong>templates<\/strong> still work.<\/p>\n\n<p>Five drawers: <strong>Papers<\/strong> (any document you name: CV, cover letter, minutes, invoice, a letter), <strong>Training<\/strong>, <strong>Taxes<\/strong>, <strong>Fines<\/strong>, <strong>Disputes<\/strong>. No drawer names an office, a form, or a standard. Nothing is filed with an authority. You send the paper.<\/p>\n\n<h3>The house<\/h3>\n\n<ul>\n<li><strong>Drawers<\/strong> hold folders. <strong>Papers<\/strong> is one tile: name the folder, write, file. The other drawers hold the papers that kind of file usually needs.<\/li>\n<li><strong>Rules<\/strong>. Each drawer takes the texts you work from \u2014 the quality standard your organism follows, your tax office\u2019s page on claims, the notice you received. The connector writes with their wording and names an office or a law only when your notes or your rule name it.<\/li>\n<li><strong>Folders<\/strong> historize who \/ what \/ when. A Fines folder can open a linked Disputes folder.<\/li>\n<li><strong>Import<\/strong> on Past is the backup: HTML, text, PDF, or a ZIP of papers you already have.<\/li>\n<\/ul>\n\n<h3>Training<\/h3>\n\n<p>Quote, needs analysis, attendance sheet, certificate, quiz, dated <strong>watch note<\/strong>, accessibility mentions. File the quality standard you follow on the drawer; nothing is fetched from the public web.<\/p>\n\n<h3>WordPress AI<\/h3>\n\n<p>Uses <code>wp_supports_ai()<\/code> \/ <code>wp_ai_client_prompt()<\/code>. Choose the connector under <strong>Settings \u2192 Connectors<\/strong>. Abilities: <code>secretaire\/list-drawers<\/code>, <code>secretaire\/list-folders<\/code>, <code>secretaire\/draft-paper<\/code>.<\/p>\n\n<p>Guides: <code>docs\/USER-GUIDE.md<\/code> (EN) and <code>docs\/MODE-DEMPLOI.md<\/code> (FR).<\/p>\n\n<h3>External services<\/h3>\n\n<p>When a <strong>WordPress AI connector<\/strong> is active, prompts, folder notes, and any working papers you filed on a drawer are sent to <strong>that<\/strong> provider (the one you configured). This plugin does not pick a vendor. It does not request third-party websites.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>tlloancy-secretaire<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>tlloancy Secr\u00e9taire<\/strong>.<\/li>\n<li>Open the <strong>tlloancy Secr\u00e9taire<\/strong> menu. In <strong>Papers<\/strong>, name a paper and file it \u2014 or open Training, Taxes, Fines, Disputes.<\/li>\n<li>Optional: <strong>Settings \u2192 Connectors<\/strong> \u2014 install the AI plugin if needed, add a connector, then use <strong>Ask the connector<\/strong> on a folder.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20is%20this%20different%20from%20chatting%20with%20the%20ai%20connector%3F\"><h3>How is this different from chatting with the AI connector?<\/h3><\/dt>\n<dd><p>The connector writes. This desk <strong>files<\/strong> the draft in a dated folder. <strong>Past<\/strong> is the archive: search, print, mail, import. A chat does not keep that pile.<\/p><\/dd>\n<dt id=\"what%20is%20papers%3F\"><h3>What is Papers?<\/h3><\/dt>\n<dd><p>One drawer for any paper you name (CV, letter, minutes\u2026). <strong>Import<\/strong> files you already have. The other drawers are for files that usually need several papers.<\/p><\/dd>\n<dt id=\"where%20are%20the%20offices%2C%20forms%2C%20and%20standards%20of%20my%20country%3F\"><h3>Where are the offices, forms, and standards of my country?<\/h3><\/dt>\n<dd><p>In the rule you file on the drawer. A drawer never names one. File the standard, the office page, or the notice, and the connector uses its wording. That text stays current because you choose it.<\/p><\/dd>\n<dt id=\"who%20can%20use%20the%20desk%3F\"><h3>Who can use the desk?<\/h3><\/dt>\n<dd><p>Users with the <code>manage_secretaire<\/code> capability. Administrators have it. Give it to another role with a role editor or <code>add_cap()<\/code>. Settings need <code>manage_options<\/code>.<\/p><\/dd>\n<dt id=\"do%20i%20need%20an%20ai%20connector%3F\"><h3>Do I need an AI connector?<\/h3><\/dt>\n<dd><p>No. Every paper has a template. The connector fills it from your notes.<\/p><\/dd>\n<dt id=\"where%20do%20i%20put%20an%20api%20key%3F\"><h3>Where do I put an API key?<\/h3><\/dt>\n<dd><p>Not here. <strong>Settings \u2192 Connectors<\/strong>, on the WordPress AI plugin.<\/p><\/dd>\n<dt id=\"why%20did%20it%20call%20a%20connector%20i%20did%20not%20check%3F\"><h3>Why did it call a connector I did not check?<\/h3><\/dt>\n<dd><p>It must not. <strong>Connector Approvals<\/strong> is the list for this plugin. Only checked cards are used. Unchecked cards (a dead Compatible Endpoint, Ollama, OpenRouter\u2026) are skipped.<\/p><\/dd>\n<dt id=\"the%20connector%20replies%20with%20nothing%2C%20or%20takes%20a%20minute\"><h3>The connector replies with nothing, or takes a minute<\/h3><\/dt>\n<dd><p>That is a <strong>connector<\/strong> setting, not tlloancy Secr\u00e9taire. Open <strong>Settings \u2192 Connectors<\/strong>, edit the OpenAI-compatible (or Ollama) card, and turn on <strong>Disable thinking<\/strong>. Context length lives there too. If the draft is still empty, file the <strong>template<\/strong>.<\/p><\/dd>\n<dt id=\"can%20the%20connector%20style%20the%20paper%3F\"><h3>Can the connector style the paper?<\/h3><\/dt>\n<dd><p>Yes. The draft may include a <code>&lt;style&gt;<\/code> block for that document (letterhead, table, totals). Scripts, remote fonts, <code>@import<\/code>, and external stylesheets are stripped. Plugin CSS stays in files (<code>paper.css<\/code>) and is printed through WordPress. The brief is still facts; you may mention a look (invoice, letter) if you want.<\/p><\/dd>\n<dt id=\"is%20this%20legal%20or%20tax%20advice%3F\"><h3>Is this legal or tax advice?<\/h3><\/dt>\n<dd><p>No. Drafts to edit. Deadlines and official texts are yours to check.<\/p><\/dd>\n<dt id=\"how%20do%20i%20write%20a%20quote%3F\"><h3>How do I write a quote?<\/h3><\/dt>\n<dd><p>Open <strong>Training<\/strong>. Click <strong>Quote<\/strong>. You land on the folder. <strong>New folder<\/strong> is only for another session.<\/p><\/dd>\n<dt id=\"where%20was%20i%3F\"><h3>Where was I?<\/h3><\/dt>\n<dd><p><strong>Desk<\/strong> shows the drawer vignettes. The last drawer stays marked. Folders remember the last paper. Opening a paper and going back to the desk stays on the same page.<\/p><\/dd>\n<dt id=\"can%20i%20import%20papers%20or%20a%20whole%20folder%3F\"><h3>Can I import papers or a whole folder?<\/h3><\/dt>\n<dd><p>Yes. <strong>Past \u2192 Import<\/strong>. HTML, text, PDF, or a <strong>ZIP<\/strong>. On the desk, a ZIP becomes a folder; loose files become a new folder. Inside a folder, files (and ZIP contents) become papers.<\/p><\/dd>\n<dt id=\"how%20do%20i%20know%20what%20a%20folder%20still%20needs%3F\"><h3>How do I know what a folder still needs?<\/h3><\/dt>\n<dd><p>Open the folder. <strong>Past<\/strong> lists each expected paper as <strong>Filed<\/strong> or <strong>Missing<\/strong>. The desk shows <strong>Complete<\/strong> or the missing names on each folder. File a <strong>rule<\/strong> on the drawer (your quality standard for Training, your office\u2019s page for Taxes\u2026) so the list follows your text. Without a file, the built-in papers are used.<\/p><\/dd>\n<dt id=\"how%20do%20i%20send%20or%20destroy%20a%20filed%20paper%3F\"><h3>How do I send or destroy a filed paper?<\/h3><\/dt>\n<dd><p>In <strong>Past<\/strong>: <strong>Send<\/strong> on a paper mails that sheet (body + PDF). <strong>Send<\/strong> on a folder (envelope mark) mails the whole chemise \u2014 the list in the body, one PDF per filed paper. <strong>Shred<\/strong> (shredder mark) deletes that one paper or folder. <strong>Fireplace<\/strong> (hearth mark) burns the whole pile \u2014 every paper in the folder, or every folder in the drawer. A hint under each mark says which. Permanent, no trash.<\/p><\/dd>\n<dt id=\"is%20the%20admin%20in%20french%3F\"><h3>Is the admin in French?<\/h3><\/dt>\n<dd><p>The source language is English. Every UI string is gettext (<code>tlloancy-secretaire<\/code>). A complete <strong>French<\/strong> catalog ships in <code>languages\/<\/code>. Set the site language to Fran\u00e7ais (<code>fr_FR<\/code>). If a leftover <code>wp-content\/languages\/plugins\/tlloancy-secretaire-fr_FR.*<\/code> is mixed English\/French, delete those files and reload.<\/p><\/dd>\n<dt id=\"how%20many%20papers%20does%20ask%20write%3F\"><h3>How many papers does Ask write?<\/h3><\/dt>\n<dd><p>As many as the notes need, up to 16 in one request. They are filed as they finish. One paper of the current kind still lands in the editor for you to File. How many write at once is <strong>Settings \u2192 Quills at once<\/strong> (1\u20138). A folder can hold more than 16; that cap is one Ask.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>The desk no longer asks for a country. Five drawers for everyone: Papers, Training, Taxes, Fines, Disputes. The France pack and the Address setting are gone; the connector names an office, a form, a standard, or a law only when your notes or a filed rule name it.<\/li>\n<li>Training no longer carries Qualiopi labels. File your own quality standard as the drawer's rule and the papers use its words.<\/li>\n<li>A dedicated capability, manage_secretaire, opens the desk. Administrators receive it on activation; grant it to other roles with add_cap. Settings stay with manage_options.<\/li>\n<li>Without a connector, Ask falls back to the template instead of showing the AI SDK's error, and the folder report says where to add a connector key.<\/li>\n<li>Fines link to Disputes (was Justice).<\/li>\n<li>French translation rebuilt: plural forms restored, duplicate entries removed, Disputes drawer translated.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>On the desk, each folder shows how many sheets it holds. Open that count for the first five titles.<\/li>\n<li>A sheet that fails stays on the folder. Resume writes only those, one at a time. Empty the list drops the follow-up.<\/li>\n<li>Clicking a filed paper opens it in Source and Preview. Ask can revise it.<\/li>\n<li>A folder you already named keeps its name. With no name, the connector chooses one and a Connector mark shows that.<\/li>\n<li>When an Ask finishes, the report stays until you leave it or dismiss it.<\/li>\n<li>A sun or moon follows the site clock on the desk.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Folder health is a collapsible Complete \u00b7 n\/n list.<\/li>\n<li>Ask may write several papers (16 per request) and file them as they finish. Parallel quills: Settings.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Ask may lay out the paper with a sanitized <code>&lt;style&gt;<\/code> block (no scripts, no remote CSS). Desk and print keep a paper stylesheet in plugin files.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>After Ask finishes, the quill stops and File \/ Ask work again. A late job poll no longer freezes the form on \u201cwriting\u201d.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Ask the connector only on cards <strong>checked<\/strong> for this plugin in Connector Approvals. Unchecked providers are never called.<\/li>\n<li>Fix: Ask actually calls Google. A <code>method_exists<\/code> check skipped the AI client\u2019s magic methods and always fell back to the template.<\/li>\n<li>Admin menu icon is a 20px silhouette so it stays sharp on the dark menu.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: desk CSS and JS load on the admin screens (menu slug is still <code>secretaire<\/code>). Icons stay 24px.<\/li>\n<li>General address: any paper you name (CV, letter, minutes\u2026). Import stays the backup.<\/li>\n<li>Display name <strong>tlloancy Secr\u00e9taire<\/strong>. Connector readiness uses the public AI API only.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Desk: France drawers, folders, print, connector drafts, abilities.<\/li>\n<li>Country packs: BE, CH, DE, ES, IT, GB, US, CA (Qu\u00e9bec) \u2014 each with its own offices and papers.<\/li>\n<li>English source strings, French translation (<code>languages\/tlloancy-secretaire-fr_FR<\/code>).<\/li>\n<\/ul>","raw_excerpt":"A home desk for paperwork. The connector writes; you file. Past is the dated archive.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363157"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tlloancy"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363157"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363157"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363157"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363157"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363157"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}