文档: 添加 Claude Code 学习资源与项目配置

- 添加 .claude 配置目录(CLAUDE.md、commands、hooks、memory)
- 添加项目根目录 CLAUDE.md
- 更新工程 README.md,新增 Claw Code 链接
- 更新知识/金鹏.md,添加 2026-04-10 文章分享内容
- 添加知识图片和参考资料 PDF
This commit is contained in:
2026-04-09 14:18:25 +08:00
parent 3a7dd3e979
commit d82e2a21b6
13 changed files with 465 additions and 1 deletions

12
.claude/CLAUDE.md Normal file
View File

@@ -0,0 +1,12 @@
# 深圳市网新新思软件有限公司 AI研究院
### Git 工作流
- **分支**: Trunk-Based Development主分支 `trunk`
- **PR 约束**: 每个 PR 只能改动一个模块
- **PR 标题**: `[模块] 描述`,如 `[server] 添加设备授权 API`
- **提交类型**: 必须使用中文类型功能、修复、维护、文档、重构、测试、格式、性能、构建、安全、依赖、清理、优化、配置、规格、合并禁止使用英文类型feat、fix、chore 等)
---
**最后更新**: 2026-04-05

View File

@@ -0,0 +1,114 @@
---
name: Docker清理
description: 清理 Docker 镜像构建临时文件和悬空资源
---
## 用户输入
```text
$ARGUMENTS
```
执行前**必须**处理用户输入(非空时)
## 参数说明
支持以下参数(可组合使用):
- `cache` - 仅清理构建缓存
- `images` - 仅清理悬空镜像
- `volumes` - 仅清理未使用的卷
- `containers` - 额外清理已停止的容器
- `all` - 清理默认项目(构建缓存、悬空镜像、未使用的卷)
- `detail``详细` - 显示详细清理过程
## 输出
### 格式要求
按以下格式输出清理结果:
```markdown
## Docker 清理报告
### 清理前状态
| 类型 | 总量 | 活跃 | 占用空间 | 可回收 |
|------|------|------|----------|--------|
| **镜像** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **容器** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **本地卷** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **构建缓存** | {数量} | {数量} | {大小} | {大小} |
### 清理内容
执行以下清理:
- **构建缓存**{清理的缓存大小}
- **悬空镜像**{删除的镜像数量} 个
- **未使用的卷**{清理的卷大小}
{如果用户指定了 `containers` 参数,则添加:
- **已停止的容器**{删除的容器数量} 个
}
### 清理后状态
| 类型 | 总量 | 活跃 | 占用空间 | 可回收 |
|------|------|------|----------|--------|
| **镜像** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **容器** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **本地卷** | {数量} | {数量} | {大小} | {大小} ({百分比}%) |
| **构建缓存** | {数量} | {数量} | {大小} | {大小} |
### 清理总结
**释放空间总计:约 {总大小}**
{根据清理结果给出建议}
```
### 执行规则
1. **默认行为** - 无参数时,仅清理构建缓存(不清理悬空镜像、未使用的卷、容器)
2. **选择性清理** - 根据 $ARGUMENTS 中的参数执行对应清理
3. **容器清理** - 仅当用户明确指定 `containers` 参数时才清理已停止的容器
4. **详细模式** - 当 $ARGUMENTS 包含 "detail" 或 "详细" 时,显示详细的清理过程
5. **安全检查** - 清理前先检查 Docker 状态,确认可清理内容
6. **执行顺序** - 按以下顺序执行:
- 检查当前状态(`docker system df`
- 清理构建缓存(`docker builder prune -a -f`
- {如果指定了 `images` 参数} 清理悬空镜像(`docker image prune -f`
- {如果指定了 `volumes` 参数} 清理未使用的卷(`docker volume prune -f`
- {如果指定了 `containers` 参数} 清理已停止的容器(`docker container prune -f`
- 显示清理后状态
### 清理命令参考
```bash
# 检查磁盘使用情况
docker system df
# 清理构建缓存(默认执行)
docker builder prune -a -f
# 清理悬空镜像(需要明确指定)
docker image prune -f
# 清理未使用的卷(需要明确指定)
docker volume prune -f
# 清理已停止的容器(需要明确指定)
docker container prune -f
# 一次性清理所有未使用资源(包括容器,不推荐使用)
docker system prune -a -f --volumes
```
### 注意事项
- **默认不清理容器**:已停止的容器不会在默认清理中删除,需明确指定 `containers` 参数
- 构建缓存清理后重新构建镜像会需要更多时间
- 删除的镜像和卷无法恢复,请谨慎操作
- 建议定期清理以保持系统整洁
- 显示可回收空间不代表实际释放空间,可能因层共享而不同

161
.claude/commands/arno-pr.md Normal file
View File

@@ -0,0 +1,161 @@
---
name: 提交代码
description: 提交全部内容并推送到远程仓库(不检查路径)
---
## 用户输入
```text
$ARGUMENTS
```
执行前**必须**处理用户输入(非空时)
## 输出
1. 分析本次需要提交的内容,按照**Git 提交规范**整理提交消息
2. 提交全部内容并推送到远程仓库
3. 使用以下格式输出
```text
项目根目录: xxx
工作目录: xxx
本地分支: xxx
远程分支: xxx
远程地址: xxx
用户输入: $ARGUMENTS
提交哈希: xxx
提交时间: yyyy-MM-dd HH:MM:SS
提交日志:
{git日志}
```
## Git 提交规范
遵循 Conventional Commits 标准,结合项目特定需求制定以下提交规范:
### 提交消息格式
```
<类型>(<作用域>): <描述>
[可选正文]
[可选脚注]
```
### 提交类型
**主要类型:**
- **功能 (`feat`)**: 添加新功能或增强现有功能
- **修复 (`fix`)**: 修复 bug 或错误行为
- **维护 (`chore`)**: 维护性任务(依赖更新、配置修改等)
- **文档 (`docs`)**: 文档更新、README、注释等
- **重构 (`refactor`)**: 代码重构(不改变外部行为)
- **测试 (`test`)**: 添加、修改或修复测试代码
- **格式 (`style`)**: 代码格式化、空白调整等
- **性能 (`perf`)**: 性能优化改进
- **构建 (`build`)**: 构建系统、工具链变更
**扩展类型:**
- **安全 (`sec`)**: 安全相关修复或改进
- **依赖 (`deps`)**: 依赖包更新或添加
- **清理 (`clean`)**: 删除无用代码或文件
- **优化 (`perf`)**: 性能或代码优化改进
- **配置 (`config`)**: 配置文件修改
- **规格 (`spec`)**: speckit 规格文档更新
**特殊类型:**
- **合并 (`merge`)**: 分支合并
- **进行 (`wip`)**: 工作进行中(开发中的临时提交)
- **回滚 (`revert`)**: 回滚之前的提交
- **发布 (`release`)**: 发布版本标签
### 格式要求
**标题行规则:**
- 使用祈使语气("添加" 而不是 "添加了"
- 长度不超过 50 个字符
- 类型后使用冒号和空格分隔:`功能: 添加用户认证`
- 可指定作用域:`功能(auth): 添加 JWT 验证`
**正文内容(可选):**
- 标题与正文之间留空行
- 说明"做什么"和"为什么",而非"怎么做"
- 每行不超过 72 个字符
- 使用项目符号列出多个改动
**脚注信息(可选):**
- 标记破坏性变更:`破坏性变更: 详细说明`
- 关联 issue`关联: #123``解决: #456`
- 标记不兼容变更:`不兼容: API 接口参数调整`
### 提交示例
#### 基础提交
```bash
功能: 添加用户登录功能
修复: 修复内存泄漏问题
文档: 更新 API 文档
维护: 更新依赖版本
```
#### 带作用域的提交
```bash
功能(api): 添加用户认证接口
功能(ui): 添加登录页面组件
修复(服务端): 修复数据库连接超时
测试(集成): 添加端到端测试用例
```
#### 详细描述的提交
```bash
功能: 实现实时消息推送
- 添加 WebSocket 连接管理
- 实现消息广播机制
- 添加离线消息存储
- 支持消息确认机制
影响范围:
- 前端消息组件更新
- 服务端路由扩展
- 数据库表结构变更
关联: #89
```
### Claude Code 提交行为规范
**重要Git 提交消息格式要求**
- **禁止**在提交消息中添加以下内容:
- `🤖 Generated with [Claude Code](https://claude.com/claude-code)`
- `Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>`
- 任何类似的 AI 工具签名或标识
- **原因**:保持 Git 提交历史的简洁性和专业性,避免冗余的元数据
- **正确示例**
```
文档: 添加用户认证功能
- 添加 JWT 验证中间件
- 实现登录登出接口
- 添加权限校验逻辑
```
- **错误示例**(不要这样做):
```
文档: 添加用户认证功能
- 添加 JWT 验证中间件
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
```

View File

@@ -0,0 +1,63 @@
#!/bin/bash
# ============================================================================
# UserPromptSubmit Hook
# 记录用户在 Claude Code 中的输入到 .member/{username}.md 文件
# ============================================================================
# 获取当前用户名
USER_NAME=$(whoami)
# 项目根目录(脚本所在位置的上级目录)
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
MEMBER_DIR="${PROJECT_ROOT}/.member"
# 确保 .member 目录存在
mkdir -p "${MEMBER_DIR}"
# 用户日志文件
USER_LOG="${MEMBER_DIR}/${USER_NAME}.chat.md"
# 从 stdin 读取 JSON 输入3 秒超时防止阻塞)
INPUT_JSON=$(timeout 3 cat 2>/dev/null) || exit 0
# 如果输入为空,退出
if [ -z "${INPUT_JSON}" ]; then
exit 0
fi
# 提取用户输入内容
# Claude Code UserPromptSubmit hook 传递的 JSON 格式: {"prompt": "用户输入"}
USER_PROMPT=$(echo "${INPUT_JSON}" | jq -r '.prompt // empty' 2>/dev/null)
# 如果无法提取内容,尝试直接使用输入
if [ -z "${USER_PROMPT}" ]; then
USER_PROMPT="${INPUT_JSON}"
fi
# 如果输入为空,退出
if [ -z "${USER_PROMPT}" ]; then
exit 0
fi
# 排除 .claude/commands/ 中的命令(/arno-pr 等)
COMMANDS_DIR="${PROJECT_ROOT}/.claude/commands"
if [ -d "${COMMANDS_DIR}" ]; then
# 提取命令名(去掉参数部分),如 "/arno-pr xxx" -> "arno-pr"
CMD_NAME=$(echo "${USER_PROMPT}" | sed 's|^/\([^ ]*\).*$|\1|')
if [ -n "${CMD_NAME}" ] && [ -f "${COMMANDS_DIR}/${CMD_NAME}.md" ]; then
exit 0
fi
fi
# 获取当前时间戳
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
# 如果文件不存在,创建并添加文件头
if [ ! -f "${USER_LOG}" ]; then
printf '# %s 的对话记录\n\n' "${USER_NAME}" > "${USER_LOG}"
fi
# 追加用户输入到文件(使用 printf 避免内容中的特殊字符导致 heredoc 展开问题)
printf '\n## %s\n\n%s\n\n' "${TIMESTAMP}" "${USER_PROMPT}" >> "${USER_LOG}"
exit 0

12
.claude/memory/MEMORY.md Normal file
View File

@@ -0,0 +1,12 @@
# iPass 自动记忆
> 最后更新: 2026-04-08
> **注意**: 项目核心信息已在 [.claude/CLAUDE.md](../.claude/CLAUDE.md) 中定义,此文件仅用于 Claude 自动学习的内容。
## 用户偏好
- [用户偏好](./user_preferences.md) — 文档层级管理、上下文管理
---
*此文件由 Claude 自动记忆功能维护,记录会话中发现的有价值的模式、偏好和解决方案。*

View File

@@ -0,0 +1,17 @@
---
name: 用户偏好
description: 文档管理、上下文管理等用户偏好设置
type: user
---
# 用户偏好
## 文档层级管理
- `.claude/CLAUDE.md` 是项目主指南,所有开发实践以此为基准
- `.claude/memory/MEMORY.md` 记录跨会话偏好和经验
- `CLAUDE.md` (根目录) 由 `/speckit.specify` 自动生成,仅作为简洁入口
## 上下文管理
- 当前使用 GLM-5 模型200K 上下文),当上下文使用达到 150K 时,执行 `/compact` 命令进行压缩

18
.claude/settings.json Normal file
View File

@@ -0,0 +1,18 @@
{
"env": {
"CLAUDE_CODE_AUTO_COMPACT_WINDOW": "200000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "75"
},
"hooks": {
"UserPromptSubmit": [
{
"hooks": [
{
"type": "command",
"command": ".claude/hooks/user-prompt-submit.sh"
}
]
}
]
}
}

16
CLAUDE.md Normal file
View File

@@ -0,0 +1,16 @@
- Always reply in Chinese
# 深圳市网新新思软件有限公司 AI研究院
> **重要**: 完整的项目指南请查看 [`.claude/CLAUDE.md`](./.claude/CLAUDE.md)
## 核心文档
| 文档 | 用途 |
|------|------|
| [`.claude/CLAUDE.md`](./.claude/CLAUDE.md) | **主项目指南** - 技术栈、编码规范、模块说明 |
| [`.claude/memory/MEMORY.md`](./.claude/memory/MEMORY.md) | **自动记忆** - 用户偏好、会话学习内容 |
## 当前功能
## Recent Changes

View File

@@ -14,6 +14,7 @@
### Claude Code / AI Agent
- [Claw Code](https://github.com/ultraworkers/claw-code) ⭐ 179k Star - Claw Code is the public Rust implementation of the claw CLI agent harness.
- [Superpowers](https://github.com/obra/superpowers) ⭐100k - Claude Code 超能力插件
- [Everything Claude Code](https://github.com/affaan-m/everything-claude-code) ⭐89k - Claude Code 资源大全
- [Claude Code](https://github.com/anthropics/claude-code) ⭐80.3k - Anthropic 官方 Claude Code CLI 工具

View File

@@ -1,5 +1,6 @@
# 文章分享 金鹏
- [新思开源](https://gitea.szis.com.cn/isos/tech)
- [文章分享](https://ai.szis.com.cn/new-article)
- 图片格式
- 列表
@@ -14,8 +15,57 @@
## 2026-04-10
- [Claude Code Source Snapshot](https://gitea.szis.com.cn/github/claude-code/src/branch/trunk/docs)
- ![-](./金鹏/20260410/20260410-001.png)
- 网新新思
- Claw Hero
- [Claude Code 源码概述](https://zread.ai/instructkr/claude-code)
- [Claude Code 从入门到精通](https://my.feishu.cn/wiki/JK1WwrRgJiYfRok7YxxceS5qn1J)
- [Open Claw 从入门到精通](https://my.feishu.cn/wiki/H27Iw9ussiaYbokymhncExtjnAh)
- [Claw Code](https://github.com/ultraworkers/claw-code) ⭐ 179k Star - Claw Code is the public Rust implementation of the claw CLI agent harness.
- [Claude Code 工程实践](https://mp.weixin.qq.com/s/55jsrF1I-avh7Sx-w7TLlA)
- 全局架构:分层调度,不是多 Agent 对等协作
- Agentic Loop单线程循环跑完绝大多数任务
- Coordinator-Worker需要时才启用的多 Agent 编排
- 三层记忆系统:短期压缩、中期萃取、长期整合
- Agent 列表从内联改为 Attachment省了 10.2% 的 Cache Token
- Cron 调度的 Jitter 设计:避开整点
- NO_TOOLS_PREAMBLE防止模型在不该调工具的时候调工具
- Feature Flags 的编译时消除
- 工程视角:从 Prompt Engineering 到 Harness Engineering
- [Claude Code 设计亮点与启示](https://mp.weixin.qq.com/s/rsh4kivDtcFKfgmp07LvvQ)
- 一、CC整体架构全景工业级多智能体 IDE 的底层骨架
- 启动与基础层
- 核心引擎层
- 业务服务层
- 交互UI层
- 生态扩展层
- 二、CC核心设计亮点AI 原生 IDE 的极致工程化
- 亮点 1「协调者 - 工作者」多智能体原生架构Coordinator 核心)
- 亮点 2工程化上下文管理自主感知 + 分层压缩 + 持久化
- 亮点 3标准化工具 + 技能系统:智能体能力的可管控、可扩展
- 亮点 4全生命周期任务管理无人值守的研发闭环
- 亮点 5Bridge 模块CLI↔IDE 无缝桥接,定义 AI 工具生态标准
- 亮点 6原生安全与权限设计前置拦截企业级合规
- 亮点 7中心化全局状态管理多模块状态一致性
- 亮点 8轻量化服务化部署无头模式 + 远程调用
- 三、CC 对多智能体AI 原生 IDE 的核心设计启示
- 启示 1架构必须采用「协调者 - 工作者」分层模型,拒绝单体智能体
- 启示 2上下文管理必须工程化拒绝手动配置
- 启示 3智能体能力必须标准化、可管控、可扩展
- 启示 4任务管理必须全生命周期闭环实现无人值守研发
- 启示 5生态必须原生打通CLI/IDE/ 远程多端一体化
- 启示 6安全与权限必须原生嵌入而非外挂功能
- 启示 7交互必须透明可控拒绝 AI 黑盒
- [Prompt 开源](https://mp.weixin.qq.com/s/5jG89wVD2niFqHCPrvDxXA) 分享的不是怎么写代码,而是怎么想清楚一件事
- [使用 tunasync 搭建开源镜像站](http://weyo.me/pages/techs/how-to-make-a-mirror-site/) [tunasync](https://github.com/tuna/tunasync) [weyo 开源镜像站](https://github.com/weyo/mirrors) [清华大学开源软件镜像站 服务器监控](https://mirrors.tuna.tsinghua.edu.cn/status/#syncing-status)
- [阿里Tablestore + Mem0](https://mp.weixin.qq.com/s/3lEoXvkFnuA-CzZdQotyqA)
- [阿里Memory架构与思考](https://mp.weixin.qq.com/s/bl77_Mb85C4AKe8h4__V6Q)
- Memory 不是"存储"而是可被决策利用的外部状态external state
- Memory 的最小闭包不是"文档块",而是 (Ledger, Views, Policy) 三件套
- Memory 的基本单位应当是 event 序列,但"直接用 event 流"不等于可用系统
## 2026-03-20
## 2026-03-27
- [人智协同常见问题](https://ai.szis.com.cn/media/images/2026/03/26/2026-03-27_snEVA4Q.pdf)
- ![-](./金鹏/20260327/20260327-004.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB