Agentic Persona

io.github.pooriaarab由 GitHub 帳號 pooriaarab 發布v0.1.0更新於 Oct 27, 2026

Keep one consistent AI persona across social content.

發布方自己的服務:agentic.no

概覽

AI 產生的概覽

本機 MCP 伺服器,可定義 AI 人設檔案、檢查文案的語氣詞、禁用詞與揭露聲明,並產生圖片、影片和文案提示詞。

可以做什麼
  • 依明確輸入定義並驗證人設檔案,驗證後凍結欄位
  • 檢查文案中的字面語氣詞、禁用詞與缺少的揭露聲明,回傳分數與標記
  • 依指定主題產生包含圖片、影片與文案提示詞的提示詞包
  • 新增帶時間戳的人設筆記,並在目前行程內由舊到新列出
適用情境
適合內容與代理程式開發者:在審核前用共用的人設檔案做確定性的本機文字檢查,或需要為圖片、影片與文案產生一致性的提示詞字串。它是輕量的本機檢查工具,不是以模型為基礎的評估或發佈工具。
執行需求
以本機 stdio 行程執行,通常透過 npm 套件以 npx 啟動;需要 Node.js 18 或更新版本。不需要 API 金鑰、環境變數或 .env 載入。
安裝前請注意
檢查為字面子字串比對,分數並非經過校準的品質或合規指標。筆記存於行程記憶體,跨人設共用,重新啟動後消失。提示詞包只回傳文字,不呼叫任何模型。SDK 的 HTTP 路由會把文字送到指定端點,未提供驗證設定,且除非設定 dryRun,否則會實際派送。0.1.0 版本尚早,介面可能變動。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Agentic Persona,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

agentic-persona

[npm version] [Downloads/month] [License: MIT]

Quickstart · API and commands · Package

agentic-persona is an open-source persona profile and text-checking toolkit for developers building AI content workflows. It checks literal voice phrases, banned phrases, and disclosure text. Its Node.js library, CLI, and Model Context Protocol (MCP) server also build image, video, and caption prompt strings.

Install

sh
npm install agentic-persona

Requires Node.js 18 or later. Includes TypeScript declarations and two runtime dependencies.

Check your first caption

Save this example as check-persona.mjs after installation. Run node check-persona.mjs. No API keys, environment variables, or .env loading are required.

js
import { definePersona, consistencyCheck, promptPack } from 'agentic-persona';
const persona = definePersona({  name: 'Ari', handle: '@ari', niche: 'sustainable fashion',  voiceRules: ['warm', 'practical'], bannedPhrases: ['guaranteed'],  disclosureLine: 'Created with AI assistance.',  visualStyle: 'sunlit editorial portrait', voiceStyle: 'calm and conversational'});console.log(consistencyCheck(persona,  'A warm, practical tip. Created with AI assistance.'));console.log(promptPack(persona, 'repairing denim'));

The check prints score: 100, empty flags, and missingDisclosure: false. The prompt pack contains imagePrompt, videoPrompt, and captionPrompt. It generates text, not media assets.

How it works

text
Profile -> validate and freeze -> persona                                    |                      +-------------+--------------+                      |                            |              caption substring checks     topic prompt templates                      |                            |              score and flags               image/video/caption strings

Why it exists

A profile can keep identity fields and disclosure instructions in one place across content workflows. textlint supports general prose rules. Promptfoo tests prompts and AI systems. This package provides a smaller local profile checker and fixed prompt templates without model calls.

Compare

Checked 2026-10-14 against textlint's source and Promptfoo's source. These are alternatives for content checks or prompt evaluation, with different scopes.

Scopeagentic-personatextlintPromptfoo
Main taskPersona profiles and substring checksNatural language lintingPrompt and AI-system evaluation
ConfigurationProfile object or JSONInstalled rules and config fileDeclarative evaluation configs
ExecutionLocal JavaScript functionsLocal CLI and APIsCLI and continuous integration

Coverage

Surface or adapterStatusBehavior
Persona profile✓Validates fields and freezes profile values
Caption checks✓Case-insensitive substring checks
Prompt templates✓Returns image, video, and caption strings
Persona notes✓Process-local note storage
Local router✓SDK creates a receipt without external delivery
HTTP router✓SDK posts {text} to a supplied endpoint
Model providers and social publishers—No brand-specific integration exists

The source exports six persona functions and two routing adapters. Tests cover local behavior and mocked HTTP routing. No external integration is credential-verified by this rewrite. Prompt templates do not call an image, video, or language model.

Common use cases

  1. Content developers use Node.js to flag missing disclosure text before review.
  2. Brand teams use a JSON profile and the CLI to detect prohibited phrases in captions.
  3. Agent developers use an MCP client to build prompt strings from a shared profile.
  4. Backend teams use TypeScript to store persona identity fields alongside their own content pipeline.

Features

  • Profile validation: checks required strings and arrays, then freezes the profile.
  • Consistency checks: reports matched phrases, banned phrases, missing disclosure, and a score.
  • Prompt packs: includes identity and style instructions in three prompt templates.
  • Notes: adds timestamped notes and lists them oldest first within a process.
  • Core utilities: includes text statistics, logging, routing guards, and dispatch cost counters.

Runtime surfaces

The SDK exports definePersona, validatePersona, consistencyCheck, promptPack, addNote, and listNotes. It also exports the shared text, guard, logging, routing, and cost utilities.

For CLI use, save the quickstart profile object as valid JSON in persona.json.

sh
npx agentic-persona create --profile persona.jsonnpx agentic-persona show --profile persona.jsonnpx agentic-persona check --profile persona.json --text 'A warm tip. Created with AI assistance.'npx agentic-persona prompts --profile persona.json --topic 'repairing denim'npx agentic-persona add-note --note 'Prefer natural light'npx agentic-persona list-notesnpx agentic-persona costsnpx agentic-persona mcp

These are the eight CLI commands. Help uses --help / -h; version uses --version / -V. create and show validate and print a supplied profile; they do not save it. Separate note commands start separate processes and do not share notes.

The dedicated agentic-persona-mcp executable also starts the stdio server. Its six tools are define_persona, validate_persona, consistency_check, prompt_pack, add_persona_note, and list_persona_notes. Notes share process memory; profile tools take explicit profile inputs rather than a saved active persona.

The built Worker entry provides GET /health and POST /summarize with a JSON text string. It computes text statistics and has no persona routes. Deploy it yourself; it is not a managed service or package-root export.

Delivery and behavior limits

Voice rules are literal phrases. A rule such as warm checks for that substring; it does not evaluate tone semantically. The score starts with the matched-rule percentage, subtracts 25 per banned phrase, and subtracts 20 for missing disclosure. An empty voice-rule list starts at 100. The score is not a calibrated quality or compliance measure. Prompts request identity consistency; the package does not enforce generated faces, voices, or media style. Notes are process-local, shared across personas, and absent from generated prompts. They disappear after a restart. The package does not publish social posts, train models, or provide durable persona memory. HTTP routing defaults to a ten-second timeout and has no retries or authentication configuration. SDK dispatch is live unless dryRun: true is supplied. Preview each dispatch and stop if a guard denies it. Cost reports count dispatches and characters, not money. Persona functions do not record dispatch costs.

Integration guides

Status

Version 0.1.0 is early; interfaces can change. Public case studies are not yet published in this repository. Use GitHub issues for support.

FAQ

Does agentic-persona generate images or videos?

agentic-persona returns prompt strings. You provide a generation service and review its output.

Which integrations are verified?

agentic-persona has local and mocked routing tests. No external model or publishing integration is credential-verified by this rewrite.

Does agentic-persona provide a managed persona service?

agentic-persona runs in your own process. You supply persistence, hosting, and model services.

How is agentic-persona different from textlint?

agentic-persona checks profile phrases and builds persona prompt packs. textlint uses installed rules to lint natural language files.

How is agentic-persona different from Promptfoo?

agentic-persona uses deterministic local profile checks without model evaluation. Promptfoo evaluates prompts and AI systems using configured tests.

Does the score measure brand voice quality?

agentic-persona scores literal phrase matches and penalties. It does not measure semantic tone or certify quality.

Do persona notes survive restarts?

agentic-persona stores notes in process memory. Your application needs its own durable storage.

Does agentic-persona add disclosure to generated captions?

agentic-persona includes a disclosure instruction in the caption prompt. Its checker detects the configured substring; downstream output still needs review.

License

MIT.

來源:README.md,提交 757b529

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Oct 15, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Agentic 整合