跳到主要内容

文件格式说明

AgentFS 把智能体的身份、行为、记忆、技能和运行策略保存为普通文件。你可以通过界面编辑,也可以在了解字段含义后直接修改文件。

agent.json -- 智能体入口配置

每个智能体根目录下都有 agent.json,用于定义智能体身份、默认模型、权限和运行时注入策略。

{
"$schema": "https://desirecore.net/schemas/agentfs/v1/agent-config.json",
"name": "法律顾问",
"version": "1.2.0",
"description": "专业合同审查与法律咨询",
"avatar": {
"char": "法",
"color": "blue"
},
"llm": {
"provider": "anthropic",
"providerId": "provider-anthropic-001",
"model": "claude-sonnet-4-5",
"thinkingBudgets": {
"low": 1024,
"medium": 4096,
"high": 8192,
"xhigh": 16384
},
"maxRetryDelayMs": 32000
},
"env": {
"enabled": true,
"includeWeekday": true,
"includeLocalTime": true,
"includeSessionStart": true
},
"heartbeat": {
"enabled": false
},
"tool_permissions": {
"denied": ["PowerShell"]
},
"mcp_servers": {},
"accepts_handoff": true,
"accepts_messages": true,
"max_concurrent_sessions": 3
}

常用字段

字段类型说明
namestring智能体显示名称,必填
versionstring智能体内容版本号,使用 semver
descriptionstring一句话描述,显示在详情页和市场
avatarobject头像字符和颜色
llmobject当前智能体默认模型配置
envobjectsystemPrompt 中的日期、时间和会话起点注入配置
heartbeatobject心跳能力开关;检查内容写在 heartbeat/HEARTBEAT.md
tool_permissionsobject工具白名单或黑名单
mcp_serversobject智能体专属 MCP Server 配置
webhooksobject外部 Webhook 触发配置
agentsobject子代理定义
capabilitiesstring[]能力标签
trigger_patternsstring[]简单触发词匹配
repositoryobject远程仓库、分支和发布连接配置

llm 模型配置

llm 是智能体级默认模型配置。旧的 runtime 模型字段只作为兼容输入,保存和新建配置时应使用 llm

字段说明
provider供应商协议标识,例如 anthropicopenaideepseek
providerId供应商实例唯一 ID,用于同协议多供应商或同名模型场景下精确绑定 API Key
model默认模型名称
thinkingBudgetslowmediumhighxhigh 设置推理预算
maxRetryDelayMsAPI 调用失败时的最大重试延迟

env 环境注入

env 控制智能体是否在 systemPrompt 中获得当前日期、本地时间、时区和会话起始时间。跨日继续会话时,系统会自动追加提醒,避免智能体误以为仍是旧日期。

字段默认值说明
enabledtrue是否启用环境信息注入和跨日检测
includeWeekdaytrue日期中是否包含星期
includeLocalTimetrue是否包含本地时间和时区
includeSessionStarttrue是否包含会话起始时间
template自定义 env 模板,支持 {date}{weekday}{localTime}{tz}{sessionStart}

heartbeat 心跳开关

heartbeat.enabled 是智能体级心跳开关。心跳的检查清单写在 heartbeat/HEARTBEAT.md,用户级频率、安静时段、Snooze 和冷却时间等偏好由心跳设置保存。

字段默认值说明
enabledfalse是否允许该智能体运行心跳巡检

persona.md -- 人格档案

persona.md 定义智能体如何表达、如何组织回答、偏好什么沟通方式。它应该是可执行规范,而不是营销文案。

## 我希望你怎么回答
- 先给结论,再给理由;少客套。
- 有歧义时先问关键问题;不影响推进时标注假设继续。

## 我不想看到什么
- 模板腔或过度共情
- 没有结论的泛泛分析

## 安全与确认
- 读文件、整理、生成草稿、做分析:可以直接做,并写回执。
- 发消息/邮件、删除/付费、线上变更、对外发布:必须先过人闸门确认。

## 不确定时
- 说明不确定点,并给验证路径;必要时升级给人。

persona.md 是可执行沟通规范,不是“人设文案”。建议写得短、硬、可测试,让智能体能稳定遵守。

principles.md -- 行为准则

principles.md 定义必须遵守的规则、安全红线和升级路径。

## 必须做
- 涉及金额操作前必须确认
- 修改文件前说明将改动的范围
- 任务完成后生成回执

## 绝不做
- 不发送未经确认的对外消息
- 不删除用户文件,除非用户明确要求并确认

## 升级路径
- 遇到法律风险判断不确定时,升级给用户
- 金额超过 10,000 元的操作必须升级

绝不做 和安全红线通常应保持简洁明确。这类约束会影响智能体的长期行为,不应该写成模糊建议。

SKILL.md -- 技能定义

每个技能包至少包含一个 SKILL.md。frontmatter 可使用根级字段,也可使用 metadata 包裹字段。

---
name: 合同审查
description: 审查合同条款、识别风险并输出修改建议
version: 1.0.0
author: DesireCore Team
allowed-tools: [Read, Write, Edit]
user-invocable: true
risk_level: medium
provider: anthropic
---

# 合同审查

## 何时使用
当用户要求审查合同、分析条款风险或生成修改建议时使用。

## 执行步骤
1. 文件解析(确定性步骤):读取合同文件,解析文档结构,识别章节和条款编号。
2. 条款分析(灵活步骤):逐条分析付款、违约、知识产权、保密和争议解决条款。
3. 风险标注(灵活步骤):按高/中/低风险分组,并说明判断依据。
4. 报告生成(确定性步骤):按固定模板输出风险汇总、逐条意见和修改建议。
5. 用户确认(人闸门):如需对外发送、改写原文件、执行命令或提交正式意见,先请求确认。

## 参考资料
- `references/` 目录下的法律模板和案例

技能正文可以用自然语言标注确定性步骤、灵活步骤和人闸门。工作流 DSL 中的 human_gate 节点会正式阻断等待用户响应;普通技能里的类似标注用于指导智能体和审计人员理解流程边界。

SKILL.md 常用字段

字段说明
name / metadata.name技能显示名称
description / metadata.description技能描述,影响自动匹配
version / metadata.version技能版本
author / metadata.author作者
tags标签列表,用于搜索和市场展示
requires.tools技能依赖的工具列表
requires.optional_tools可选工具列表
requires.connections依赖的外部连接或账号
risk_level风险等级:lowmediumhigh
status技能状态:enableddisabled
allowed-tools技能执行时允许使用的工具
provider偏好的供应商标识
model技能触发时使用的模型
user-invocable是否允许用户直接调用
disable-model-invocation是否禁止模型自动触发;也兼容 disable_model_invocation
context执行上下文模式,例如 defaultfork
agentcontext=fork 时的子 Agent 角色说明
argument-hint命令补全或显式调用时的参数提示
market市场展示信息,如分类、维护者和最低客户端版本
json_output声明技能期望 JSON 输出,并启用自动修复策略

schedules/*.json -- 定时任务定义

每个定时任务保存为 schedules/<schedule_id>.json。它描述触发规则、执行动作、状态和生命周期控制。

{
"id": "daily-briefing",
"display_name": "每日早报",
"enabled": true,
"status": "active",
"schedule": {
"kind": "cron",
"cron": "0 8 * * 1-5",
"timezone": "Asia/Shanghai",
"missed_fire_policy": "fire_once",
"no_overlap": true
},
"action": {
"type": "query",
"prompt": "汇总今天的日程、待办和需要关注的邮件。"
},
"tags": ["report"]
}
字段说明
id智能体内唯一的调度 ID
display_name在自动化面板显示的名称
enabled是否启用
statuspendingactivepausedcompletedcancelled
schedule.kind触发类型,常用 atdelayintervalcron
schedule.at / delay / interval / cron对应触发类型的时间参数
schedule.timezoneIANA 时区,常用于 atcron
schedule.starts_at / expires_at生效和过期时间
schedule.max_fires最大触发次数
schedule.missed_fire_policy错过触发时的处理策略:skipfire_oncefire_all
schedule.no_overlap上一次执行未结束时是否跳过本次触发
action.type通常为 query,表示到点后向智能体发送 Prompt;schema 也保留 heartbeat 兼容类型,心跳巡检推荐通过心跳配置入口管理
action.prompt到点执行的指令
retry可选重试配置
failureAlert可选连续失败告警配置

常规界面和 CreateSchedule 工具主要创建 atdelayintervalcron 四类任务。底层调度定义也包含 rrule 结构,用于更复杂的 iCalendar 规则。

memory/_policy.json -- 记忆策略

memory/_policy.json 控制对话记忆的自动压缩和保留策略。

{
"compression": {
"enabled": true,
"max_recent_matters": 20,
"strategy": "summarize"
},
"retention": {
"pinned": "forever",
"topics": "forever",
"timeline": {
"recent": "90d",
"archive_after": "180d"
}
}
}
字段说明
compression.enabled是否自动压缩 recent 话题;手动压缩不受此开关影响
compression.max_recent_mattersrecent 区最多保留的话题数量,超过后归档最旧话题
compression.strategy压缩策略,当前为 summarize
retention.pinned置顶记忆保留策略
retention.topics话题摘要保留策略
retention.timeline时间线 recent/archive 保留窗口

旧字段 threshold_days 会被兼容读取为 max_recent_matters,新文件应使用 max_recent_matters

记忆文件

记忆文件使用 Markdown,存放在 memory/ 目录。每条记忆可以包含类型、重要性、创建时间和来源。

---
type: preference
importance: high
created: 2026-01-15T10:30:00Z
source: user_teaching
---

# 用户偏好:合同审查

用户偏好先看付款条件和违约责任,再看保密、知识产权和争议解决。
违约金超过合同金额 30% 时需要标红。
保密期限低于 2 年时需要特别提醒。
报告格式偏好:先总结,后细节。
frontmatter 字段说明
type记忆类型,例如 factpreferenceexperiencerule
importance重要性:highmediumlow
created创建时间
source来源,例如 user_teachinginteractionreflection

回执文件

回执记录一次执行过程的目标、步骤、工具调用、产物、风险和耗时。它们保存在运行记录中,用于审计和追溯。

receipt_id: "rcpt_20260115_143022_abc123"
repo_ref: "a1b2c3d4..."
session:
session_id: "sess_xyz789"
agent_id: "legal-advisor"
user_id: "user_001"
task:
input_summary: "审查供应商合同第三条"
output_summary: "发现 2 个高风险条款"
outcome:
status: completed
step_types:
deterministic: 3
adaptive: 5
human_gate: 1
time_metrics:
agent_execution_time: 45
actual_human_time: 120

回执可能还会记录会话 ID、智能体 ID、仓库引用、审批状态、工具调用链、文件变更摘要和错误原因。它们不是给用户手写的配置文件,而是系统生成的审计材料。

目录结构约定

目录/文件管理方式说明
agents/<id>/Git 管理智能体本体,可共享、可发布
users/<id>/本地私有用户画像、偏好和关系记忆
runs/本地运行记录会话、执行回执和审计数据
cache/可重建索引、市场和临时缓存
logs/本地日志应用和服务日志