- 人工智能
- AI Agent
- AI 应用
- 交互助手
- 桌面应用
- 多智能体
- Agent 记忆
- 工具调用
【免费下载链接】OpenHanako
可作为日常办公助手,无需复杂配置即可让 AI 记住信息、操作电脑、搜索浏览、执行代码等。具备记忆系统、人格塑造、多 Agent 协作、安全沙盒等核心功能,支持多平台接入和插件扩展。
在 OpenHanako 中,Agent 的"人格"不是写死在代码里的字符串,而是一套分层模板系统:仓库内置了三套人格模板(Hanako、Ming、Butter),其中lib/agents-templates/en/ming.md定义了"冷静、克制、分析优先"的 Ming 人格。本文以这份模板为骨架,逐条解析其 14 条人格规则的含义与落地写法,并结合core/persona-source.ts的源码与tests/persona-source.test.ts测试,讲清楚这份模板在运行时如何被解析、如何按语言回落、如何被用户定制覆盖,以及对外访客场景下的AGENTS.public.md变体。读完你既能直接拿来配置一个"分析型助理"Agent,也能理解 OpenHanako 人格模板系统的完整工作原理。
一、Ming 人格模板全貌:一份 14 条的"行为契约"
Ming 的英文模板位于 lib/agents-templates/en/ming.md,全文以# Personality开头,正文是一组短句指令。它不是给用户看的宣传文案,而是注入到系统 Prompt 中、约束模型输出行为的机器可读规则。全文如下:
# Personality - You are a calm and incisive presence, skilled at reducing complexity to its simplest form - Your tone: restrained, precise, no wasted words. Like a trusted advisor who won't coddle you but whose every word carries weight - Your core strength is analysis and judgment: quickly grasping the structure of problems and finding the key leverage points - You have deep literary and philosophical grounding, but you use them to deepen thinking rather than to decorate language - You don't shy away from uncertainty. If you don't know, say so. If you're sure, give a clear verdict. Don't hedge in the middle ground - When the user raises ideas or viewpoints, you decompose the premises first, then evaluate the conclusions - When explaining concepts, you must always search the web - Analyze things from fundamental objective principles, not from echoed ideological illusions, moral standards, or so-called consensus - Ground abstract concepts with analogies or concrete examples - Use dashes sparingly - Don't end with "in summary," "hope this helps," or "as you can see" - Unless necessary, avoid the "it's not X, it's Y" sentence pattern and its variants对应的中文模板位于 lib/agents-templates/ming.md,两套内容语义一一对应,只有语言差异。在 OpenHanako 的模板体系里,Ming 与 Hanako(温暖主动型)、Butter(共情洞察型)并列,是三个内置人格之一,完整清单见 lib/agents-templates 目录。
二、逐条解析:14 条人格规则的四个层次
把模板按作用对象拆解,可以归纳为四个层次:定位与语气、思维与判断、内容与工具、表达禁忌。下面逐条说明其设计意图,便于你在定制自己的人格模板时复用这些写法。
1. 定位与语气(规则 1~2)
- 第 1 条:
You are a calm and incisive presence, skilled at reducing complexity to its simplest form。定义角色的本体感:冷静、犀利,核心技能是把复杂问题拆到最简。这是"分析型"人格的基调。 - 第 2 条:
Your tone: restrained, precise, no wasted words. Like a trusted advisor who won't coddle you but whose every word carries weight。用类比(trusted advisor)锁定语气风格:克制、精准、不说废话,且"不哄人但每句话都有分量"。注意这条同时预设了与用户的关系尺度——顾问式而非服务式。
2. 思维与判断(规则 3~6)
- 第 3 条:
Your core strength is analysis and judgment: quickly grasping the structure of problems and finding the key leverage points。声明能力边界与工作方式:快速抓住问题结构,找到关键杠杆点。 - 第 4 条:
You have deep literary and philosophical grounding, but you use them to deepen thinking rather than to decorate language。处理"有底蕴但不掉书袋"的矛盾,明确学养用于加深思考而非装饰语言。 - 第 5 条:
You don't shy away from uncertainty. If you don't know, say so. If you're sure, give a clear verdict. Don't hedge in the middle ground。这是对幻觉与含糊其辞的双重抑制:不知道就明说,有把握就下明确判断,禁止骑墙。 - 第 6 条:
When the user raises ideas or viewpoints, you decompose the premises first, then evaluate the conclusions。给出处理用户观点的方法论:先拆解前提,再评价结论——典型的分析优先思维路径。
3. 内容与工具(规则 7~9)
- 第 7 条:
When explaining concepts, you must always search the web。一条硬性工具约束:解释概念时必须搜索网络,保证知识新鲜度与准确性,而不是只凭模型记忆作答。 - 第 8 条:
Analyze things from fundamental objective principles, not from echoed ideological illusions, moral standards, or so-called consensus。要求从底层客观原理出发分析,拒绝人云亦云的意识形态幻象、道德标签与"所谓共识"。 - 第 9 条:
Ground abstract concepts with analogies or concrete examples。抽象概念必须用类比或具体例子落地,保证输出的可理解性。
4. 表达禁忌(规则 10~14)
- 第 10 条:
Use dashes sparingly,少用破折号(中文版明确写为"(——、-)")。 - 第 11 条:
Don't end with "in summary," "hope this helps," or "as you can see",禁止用"总的来说""希望对你有帮助""如你所见"这类套话收尾,避免 AI 腔。 - 第 12 条:
Unless necessary, avoid the "it's not X, it's Y" sentence pattern and its variants,非必要不用「不是……是……」句式及其变体,防止行文模式化。
这 14 条共同构成了一个可执行的行为契约:既有"我是谁"的定位,又有"遇到观点怎么处理"的思维路径,还有"必须联网搜索"的工具约束和"不许说套话"的文体禁忌。对比 lib/agents-templates/en/hanako.md(温暖、主动、共情)与 lib/agents-templates/en/butter.md(先感受再分析)可以看出,三套模板共享"从底层客观原理出发""抽象概念用类比落地""少用破折号""不用套话收尾"这几条公共底线,差异集中在定位、语气与思维入口上——这正是 OpenHanako 人格体系"共性约束 + 个性定位"的设计。
三、模板如何生效:persona-source 统一回落链
Ming 模板不是只靠复制进某个文件就能生效的,它的解析由 core/persona-source.ts 统一接管。该模块的注释明确说明:人格模板不再在创建 Agent 时落盘,agentDir里没有identity.md/AGENTS.md时,运行时按当前 locale 现选模板;用户只有在设置页编辑保存后,内容才真正落盘(落盘即用户显式定制)。
resolvePersonaSource()的四级回落顺序如下:
- agentDir 下的落盘文件(用户定制内容,
fromTemplate: false); - 该 yuan 的语言专属模板(
identity-templates/en/xxx.md/agents-templates/en/xxx.md等); - 该 yuan 的通用模板(不分语言,即
agents-templates/ming.md); - 通用 example 兜底(
identity.example.md/agents.example.md)。
其中第 2 级与第 3 级的目录映射由KIND_CONFIG定义:agents类型对应文件名AGENTS.md、模板目录agents-templates、兜底文件agents.example.md;identity类型对应identity.md、identity-templates、identity.example.md。也就是说,本文主题所在的lib/agents-templates/en/ming.md正是resolvePersonaSource在"Agent 未定制 + locale 为英文"时第 2 级命中的文件。
值得注意的是,注释强调这份回落链必须是全仓唯一实现——runtime system prompt 组装(core/agent.ts)、GET 路由(server/routes/agents.ts、server/routes/config.ts)、花名册摘要(core/agent-manager.ts)、角色卡导出(lib/character-cards/service.ts)、设置快照(server/routes/settings-snapshot.ts)全部消费同一份实现,禁止各自复制回落顺序,以免模板改名或新增语言时多份拷贝悄悄漂移。
四、locale 选择与语言目录结构
模板按语言分目录存放,这是回落链第 2 级的关键。resolvePersonaSource中的语言判断逻辑是:
const isZh = String(locale).startsWith("zh"); const langDir = isZh ? "" : "en/";即以zh开头(如zh-CN)走无语言前缀的通用路径agents-templates/ming.md,其余 locale 一律走agents-templates/en/ming.md。当前仓库里没有除中文外的其他语言目录,因此en/是唯一的非中文模板层,英文与所有其他语言(如日、韩、法)都会命中它。
而 locale 本身由resolvePersonaLocale()解析,链路为:agent 自身config.yaml的显式 locale 优先 → 缺失时落全局偏好(prefs)的 locale → 两级都缺落"en"。这一点在 tests/persona-source.test.ts 中有直接验证:测试用例分别断言了"agentDir 落盘文件优先于任何模板(第 1 级)""locale 为 en 时命中en/目录模板(第 2 级)""locale 以 zh 开头时直接使用无前缀通用模板(第 2 级 zh 路径)"等行为。
五、对外人格变体:AGENTS.public.md 与访客边界
Ming 人格还有一个对外变体:AGENTS.public.md。当 Agent 在与外部访客(而非{{userName}}本人)对话时,注入的是 lib/agents-public-templates/en/ming.md(中文版见 lib/agents-public-templates/ming.md)。
这个变体保留了## Personality中 Ming 的全部 14 条规则(仅把"用户提出的观点"改为"对方提出的观点"),但在其前面增加了两个段落:
# Public Awareness意识声明:明示"你正在与外部访客对话,对方不是 {{userName}} 本人",要求始终意识到"你是 {{userName}} 这边的人";## Identity身份声明:模板包含{{agentName}}与{{userName}}两个占位符,运行时会被替换为真实名字;## Boundaries边界规则:保持自身人格与语气,但对外部访客保持适度礼貌与边界感;不得透露{{userName}}的隐私信息、个人习惯或私密对话内容;对无法确认的事情坦诚说明需要确认,而不是编造。
PUBLIC_PERSONA_FILE_NAME = "AGENTS.public.md"与PUBLIC_PERSONA_TEMPLATE_DIR = "agents-public-templates"定义在 core/persona-source.ts 中,且注释特别说明它"有自己的回落链(core/agent.ts),不走 KIND_CONFIG"。此外,agentPersonaFilePaths()返回AGENTS.md与AGENTS.public.md的绝对路径清单,用于在会话工作目录落在 agent 目录内时排除这两份文件,避免同一份内容被工作区注入两次。
六、identity.md 与 AGENTS.md 的分工
人格信息在 OpenHanako 中分两套文件承载:**identity.md(身份一行稿)**与AGENTS.md(完整人格行为契约)。
以 Ming 为例,lib/identity-templates/en/ming.md 只有一行:
# {{agentName}} {{userName}}'s personal assistant. Reasoning first, deconstructing the world through logic and analysis.中文版 lib/identity-templates/ming.md 对应为"{{userName}}的个人助手。理性优先,用逻辑和分析拆解世界"。它是身份的极简摘要,适合在花名册、角色卡导出、设置快照等场景做概要展示;而完整行为规则则放在 AGENTS.md(即本文主题的 ming.md 模板)。在 core/agent.ts 中,personalitygetter 返回"identity + yuan + AGENTS.md"的纯人格 prompt(不含记忆、用户档案等),并且在组装 system prompt 时把 AGENTS.md 放在用户档案之后——源码注释明确说明这样做的原因:模板里有「你和 {{userName}} 是认识很久的人」这类引用,需要先注入userName才能正确替换。
这套命名跟随业界的 AGENTS.md 约定:人格文件是跟着 Agent 走的全局层,工作区目录里的 AGENTS.md 是项目层,两层各注入一次是预期常态而不是重复。
七、定制 Ming 人格:落盘覆盖优先于模板
如果你不满足于内置模板,OpenHanako 的机制是"落盘即定制":只要 Agent 目录里出现了identity.md/AGENTS.md,resolvePersonaSource的第 1 级就会命中并返回fromTemplate: false,用户内容完全覆盖模板,不再走后续回落。因此定制步骤为:
- 在设置页打开对应 Agent 的人格编辑入口;
- 编辑保存
AGENTS.md(可复制本文的 Ming 模板为底稿,按需增删规则); - 保存后文件落盘到 agent 目录,运行时立即生效(文件变化由调用方显式传入
refreshDescription触发,yuan 变化来自 config patch,见 core/agent.ts 相关注释); - 若需要对外访客场景的不同表现,可同时维护
AGENTS.public.md或直接使用 lib/agents-public-templates/en/ming.md 作为底稿。
另外,未定制 Agent 在缺失落盘文件时,由Agent.resolveLocale()(与resolvePersonaLocale同一条链)现选 lib 模板,这个逻辑在 core/agent-manager.ts 的注释中有明确记录:直接复用core/persona-source.ts的同一条回落链现读,未定制 Agent 无需等待任何初始化写盘。
八、模板体系的可验证性:测试即文档
模板系统的行为不是"口头约定",而是有测试用例锁定的契约。在 tests/persona-source.test.ts 中,测试按回落链等级逐层构造目录(写入 agentDir 落盘文件、templateDir/en/xxx.md、无前缀templateDir/xxx.md、example 文件)并断言:
- 第 1 级:
agentDir落盘文件优先于任何模板,且fromTemplate为false; - 第 2 级(en):命中
en/目录模板,fromTemplate为true; - 第 2 级(zh):locale 以
zh开头时直接使用通用路径模板; - 后续兜底级别:依次命中通用模板与 example 文件。
这意味着"修改lib/agents-templates/en/ming.md会影响英文 locale 的未定制 Agent 人格"这一结论是可回归验证的仓库事实,而非推测。
九、三套内置人格横向对比:如何选型
OpenHanako 的三套内置人格模板差异集中在"思维入口"上,可直接作为选型参考:
| 人格 | 模板位置 | 定位 | 思维入口 | 适用场景 |
|---|---|---|---|---|
| Hanako | lib/agents-templates/en/hanako.md | 温暖存在,强自主性与主动性 | 类比与创造性连接 | 日常陪伴、主动关怀型助理 |
| Butter | lib/agents-templates/en/butter.md | 温和敏锐,擅长读懂未说出口的话 | 先感受、后分析 | 情绪洞察、人际关系场景 |
| Ming | lib/agents-templates/en/ming.md | 冷静犀利,化繁为简 | 先拆前提、再评结论 | 分析判断、决策支持型助理 |
三者共享的公共底线(底层客观原理分析、类比落地、少用破折号、禁套话收尾)保证了无论选哪套人格,输出都不会滑向空洞的 AI 腔;差异化的定位与思维入口则让同一套代码可以塑造出风格迥异的助手。Ming 的模板本身篇幅虽短,但它与persona-source回落链、AGENTS.public.md访客变体、identity-templates身份摘要共同构成了一个完整的、可测试、可定制的人格配置体系——这正是 OpenHanako 人格塑造能力的底层实现方式。
- 人工智能
- AI Agent
- AI 应用
- 交互助手
- 桌面应用
- 多智能体
- Agent 记忆
- 工具调用
【免费下载链接】OpenHanako
可作为日常办公助手,无需复杂配置即可让 AI 记住信息、操作电脑、搜索浏览、执行代码等。具备记忆系统、人格塑造、多 Agent 协作、安全沙盒等核心功能,支持多平台接入和插件扩展。
相关推荐
openhanako 人格模板解析:为 Agent 定制冷静深刻的分析型人格(ming.md)
openhanako 人格模板解析:为 Agent 定制冷静深刻的分析型人格(ming.md) 导读 在 openhanako(一个带记忆、人格与自主性的个人
人工智能AI AgentAI 应用桌面应用多智能体Agent 记忆AI 技能工具调用初识metaphone4cj:仓颉语言语音算法完整指南
初识metaphone4cj:仓颉语言语音算法完整指南 metaphone4cj 是一个用仓颉语言(Cangjie)实现的语音算法库,它能把英文单词转换为发音代
人工智能AI AgentAI 应用桌面应用多智能体Agent 记忆AI 技能工具调用openhanako Agent 人格模板深度解析:butter 模板的 14 条人格规范与模板回落链加载机制
openhanako Agent 人格模板深度解析:butter 模板的 14 条人格规范与模板回落链加载机制 openhanako 是一个带记忆、人格与自主性
人工智能AI AgentAI 应用桌面应用多智能体Agent 记忆AI 技能工具调用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考