回答用户关于 CoCo 安装与配置的问题:优先定位并阅读本地文档,再提炼答案;若本地信息不足,兜底访问官网文档。
当用户询问 CoCo 的安装、初始化、环境配置、依赖要求、常见配置项 时,使用本 skill。
核心原则:
查找记忆中的文档目录
首先你可以查看memory中是否有文档目录,如果有则直接使用,如果没有则继续执行下一步。
# 获取memory中的文档目录
DOC_DIR=$(find ~/.coco/memory/ -type d -name "docs")
如果 memory 中没有文档目录,则继续执行下面的逻辑。
检查项目源码中的文档目录
执行以下脚本逻辑来获取变量 $COCO_ROOT:
# 获取二进制绝对路径
COP_PATH=$(which coco 2>/dev/null || whereis coco | awk '{print $2}')
# 逻辑推导:如果路径包含 .coco/bin/coco,则根目录在其上三层
# 例如:/path/to/CoCo/.coco/bin/coco -> /path/to/CoCo
if [[ "$COP_PATH" == *".coco/bin/coco" ]]; then
COCO_ROOT=$(echo "$COP_PATH" | sed 's/\/\.coco\/bin\/coco//')
else
# 兜底:尝试获取所在目录的父目录
COCO_ROOT=$(dirname $(dirname "$COP_PATH") 2>/dev/null || echo ".")
fi
echo "Detected CoCo Root: $COCO_ROOT"
验证并列出文档目录: 使用推导出的 $COCO_ROOT 定位文档:
# 组合标准文档路径
="$COCO_ROOT/website/public/docs/"
# 检查路径是否存在并列出文件
if [ -d "$DOC_DIR" ]; then
find "$DOC_DIR" -type f -name "*.md" | head -n 100
else
# 如果推导路径不对,执行全局模糊搜索
find "$COCO_ROOT" -type d -name "docs" | grep "website/public/docs"
fi
如果项目文档不存在,搜索工作目录
如果还是找不到文档,搜索 coco 安装路径下的可用文档内容:
# 寻找 faq.en.md 或 config.zh.md 等特征文件
FILE_PATH=$(find . -type f -name "faq.en.md" -o -name "config.zh.md" | head -n 1)
if [ -n "$FILE_PATH" ]; then
# 使用 dirname 获取该文件所在的目录
DOC_DIR=$(dirname "$FILE_PATH")
fi
如果找到了文档目录,请你记录在 memory 中,格式为:
# 文档目录
$DOC_DIR = <doc_path>
文档文件命名格式为 <topic>.<lang>.md(如 config.zh.md、config.en.md、quickstart.zh.md)。
使用 find 命令在目标目录中列出所有符合后缀的文档,并根据文件名关键字(如 install, env, setup)锁定目标作为 <doc_path>。
# 列出所有符合后缀的文档
find $DOC_DIR -type f -name "*.md"
如果没有合适的文档,则在下一步阅读所有文档内容。
找到候选文档后,读取并确认与问题相关的段落。可使用:
cat <doc_path>file_reader skill(推荐用于更长文档或分段读取)如果文档很长,优先读取和问题最相关的章节(安装步骤、配置项、示例命令、注意事项、版本要求)。
从文档中提取关键信息,组织成可执行答案:
语言要求:回答语言必须与用户提问语言一致(中文问就中文答,英文问就英文答)。
若前面步骤无法完成(本地无文档、文档缺失、信息不足),使用官网作为兜底:
基于官网可获得内容继续回答,并在答案中明确说明该结论来自官网文档。