CellSpec 时区与语言(Timezone / Locale)
wesgine 的 CellSpec 包含 Timezone 和 Locale 两个核心元数据字段,影响 Cell 内的时间处理和语言行为。
Timezone(不可变)
设计
Timezone 是 immutable 字段,创建后不可修改。这是因为:
- Cron 任务的调度依赖时区
- 已记录的时间戳的语义依赖时区
- 时区变更会导致历史数据的时间解释混乱
格式
使用 IANA 时区标识符:
CellSpec{
Timezone: "Asia/Shanghai", // 中国标准时间
// Timezone: "America/New_York",
// Timezone: "Europe/London",
}
影响范围
| 子系统 | 使用方式 |
|---|---|
| Cron 调度器 | 定时任务的触发时间基于此时区 |
| 日志时间戳 | Cell 内日志使用此时区显示 |
| Agent 感知 | 系统提示词中注入当前时间使用此时区 |
| 审计记录 | 审计导出的时间格式使用此时区 |
Locale(可变)
设计
Locale 是 mutable 字段,可通过 SpecPatch 修改。
格式
使用 BCP 47 语言标签:
CellSpec{
Locale: "zh-CN", // 简体中文
// Locale: "en-US",
// Locale: "ja-JP",
}
影响范围
| 子系统 | 使用方式 |
|---|---|
| Agent 系统提示词 | 指导 Agent 使用对应语言回复 |
| 错误消息 | Cell 级错误提示的语言 |
| 默认 Skill 语言 | Skill 提示词的语言选择 |
运行时修改
PATCH /admin/cells/{id}
{
"locale": "en-US"
}
产品使用
| 产品 | Timezone | Locale |
|---|---|---|
| wescode | 用户系统时区 | zh-CN / en-US |
| wesclaw | Asia/Shanghai | zh-CN |
| wescraft | Asia/Shanghai | zh-CN |
| teleclaw | Asia/Shanghai | zh-CN |
与 CellSpec 分层的关系
Timezone 和 Locale 属于 CellCoreSpec(核心规格):
CellSpec{
ID: "main", // immutable
Timezone: "Asia/Shanghai", // immutable
Locale: "zh-CN", // mutable
// ...CellCoreSpec 其他字段
}
相关文档
- CellSpec 概览 →
cell-spec-overview.md - CellSpec 不可变性 →
cell-spec-immutability.md - CellSpec 补丁 →
cell-spec-patch.md