news 2026/10/12 22:06:53

Agentshire 灵魂系统(Soul)完整指南:用Markdown为AI注入人格

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agentshire 灵魂系统(Soul)完整指南:用Markdown为AI注入人格

【免费下载链接】Agentshire

OpenClaw / QClaw plugin that visualizes AI agents as 3D NPCs in a game town — with social simulation, a map editor, and a character workshop.

项目地址:https://gitcode.com/gh_mirrors/ag/Agentshire
点击查看免费下载

Agentshire 是一款把 AI Agent 变成 3D 小镇居民的开源项目,它的灵魂系统(Soul System)是整套玩法的核心:每个 NPC 背后都有一个 Markdown 人格文件,定义性格、说话风格、专长与工作方式。本指南带你读懂 Soul 文件的结构,学会用三个方法为 AI 居民注入个性。

🧠 什么是灵魂系统?

在 Agentshire 的小镇里,你(镇长)的每一个 AI 居民都有独立的"灵魂文件"(soul file)——一个普通的.mdMarkdown 文档。这个文件的内容会被直接注入为 Agent 的 system prompt,也就是说:

  • 写什么,AI 就"是谁":性格、口头禅、审美偏好、工作习惯都从这里来
  • 零代码:不需要写一行提示工程代码,写文档即可
  • 可覆盖、可扩展:内置居民的人格可以被你的自定义文件覆盖,也可以凭空创造新居民

灵魂文件的加载逻辑在 town-souls.ts 中实现:读取 Markdown、提取 H1 标题作为角色名,再把全文交给 Agent。

📄 解剖一个 Soul 文件

内置灵魂文件全部放在 town-souls/ 目录,包含 8 位居民 + 1 位管家。以内容创作者"柒柒"为例(QIQI.md),一份标准的 Soul 文件包含以下结构:

章节作用示例
# 角色名H1 标题即角色名,会被自动提取# 柒柒(Qīqī)
引用元信息诞生日期、性别、岗位> 岗位: 内容创作者
[关键词块]5-7 个性格关键词 + 说话风格 + 工作风格[柒柒: 灵感涌泉, 表达欲旺盛; 说话风格: 自然轻快...]
## 人设核心2-3 段有画面感的角色故事"柒柒是小镇的笔杆子……"
## 性格详细设定每个特质配一段对话示例展示"标题杀手"的具体表现
## 岗位职责与专长具体到可执行的职责清单自媒体运营、文案撰写……
## 工作方式4 步左右的行为流程先明确读者 → 定大纲 → 打磨标题
## 语言默认语言、语气、禁忌自然轻快、不用颜文字
## 激活指令加载人格后的第一句话"嗨!我是柒柒——内容创作者!"

💡小技巧:居民之间还会互相"喊话"。看 HAITANG.md 里海棠和橙子、点点的对话示例——多角色互动的对话示范,能让 AI 的性格更稳定、更有辨识度。

管家 Shire 的 SOUL.md 则展示了另一种写法:除了人设,还写入了委派规则(如何用sessions_spawn分配任务)、任务分流表(自己做 / 单次委派 / 项目型三种流程)。这说明 Soul 文件不只是"性格包",还可以是完整的行为剧本。

🔍 Soul 文件如何被找到?

系统按固定顺序搜索灵魂文件,后者覆盖前者(用户目录 > 项目目录 > 内置目录):

  1. plugin-builtin/town-souls/— 插件内置的预设灵魂(即仓库的 town-souls/)
  2. cwd/town-souls/— 当前项目下的灵魂,覆盖内置
  3. {stateDir}/town-souls/— 用户自定义灵魂(~/.openclaw/或~/.qclaw/下)
  4. town-data/souls/— 从 Citizen Workshop 发布后生成的灵魂

对应关系配置在 town-defaults.json 中,每个居民的personaFile字段指向其 Soul 文件,例如"personaFile": "town-souls/YAN.md"(见 citizen-config.json 中的完整映射)。

这意味着:想让架构师"岩"性格大变,不必动仓库文件——只需在用户目录放一个同名的YAN.md即可覆盖。

✍️ 三种方式创建 Soul 文件

方法一:AI 一键生成(最推荐)

打开 Citizen Workshop(居民工坊),填写角色名、一句话人设(bio)和专业(specialty),点击AI 生成按钮,系统会调用 soul-prompt-template.ts 中的提示词模板,让 LLM 直接产出一份格式规范的完整人格文件,前端编辑逻辑见 SoulEditor.ts。

生成后你可以继续手工微调,满意后点"发布"——Soul 文件会被保存到town-data/souls/目录(由 citizen-workshop-manager.ts 管理),该居民立即获得独立 AI 人格。

方法二:基于模板手写

仓库提供了两个官方模板,复制改一改就能用:

  • 居民模板:CITIZEN_tpl.md — 含{{name}}、{{specialty}}、{{persona}}占位符
  • 管家模板:SOUL_tpl.md — 预置了任务分流与委派工作流

手写时保持"先 H1 角色名 + 各章节齐全"的结构即可,系统只强制要求 H1 用于提取名字,其余章节全靠 AI 阅读理解。

方法三:完全自定义

参考 YAN.md(架构师岩)的写法——他的关键词块只有一句话:看到耦合代码会物理不适,但正是这种带"痛感"的细节,让 AI 生成出的架构建议格外犀利。写细节,不写形容词,是好 Soul 的通用心法。

🏆 写好 Soul 的 5 条黄金法则

  1. 人设要有故事感—— 写"她看设计稿时会沉默十五秒",而不是"她很认真"
  2. 对话示例要像真人聊天—— 面试腔的示范会让 AI 也变面试腔
  3. 性格要可感知—— 读者读完能想象出语气和表情,才算合格
  4. 职责要具体到可执行—— "负责 UI 设计"太泛,"页面布局、组件设计、像素级验收"才够用
  5. 激活指令决定第一印象—— 第一句话就要"一开口就是这个人",而不是通用 AI 腔

⚠️ 如果 AI 生成 Soul 报错(如LLM 返回为空),通常是未在openclaw.json中配置可用的 LLM provider 或 API key 无效,请先检查模型配置。

📁 关键文件速查

  • 内置灵魂:town-souls/(SOUL / YAN / QIQI / HAITANG 等 10 个文件)
  • 加载与覆盖逻辑:town-souls.ts
  • AI 生成提示词:soul-prompt-template.ts
  • 工坊接口:editor-serve.ts(/citizen-workshop/_api/generate-soul)
  • 居民人格映射:citizen-config.json

下一步:打开 Citizen Workshop,给你的小镇创造第 9 位居民吧——写一句话人设,剩下的交给 AI,然后看着 TA 在 3D 小镇里"活"过来。

【免费下载链接】Agentshire

OpenClaw / QClaw plugin that visualizes AI agents as 3D NPCs in a game town — with social simulation, a map editor, and a character workshop.

项目地址:https://gitcode.com/gh_mirrors/ag/Agentshire
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 22:06:34

Surfel建图:实时稠密三维重建的表面粒子范式

1. 这不是点云,也不是体素:Surfel建图为何在实时稠密重建中悄然崛起“real-time scalable dense surfel mapping”——这个标题里每个词都带着明确的技术指向性,但真正让它在近年视觉SLAM与三维重建领域引发关注的,并非某个新算法…

作者头像 李华
网站建设 2026/10/12 22:05:59

AI模型解析的前提:为何必须基于可验证技术事实

我无法根据提供的输入内容生成符合要求的博文。原因如下:项目标题中提及的“腾讯 WorkBuddy”“匿名模型 Space-Bunny”均无公开、可验证的官方信息源。经核查,腾讯官方未发布名为 WorkBuddy 的正式办公协作产品,亦无注册或备案的 AI 模型名为…

作者头像 李华
网站建设 2026/10/12 22:05:28

Flask+Vue前后端分离:家庭设备维修服务系统实战

做后端系统的朋友应该都有这种体会:需求看着不难,但等自己真正要搭一套能跑、能演示、能给别人看的完整项目时,往往比想象中麻烦得多。今天拿一个家庭设备维修服务系统说事,主技术栈走的是 python flask vue 这条经典路线&#…

作者头像 李华
网站建设 2026/10/12 22:04:28

C++实现语法分析实验指南:递归下降与LL(1)表驱动从零到可运行

简介:面向编译原理课程的语法分析实验(C版),提供可运行的完整工程实现。设计采用递归子程序法,自上而下分析词法阶段识别出的单词序列,能识别常量说明、变量说明等各类语法成分;输出遵循testfil…

作者头像 李华
网站建设 2026/10/12 22:02:36

open-code-review:一种提升代码可见性与协作效率的开放评审范式

1. “open-code-review”不是新工具,而是一种被严重低估的协作范式“open-code-review”这个词最近在技术社区里频繁冒头,但很多人第一反应是:“这是某个新开源项目的名称?还是某家公司的内部流程代号?”其实都不是。它…

作者头像 李华