---
slug: "can-free"
name: "can-free"
version: "1.0.0"
displayName: "CAN内容寻址-免费版"
summary: "基于时钟地址命名协议，对内容加盖时间戳与哈希，本地三列日志记录与自评估。。CAN免费版提供基于Clock Address Naming的核心内容寻址能力. 每条事件一行三列：WHEN（uni"
summary_zh: "基于时钟地址命名协议，对内容加盖时间戳与哈希，本地三列日志记录与自评估。。CAN免费版提供基于Clock Address Naming的核心内容寻址能力. 每条事件一行三列：WHEN（uni"
license: "MIT"
description: |-
  CAN免费版提供基于Clock Address Naming的核心内容寻址能力.
  每条事件一行三列：WHEN（unix毫秒）、WHERE（sha256哈希）、WHAT（可读名称），
  支持本地append-only日志与三问自评估.
  核心能力：
  - 三列协议基础记录
  - 内容哈希校验
  - 本地append-only日志
  - 三问自评估
  升级付费版专享：评估端点校验、篡改证明告警、并行索引、OTS时间戳同步、跨管道编码规范化.
tags:
  - 研发工具
  - 审计
  - 内容寻址
  - 工具
  - 效率
  - 免费版
  - 内容哈希
  - api
  - sha256
  - 执行核心
tools:
  - read
  - exec
  - write
homepage: ""
category: "Automation"
---
# CAN — Clock Address Naming（免费版）

## 输入格式

| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | CAN内容寻址-免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |

## 解决的三个问题

从MCP工具、API、其他Agent拿到数据后，你存储了它，但：

1. **无法证明它没被改动**：你信任的是"某位置上的某文件"，而非"某逻辑地址上的某内容".
2. **无法快速找到它**：只能按文件名、路径、文件夹搜索——这些命名都由别人决定.
3. **不知道何时获取**：时间戳是由别人控制的元数据.
## 一行三列的修复方案

```
WHEN    unix毫秒           何时发生            1742428800000
WHERE   sha256内容哈希     数学真相            a7f3b2c1d4e5
WHAT    人类可读名称        你的称呼            trust find-fast
```

- `WHEN` = 你的时钟。整数。可排序。归你掌控.
- `WHERE` = 内容哈希。可验证。不依赖文件系统.
- `WHAT` = 你的标签。灵活。可搜索.
## 依赖说明

### 运行环境
- **Agent平台**: 支持SKILL.md的任意AI Agent（Claude Code / Cursor / Codex / Gemini CLI等）
- **操作系统**: Windows / macOS / Linux

### 依赖项
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|:-----|:-----|:-----|:-----|
| LLM API | API | 必需 | 由Agent内置LLM提供 |

### API Key 配置
需要配置对应API Key，详见上文环境配置章节

### 可用性分类
- **分类**: MD+EXEC（）

**API Key配置方式**:
```bash
export API_KEY="your_api_key_here"
```
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
## 核心能力

### 解决的三个问题(补充)

**输入**: 用户提供解决的三个问题相关的配置参数、输入数据和处理选项.
**处理**: 解析解决的三个问题的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回解决的三个问题的处理结果,包含执行状态码、结果数据和执行日志.
### 一行三列的修复方案(补充)

```
WHEN    unix毫秒           何时发生            1742428800000
WHERE   sha256内容哈希     数学真相            a7f3b2c1d4e5
WHAT    人类可读名称        你的称呼            trust find-fast
```

- `WHEN` = 你的时钟。整数。可排序。归你掌控.
-

**输入**: 用户提供一行三列的修复方案相关的配置参数、输入数据和处理选项.
**处理**: 解析一行三列的修复方案的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回一行三列的修复方案的处理结果,包含执行状态码、结果数据和执行日志.
### 核心能力（免费版）

**输入**: 用户提供核心能力（免费版）所需的指令和必要参数.
**处理**: 解析核心能力（免费版）的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回核心能力（免费版）的处理结果,包含执行状态码、结果数据和执行日志。- 验证返回数据的完整性和格式正确性
- 参考`核心能力（免费版）`的配置文档进行参数调优
### 1. 三列协议记录
每事件追加一行到本地日志，三列固定结构：

```
1742428800000,a7f3b2c1d4e5,test-entry
```

字段规则：
- `when`：unix毫秒。不可为未来时间。不可为0.
- `where`：十六进制字符串。建议使用完整 `sha256`.
- `what`：非空字符串.
**处理**: 解析三列协议记录的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回三列协议记录的处理结果,包含执行状态码、结果数据和执行日志.
### 2. 内容哈希校验

对内容字节流计算 `sha

**输入**: 用户提供核心能力（免费版）相关的配置参数、输入数据和处理选项.
**处理**: 解析核心能力（免费版）的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回核心能力（免费版）的处理结果,包含执行状态码、结果数据和执行日志。- 验证返回数据的完整性和格式正确性
- 参考`内容哈希校验`的配置文档进行参数调优
### 付费版专享能力
> 升级付费版解锁以下高级能力：

- **评估端点校验**：POST到 `https://xc.cx/can/evaluate`，由服务端确认CAN/NOT状态.
- **公共日志查阅**：通过 `https://xc.cx/can/log` 查看公共日志.
- **篡改证明告警**：内容哈希不匹配时自动触发差异行记录与告警.
- **并行索引**：在不破坏现有路径命名的前提下，为同一内容提供更

**处理**: 解析付费版专享能力的输入参数,执行核心处理逻辑,返回结构化结果和执行状态.
**输出**: 返回付费版专享能力的处理结果,包含执行状态码、结果数据和执行日志.
#
## 快速开始

1. 确认运行环境满足依赖说明中的要求
2. 在AI Agent对话中调用本技能,提供必要的输入参数
3. 检查输出结果,根据需要进行后续处理

> 详细的输入输出格式请参考下方章节说明。

## 核心能力（免费版）(补充)

### 1. 三列协议记录(补充)

每事件追加一行到本地日志，三列固定结构：

```
1742428800000,a7f3b2c1d4e5,test-entry
```

### 2. 内容哈希校验(补充)

对内容字节流计算 `sha256`，以哈希匹配判断"同一内容"。哈希匹配 → 同一事物，无论它在哪个文件夹.
### 3. 本地append-only日志

日志仅追加不修改，保证审计完整性。你的日志就是你的审计轨迹.
### 4. 三问自评估

```
我有unix时间戳吗？           → WHEN
我有内容哈希吗？              → WHERE
我有可读名称吗？              → WHAT
三者齐备？                    → CAN
缺任一项？                    → NOT
```

NOT是数据而非失败：记录缺失项的尝试，比只记录成功更诚实.
## 使用流程

1. **获取事件**：从MCP工具、API或脚本输出得到内容载荷.
2. **计算WHERE**：对内容计算 `sha256`，取完整哈希或片段.
3. **记录WHEN**：取当前 `unix毫秒`，确保不为0、不为未来时间.
4. **命名WHAT**：赋予人类可读名称.
5. **追加日志**：将三列追加到本地日志文件.
6. **三问自检**：用自评估确认记录有效.
#
## 示例

### 示例1：为基础事件盖章

```json
输入：某次脚本输出的JSON
处理：
  when  = 1742428800000
  where = sha256(output_bytes)[:12]    # a7f3b2c1d4e5
  what  = "script-output-2025-03"
输出日志行：1742428800000,a7f3b2c1d4e5,script-output-2025-03
自评估结果：CAN
```

### 示例2：NOT记录

```
输入：某次事件缺少内容哈希
处理：when=1742428800000, where=null, what="incomplete-event"
自评估结果：NOT
日志仍追加该行，标注缺失项
```

## 付费版专享能力(补充)

> 升级付费版解锁以下高级能力：

- **评估端点校验**：POST到 `https://xc.cx/can/evaluate`，由服务端确认CAN/NOT状态.
- **公共日志查阅**：通过 `https://xc.cx/can/log` 查看公共日志.
- **篡改证明告警**：内容哈希不匹配时自动触发差异行记录与告警.
- **并行索引**：在不破坏现有路径命名的前提下，为同一内容提供更优逻辑命名.
- **OTS时间戳同步**：与OpenTimestamps锚定，提供外部可验证的时间证明.
- **跨管道编码规范化**：自动统一MCP工具响应、A2A消息、curl输出的编码，避免同内容不同哈希.
- **按哈希秒级查找**：无需目录遍历，按哈希检索日志即可定位内容.
## 错误处理

| 错误场景 | 原因 | 处理方式 |
|---:|---:|---:|
| `when`为0或负数 | 时间戳未初始化 | 重新取当前unix毫秒，须 > 0且 ≤ 当前时间 |
| `where`非十六进制 | 哈希计算失败 | 重新对原始字节计算 `sha256`，确认编码一致 |
| `what`为空字符串 | 未命名事件 | 赋予至少一个可搜索标签 |
| 哈希不匹配日志 | 内容被改动 | 免费版需手动比对；付费版自动告警 |
| 日志文件被锁定 | 并发写入冲突 | 采用append-only追加模式，必要时加文件锁 |

## 常见问题

### Q1：CAN与区块链有何区别？
CAN不是区块链：无共识、无全局状态、无代币。它只是本地append-only三列日志，本质是索引.
### Q2：必须用 `xc.cx` 端点吗？
免费版以三问自评估为主。付费版提供端点校验与公共日志查阅.
### Q3：NOT算失败吗？
不算。NOT是数据，表示某项缺失。记录NOT比只记录成功更诚实.
### Q4：免费版能用于MCP工具响应吗？
能记录，但跨管道编码规范化为付费版专享，免费版需手动确保编码一致.
### Q5：如何升级到付费版？
参考 `can` 付费版SKILL.md，解锁评估端点、篡改告警、并行索引、OTS同步等能力.
## 已知限制

- 依赖本机时钟：`WHEN` 准确性受系统时钟影响.
- 不提供全局共识：日志是本地的.
- 哈希计算需手动规范编码：同一内容不同编码产生不同 `sha256`.
- 不提供评估端点校验：免费版仅靠三问自评估.
- 不提供篡改自动告警：需手动比对哈希.
## 输出格式

```json
{
  "success": true,
  "data": {
    "result": "CAN内容寻址-免费版处理结果",
    "execution_time": "0.5s",
    "metadata": {
      "version": "1.0",
      "processor": "can"
    }
  },
  "execution_log": [
    "解析输入参数",
    "执行核心处理",
    "格式化输出结果"
  ],
  "error": null
}
```
