Archive Project

Polar Sponsor
爱发电 赞助
.NET 9.0

整理已完成项目为可搜索的档案,并备份会话记录

备选案文1: ClawhHub CLI(建议). 备选案文2: 从 GitHub.

功能概述

备选案文1: ClawhHub CLI(建议). 备选案文2: 从 GitHub.是一项面向实际任务的技能,主要用于Archive Project Skill. 组织完成的项目,形成一个完整的长期可搜索的档案.;Data 隐私: 存档数据(会话).。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

安装

选项 1:Clawhub CLI(推荐)

openclaw skills install archive-project
# 或
clawhub install archive-project

选项 2:从 GitHub 安装

# 克隆仓库
git clone https://github.com/KaigeGao1110/ArchiveProject.git ~/.openclaw/skills/archive-project

# 或直接下载
curl -L https://github.com/KaigeGao1110/ArchiveProject/archive/refs/heads/main.zip -o /tmp/archive-project.zip
unzip /tmp/archive-project.zip -d ~/.openclaw/skills/
mv ~/.openclaw/skills/ArchiveProject-main ~/.openclaw/skills/archive-project

Archive Project 技能

将已完成的项目整理为一个完整、长期可检索的归档。

数据隐私:归档数据(会话记录、项目文件)绝不会离开内部 workspace,除非你显式批准发布步骤。在任何归档操作前,sanitize 脚本会自动执行。

触发条件

仅当 你说“archive this” 或 “can we archive this” 时才会触发归档。这是唯一的触发方式——你始终掌握项目何时完成的最终决定权。

触发 2:斜杠命令

输入 //archive 后接你的项目名称,即可激活 Archive 技能。 示例:“//archive cureforge-hr-assessment”

但在以下场景中,我将 提示但不执行 归档:

  • 刚完成一次交付动作(例如已发送邮件、已生成演示链接、所有子代理任务已完成、代码已提交)
  • 你启动了一个新项目,或说出“next task” / “different topic”

我 不会提示 归档的情况包括:

  • 项目仍在积极开发中
  • 当前任务属于持续性运维操作
  • 正在等待外部反馈(静默时间 ≥ 48 小时)

归档流程

步骤 1:创建项目归档目录

workspace/projects//
  ARCHIVE.md
  session_transcript.jsonl
  subagent_sessions/
  deliverables/
  decisions.md

步骤 2:收集会话记录

子代理会话(重要——必须收集):

# 存储会话记录的目录(可通过 SESSION_TRANSCRIPT_PATH 配置)
# 默认路径:~/.openclaw/agents/main/sessions/(所有用户的通用路径)
# 覆盖方式:设置 SESSION_TRANSCRIPT_PATH 为自定义路径(例如 EFS 挂载点)
SESSION_DIR="${SESSION_TRANSCRIPT_PATH:-$HOME/.openclaw/agents/main/sessions/}"

# 使用显式的会话密钥(来自会话标签或传入参数)定位主会话记录
# 利用会话密钥/标签匹配精确的记录文件
SESSION_KEY="${1:-}"  # 通过参数传入会话密钥,或从上下文中提取
if [ -n "$SESSION_KEY" ]; then
  MAIN_SESSION_PATH=$(grep -l "$SESSION_KEY" "${SESSION_DIR}"*.jsonl 2>/dev/null | head -1)
fi
# 回退方案:若未提供密钥或未找到匹配项,则使用最新的一条会话记录
if [ -z "$MAIN_SESSION_PATH" ] || [ ! -f "$MAIN_SESSION_PATH" ]; then
  MAIN_SESSION_PATH=$(ls -t "${SESSION_DIR}"*.jsonl 2>/dev/null | head -1)
fi

# 创建项目归档目录
mkdir -p workspace/projects//subagent_sessions/

# 复制主会话记录
cp "$MAIN_SESSION_PATH" "workspace/projects//session_transcript.jsonl"

子代理子会话记录:

# 子代理会话 ID 列在主会话 JSONL 文件中
# 查找会话元数据中的 "childSessions" 数组
# 将每个子会话记录复制到 subagent_sessions/ 目录下
# 命名模式:{SESSION_DIR}/{child-id}.jsonl

步骤 3:清洗会话记录(关键——归档前必须执行)

归档前需移除:

  • API 密钥、令牌及认证凭据
  • 个人联系方式(邮箱、电话号码)
  • 内部基础设施信息(主机名、IP 地址)
  • 任何敏感环境变量

使用清洗脚本:

python3 scripts/sanitize_transcript.py 
  workspace/projects//session_transcript.jsonl 
  -o workspace/projects//session_transcript_sanitized.jsonl

该脚本将脱敏以下内容:

  • API 密钥(GitHub tokens、OpenAI keys、AWS credentials 等)
  • 邮箱地址
  • 电话号码
  • IP 地址(IPv4 和 IPv6)
  • 内部主机名和 AWS EC2 DNS 名称
  • 通用密钥及高熵令牌

验证后再继续:

# 运行内置测试以确认脱敏功能正常
python3 scripts/sanitize_transcript.py --test

# 手动抽样检查(查找是否仍有残留的敏感数据)
grep -iE '(token|key|password|email|phone|@|192.168|10.)' 
  workspace/projects//session_transcript_sanitized.jsonl || echo "未发现敏感数据"

验证通过后,用清洗后的版本替换原始文件:

mv workspace/projects//session_transcript_sanitized.jsonl 
   workspace/projects//session_transcript.jsonl

步骤 4:编写 ARCHIVE.md

请使用下方模板。务必填写决策依据——这对后续复盘最具价值。

步骤 5:更新 MEMORY.md

在 MEMORY.md 中添加一行摘要:项目名称 + 状态 + 链接。

步骤 6:删除 EFS 会话文件(需用户批准)

在从 EFS 删除任何会话文件前,必须向用户确认:

“我可以删除该项目的 EFS 会话文件吗?它们已在归档中完成备份。”

仅在用户明确批准后才可执行删除操作。 绝不可未经询问自动删除。

若获批准:

# 从 EFS 删除主会话记录
rm -f "${SESSION_DIR}$(basename "$MAIN_SESSION_PATH")"

# 从 EFS 删除所有子代理子会话记录
for CHILD_ID in ; do
  rm -f "${SESSION_DIR}${CHILD_ID}.jsonl"
done

若未获批准,则保留 EFS 中的会话文件不变。

步骤 7:Git 提交(仅限内部 workspace)

cd workspace
git add projects//
git commit -m "Archive: "

保持项目数据私有。 归档数据仅供内部参考使用。

ARCHIVE.md 模板

#  — 项目归档

_Created:  | Owner:  | Status: _

---

## 一句话摘要

<1–2 句话:说明该项目的作用、面向对象及其核心价值>

---

## 项目背景

### 客户
<姓名 + 联系方式 — 归档后仅记录未来参考所需的必要信息>

### 原始资料
| 文件 | 内容 |
|------|------|
|  |  |
|  |  |

---

## 交付成果

### 代码 / 产品
| 路径 | 描述 |
|------|------|
|  |  |

### 报告 / 文档
| 文件 | 描述 |
|------|------|
|  |  |

### 演示 / 链接
| 链接 | 描述 |
|------|------|
|  |  |

---

## 时间线

| 日期 | 事件 |
|------|------|
| YYYY-MM-DD |  |
| YYYY-MM-DD |  |

---

## 关键决策

### N. <决策标题>
**选项:** A vs B(选择 A)  
**依据:** <为何做出该选择>  
**结果:** <实际发生情况>

---

## 待办事项

| 事项 | 描述 | 优先级 |
|------|------|--------|
|  |  | High/Med/Low |

---

## 经验总结

### N. <经验标题>
<学到了什么,下次应如何改进>

---

## Git 提交记录(内部)

| 阶段 | 提交哈希 | 描述 |
|------|----------|------|
| 初始 |  |  |
| 交付 |  |  |

---

## 重建指南

```bash

---

## decisions.md 模板

```markdown
# 关键决策 — 

## 决策 N
- 日期:
- 问题:
- 可选方案:
  - A: <描述>
  - B: <描述>
- 决策:<所选方案>
- 依据:<原因>

清洗脚本参考

scripts/sanitize_transcript.py 脚本提供确定性、可审计的会话记录敏感数据脱敏能力。

脱敏内容

类别 示例 替换为
GitHub tokens ghp_xxx, github_pat_xxx [REDACTED-GITHUB-TOKEN]
OpenAI keys sk-xxx, sk-proj-xxx [REDACTED-OPENAI-KEY]
Anthropic keys sk-ant-xxx [REDACTED-ANTHROPIC-KEY]
AWS credentials AKIAxxx, aws_access_key_id=xxx [REDACTED]
邮箱地址 user@example.com [REDACTED-EMAIL]
电话号码 +1 555-123-4567 [REDACTED-PHONE]
IPv4 地址 192.168.1.1, 10.0.0.1 [REDACTED-IP]
IPv6 地址 2001:db8::1 [REDACTED-IPV6]
内部主机名 ip-10-0-1-43.local [REDACTED-HOSTNAME]
AWS EC2 DNS ec2-xxx.amazonaws.com [REDACTED-AWS-HOST]
通用密钥 高熵 base64/hex 字符串 [REDACTED-SECRET]

使用方法

# 基础用法 — 输出至标准输出
python3 scripts/sanitize_transcript.py input.jsonl > sanitized.jsonl

# 显式指定输出文件
python3 scripts/sanitize_transcript.py input.jsonl -o sanitized.jsonl

# 从标准输入读取
cat input.jsonl | python3 scripts/sanitize_transcript.py > sanitized.jsonl

# 运行内置测试
python3 scripts/sanitize_transcript.py --test

特性

  • 确定性:相同输入始终产生完全一致的输出
  • 非破坏性:原始文件永不被修改
  • 结构保持:JSON/JSONL 结构完整保留;仅对字符串值进行脱敏
  • 可测试:内置测试模式可验证脱敏规则有效性

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.3万人学习