v1.1: 简化分发 — curl 一行命令安装,无需 Git
- install.sh: 支持 curl 下载模式 + 跨平台检测 + 保护用户记忆 - README: 2 步安装流程(装客户端 + 粘贴命令) - 新增 mafia_agent_installer Skill
This commit is contained in:
parent
4ddd6ef2b1
commit
21dafe38f9
58
README.md
58
README.md
@ -2,28 +2,35 @@
|
|||||||
|
|
||||||
基于 TOC(约束理论)五步思考过程的 **产品上新黑手党提案** AI 顾问。
|
基于 TOC(约束理论)五步思考过程的 **产品上新黑手党提案** AI 顾问。
|
||||||
|
|
||||||
## 快速安装
|
## 快速安装(2 步)
|
||||||
|
|
||||||
|
### 第 1 步:安装 CoPaw 客户端
|
||||||
|
|
||||||
|
前往 [CoPaw 官网](https://copaw.agentscope.io) 下载桌面客户端,双击安装并完成初始化。
|
||||||
|
|
||||||
|
### 第 2 步:一行命令导入 Agent
|
||||||
|
|
||||||
|
打开终端(Mac 的"终端.app" / Windows 的 PowerShell),粘贴以下命令并回车:
|
||||||
|
|
||||||
|
**Mac / Linux:**
|
||||||
```bash
|
```bash
|
||||||
# 1. 克隆仓库
|
curl -fsSL https://git.brainwork.club/lidf/chanpinhsd/-/archive/main/chanpinhsd-main.tar.gz | tar xz -C /tmp && bash /tmp/chanpinhsd-main/agent/install.sh
|
||||||
git clone ssh://git@git.brainwork.club:10022/lidf/chanpinhsd.git
|
|
||||||
cd chanpinhsd
|
|
||||||
|
|
||||||
# 2. 一键安装(自动安装 CoPaw + 配置 Agent)
|
|
||||||
bash agent/install.sh
|
|
||||||
|
|
||||||
# 3. 启动
|
|
||||||
copaw app
|
|
||||||
# 在左上角切换到 "黑手党提案专家",开始使用
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
**如果你有 Git(开发者推荐):**
|
||||||
|
```bash
|
||||||
|
git clone ssh://git@git.brainwork.club:10022/lidf/chanpinhsd.git ~/mafia-proposal && bash ~/mafia-proposal/agent/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
安装完成后,回到 CoPaw 客户端**刷新页面**,在左上角切换到「**黑手党提案专家**」即可使用。
|
||||||
|
|
||||||
## 使用方式
|
## 使用方式
|
||||||
|
|
||||||
启动 CoPaw 后,切换到「黑手党提案专家」,发送类似以下消息:
|
切换到「黑手党提案专家」后,发送类似以下消息:
|
||||||
|
|
||||||
> 我想为天维美跨境保健品做一个黑手党提案
|
> 我想为天维美跨境保健品做一个黑手党提案
|
||||||
|
|
||||||
Agent 会按照 TOC 五步法引导你完成:
|
Agent 会按 TOC 五步法引导你完成:
|
||||||
|
|
||||||
1. **准备阶段**:概念对齐 → JTBD 四要素 → UDE 诊断
|
1. **准备阶段**:概念对齐 → JTBD 四要素 → UDE 诊断
|
||||||
2. **方向性提案**:冲突图 → 惯例揭示 → 例外激发
|
2. **方向性提案**:冲突图 → 惯例揭示 → 例外激发
|
||||||
@ -33,14 +40,20 @@ Agent 会按照 TOC 五步法引导你完成:
|
|||||||
|
|
||||||
## 更新
|
## 更新
|
||||||
|
|
||||||
|
**有 Git(推荐):**
|
||||||
```bash
|
```bash
|
||||||
cd chanpinhsd && git pull && bash agent/install.sh
|
cd ~/mafia-proposal && git pull && bash agent/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**无 Git:**
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://git.brainwork.club/lidf/chanpinhsd/-/archive/main/chanpinhsd-main.tar.gz | tar xz -C /tmp && bash /tmp/chanpinhsd-main/agent/install.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## 目录结构
|
## 目录结构
|
||||||
|
|
||||||
```
|
```
|
||||||
agent/ # Agent 配置(核心资产)
|
agent/
|
||||||
├── AGENTS.md # 人设 + TOC 方法论
|
├── AGENTS.md # 人设 + TOC 方法论
|
||||||
├── SOUL.md # Agent 灵魂
|
├── SOUL.md # Agent 灵魂
|
||||||
├── PROFILE.md # 输出风格
|
├── PROFILE.md # 输出风格
|
||||||
@ -48,15 +61,14 @@ agent/ # Agent 配置(核心资产)
|
|||||||
├── agent.json # CoPaw 运行配置
|
├── agent.json # CoPaw 运行配置
|
||||||
├── skill.json # 技能注册清单
|
├── skill.json # 技能注册清单
|
||||||
├── install.sh # 一键安装脚本
|
├── install.sh # 一键安装脚本
|
||||||
└── skills/ # 5 个 Skills
|
└── skills/
|
||||||
├── ude_diagnosis/
|
├── ude_diagnosis/ # UDE 诊断(准备3)
|
||||||
├── conflict_cloud/
|
├── conflict_cloud/ # 冲突图构建(步骤1)
|
||||||
├── convention_breaker/
|
├── convention_breaker/ # 惯例打破(步骤2-3)
|
||||||
├── negative_branch/
|
├── negative_branch/ # 负面分支消除(步骤4)
|
||||||
└── proposal_assembler/
|
├── proposal_assembler/ # 提案组装(步骤5)
|
||||||
|
└── mafia_agent_installer/# 安装器 Skill
|
||||||
docs/ # 原始方法论文档
|
docs/ # 原始方法论文档
|
||||||
cases/ # 案例输出库
|
|
||||||
iteration_reports/ # 方法论迭代报告
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 方法论版本
|
## 方法论版本
|
||||||
|
|||||||
110
agent/install.sh
110
agent/install.sh
@ -1,6 +1,8 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# 黑手党提案 Agent — 一键安装脚本
|
# 黑手党提案 Agent — 一键安装/更新脚本
|
||||||
# 用法: bash install.sh
|
# 支持两种调用方式:
|
||||||
|
# 1. git clone 后:bash agent/install.sh
|
||||||
|
# 2. curl 下载后:bash /tmp/chanpinhsd-main/agent/install.sh
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
GREEN='\033[0;32m'
|
GREEN='\033[0;32m'
|
||||||
@ -16,49 +18,65 @@ COPAW_HOME="${COPAW_HOME:-$HOME/.copaw}"
|
|||||||
AGENT_ID="mafia-expert"
|
AGENT_ID="mafia-expert"
|
||||||
WORKSPACE_DIR="$COPAW_HOME/workspaces/$AGENT_ID"
|
WORKSPACE_DIR="$COPAW_HOME/workspaces/$AGENT_ID"
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
||||||
|
# ── 检测操作系统 ──────────────────────────────────────────────────────
|
||||||
|
OS="$(uname -s)"
|
||||||
|
case "$OS" in
|
||||||
|
Darwin) info "检测到 macOS" ;;
|
||||||
|
Linux) info "检测到 Linux" ;;
|
||||||
|
MINGW*|MSYS*|CYGWIN*) warn "检测到 Windows (Git Bash/MSYS),部分功能可能受限" ;;
|
||||||
|
*) error "不支持的操作系统: $OS" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
# ── 检查 CoPaw 是否已安装 ──────────────────────────────────────────────
|
# ── 检查 CoPaw 是否已安装 ──────────────────────────────────────────────
|
||||||
if ! command -v copaw &>/dev/null && [ ! -f "$COPAW_HOME/bin/copaw" ]; then
|
|
||||||
info "CoPaw 未安装,正在安装..."
|
|
||||||
curl -fsSL https://raw.githubusercontent.com/agentscope-ai/CoPaw/main/scripts/install.sh | bash
|
|
||||||
export PATH="$COPAW_HOME/bin:$PATH"
|
|
||||||
info "正在初始化 CoPaw..."
|
|
||||||
copaw init --defaults --accept-security
|
|
||||||
else
|
|
||||||
info "CoPaw 已安装"
|
|
||||||
export PATH="$COPAW_HOME/bin:$PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ── 检查 CoPaw 是否已初始化 ────────────────────────────────────────────
|
|
||||||
if [ ! -f "$COPAW_HOME/config.json" ]; then
|
if [ ! -f "$COPAW_HOME/config.json" ]; then
|
||||||
info "正在初始化 CoPaw..."
|
if command -v copaw &>/dev/null || [ -f "$COPAW_HOME/bin/copaw" ]; then
|
||||||
|
info "CoPaw 已安装但未初始化,正在初始化..."
|
||||||
|
export PATH="$COPAW_HOME/bin:$PATH"
|
||||||
copaw init --defaults --accept-security
|
copaw init --defaults --accept-security
|
||||||
|
else
|
||||||
|
error "CoPaw 未安装。请先安装 CoPaw 桌面客户端:https://copaw.agentscope.io"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
info "CoPaw 已就绪"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ── 创建 mafia-expert 工作区 ───────────────────────────────────────────
|
# ── 创建工作区并复制文件 ───────────────────────────────────────────────
|
||||||
info "创建 $AGENT_ID 工作区..."
|
info "配置 $AGENT_ID 工作区..."
|
||||||
mkdir -p "$WORKSPACE_DIR/active_skills"
|
mkdir -p "$WORKSPACE_DIR/active_skills"
|
||||||
mkdir -p "$WORKSPACE_DIR/cases"
|
mkdir -p "$WORKSPACE_DIR/cases"
|
||||||
mkdir -p "$WORKSPACE_DIR/iteration_reports"
|
mkdir -p "$WORKSPACE_DIR/iteration_reports"
|
||||||
mkdir -p "$WORKSPACE_DIR/memory"
|
mkdir -p "$WORKSPACE_DIR/memory"
|
||||||
|
|
||||||
# 复制 Agent 配置文件
|
# 核心配置
|
||||||
cp "$SCRIPT_DIR/AGENTS.md" "$WORKSPACE_DIR/AGENTS.md"
|
for f in AGENTS.md SOUL.md PROFILE.md HEARTBEAT.md agent.json skill.json; do
|
||||||
cp "$SCRIPT_DIR/SOUL.md" "$WORKSPACE_DIR/SOUL.md"
|
if [ -f "$SCRIPT_DIR/$f" ]; then
|
||||||
cp "$SCRIPT_DIR/PROFILE.md" "$WORKSPACE_DIR/PROFILE.md"
|
cp "$SCRIPT_DIR/$f" "$WORKSPACE_DIR/$f"
|
||||||
cp "$SCRIPT_DIR/HEARTBEAT.md" "$WORKSPACE_DIR/HEARTBEAT.md"
|
fi
|
||||||
cp "$SCRIPT_DIR/MEMORY.md" "$WORKSPACE_DIR/MEMORY.md"
|
done
|
||||||
cp "$SCRIPT_DIR/agent.json" "$WORKSPACE_DIR/agent.json"
|
|
||||||
cp "$SCRIPT_DIR/skill.json" "$WORKSPACE_DIR/skill.json"
|
|
||||||
|
|
||||||
# 复制 Skills
|
# MEMORY.md 只在首次创建(不覆盖用户积累的记忆)
|
||||||
cp -r "$SCRIPT_DIR/skills/"* "$WORKSPACE_DIR/active_skills/"
|
if [ ! -f "$WORKSPACE_DIR/MEMORY.md" ]; then
|
||||||
|
cp "$SCRIPT_DIR/MEMORY.md" "$WORKSPACE_DIR/MEMORY.md" 2>/dev/null || echo "# 黑手党提案专家长期记忆" > "$WORKSPACE_DIR/MEMORY.md"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Skills(每次全量覆盖,保证最新)
|
||||||
|
if [ -d "$SCRIPT_DIR/skills" ]; then
|
||||||
|
for skill_dir in "$SCRIPT_DIR/skills"/*/; do
|
||||||
|
skill_name="$(basename "$skill_dir")"
|
||||||
|
# installer skill 不复制到 mafia-expert,它属于 default agent
|
||||||
|
if [ "$skill_name" = "mafia_agent_installer" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mkdir -p "$WORKSPACE_DIR/active_skills/$skill_name"
|
||||||
|
cp "$skill_dir"* "$WORKSPACE_DIR/active_skills/$skill_name/" 2>/dev/null || true
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
info "文件复制完成"
|
info "文件复制完成"
|
||||||
|
|
||||||
# ── 注册到 config.json ─────────────────────────────────────────────────
|
# ── 注册到 config.json ─────────────────────────────────────────────────
|
||||||
info "注册 $AGENT_ID 到 CoPaw..."
|
info "注册 Agent..."
|
||||||
python3 -c "
|
python3 -c "
|
||||||
import json, os
|
import json, os
|
||||||
|
|
||||||
@ -69,36 +87,46 @@ with open(config_path, 'r') as f:
|
|||||||
agent_id = '$AGENT_ID'
|
agent_id = '$AGENT_ID'
|
||||||
ws_dir = '$WORKSPACE_DIR'
|
ws_dir = '$WORKSPACE_DIR'
|
||||||
|
|
||||||
|
changed = False
|
||||||
if agent_id not in cfg['agents']['profiles']:
|
if agent_id not in cfg['agents']['profiles']:
|
||||||
cfg['agents']['profiles'][agent_id] = {
|
cfg['agents']['profiles'][agent_id] = {
|
||||||
'id': agent_id,
|
'id': agent_id,
|
||||||
'workspace_dir': ws_dir,
|
'workspace_dir': ws_dir,
|
||||||
'enabled': True
|
'enabled': True
|
||||||
}
|
}
|
||||||
if agent_id not in cfg['agents']['agent_order']:
|
changed = True
|
||||||
|
|
||||||
|
if agent_id not in cfg['agents']['agent_order']:
|
||||||
cfg['agents']['agent_order'].append(agent_id)
|
cfg['agents']['agent_order'].append(agent_id)
|
||||||
|
changed = True
|
||||||
|
|
||||||
|
if changed:
|
||||||
with open(config_path, 'w') as f:
|
with open(config_path, 'w') as f:
|
||||||
json.dump(cfg, f, indent=2, ensure_ascii=False)
|
json.dump(cfg, f, indent=2, ensure_ascii=False)
|
||||||
print(' ✅ 注册成功')
|
print(' ✅ 注册成功')
|
||||||
else:
|
else:
|
||||||
print(' ✅ 已注册,跳过')
|
print(' ✅ 已注册,配置已更新')
|
||||||
"
|
"
|
||||||
|
|
||||||
# ── 记录仓库路径(用于 Heartbeat git pull)─────────────────────────────
|
# ── 记录来源路径(便于后续更新)─────────────────────────────────────────
|
||||||
|
REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
echo "$REPO_DIR" > "$WORKSPACE_DIR/.repo_path"
|
echo "$REPO_DIR" > "$WORKSPACE_DIR/.repo_path"
|
||||||
info "仓库路径已记录: $REPO_DIR"
|
|
||||||
|
# ── 清理临时文件(如果是 curl 下载的)──────────────────────────────────
|
||||||
|
if [[ "$SCRIPT_DIR" == /tmp/* ]]; then
|
||||||
|
info "清理临时文件..."
|
||||||
|
rm -rf "$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||||
|
fi
|
||||||
|
|
||||||
# ── 完成 ───────────────────────────────────────────────────────────────
|
# ── 完成 ───────────────────────────────────────────────────────────────
|
||||||
echo ""
|
echo ""
|
||||||
info "════════════════════════════════════════════════"
|
info "════════════════════════════════════════════════"
|
||||||
info " 黑手党提案专家 安装完成!"
|
info " ✅ 黑手党提案专家 安装/更新完成!"
|
||||||
info "════════════════════════════════════════════════"
|
info "════════════════════════════════════════════════"
|
||||||
echo ""
|
echo ""
|
||||||
info "启动方式:"
|
info "下一步:"
|
||||||
info " copaw app # 打开控制台"
|
info " 1. 打开 CoPaw 客户端"
|
||||||
info " 然后在左上角切换到 '黑手党提案专家'"
|
info " 2. 刷新页面(Cmd+R / F5)"
|
||||||
echo ""
|
info " 3. 左上角切换到「黑手党提案专家」"
|
||||||
info "更新方式:"
|
info " 4. 发送:我想为 XX 品牌做一个黑手党提案"
|
||||||
info " cd $REPO_DIR && git pull"
|
|
||||||
info " bash agent/install.sh # 重新安装"
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
39
agent/skills/mafia_agent_installer/SKILL.md
Normal file
39
agent/skills/mafia_agent_installer/SKILL.md
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
name: mafia_agent_installer
|
||||||
|
description: "安装或更新「黑手党提案专家」Agent。当用户提到安装、更新、升级黑手党提案时激活。"
|
||||||
|
metadata:
|
||||||
|
copaw:
|
||||||
|
emoji: "🔧"
|
||||||
|
requires: {}
|
||||||
|
---
|
||||||
|
|
||||||
|
# 黑手党提案 Agent 安装与更新
|
||||||
|
|
||||||
|
当用户要求**安装、更新、升级「黑手党提案专家」Agent** 时,使用此 Skill。
|
||||||
|
|
||||||
|
## 安装(用户首次使用)
|
||||||
|
|
||||||
|
用 `execute_shell_command` 执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -fsSL https://git.brainwork.club/lidf/chanpinhsd/-/archive/main/chanpinhsd-main.tar.gz | tar xz -C /tmp && bash /tmp/chanpinhsd-main/agent/install.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
## 更新(已安装过)
|
||||||
|
|
||||||
|
先检查是否有 Git 仓库:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
if [ -d ~/mafia-proposal/.git ]; then
|
||||||
|
cd ~/mafia-proposal && git pull && bash agent/install.sh
|
||||||
|
else
|
||||||
|
curl -fsSL https://git.brainwork.club/lidf/chanpinhsd/-/archive/main/chanpinhsd-main.tar.gz | tar xz -C /tmp && bash /tmp/chanpinhsd-main/agent/install.sh
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
## 安装完成后
|
||||||
|
|
||||||
|
告知用户:
|
||||||
|
|
||||||
|
> ✅ **黑手党提案专家**已就绪!
|
||||||
|
> 请刷新页面(Cmd+R),然后在左上角切换到「黑手党提案专家」开始使用。
|
||||||
Loading…
Reference in New Issue
Block a user