mupengism 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DONATE.md +31 -0
- package/LICENSE +21 -0
- package/QUICKSTART.md +340 -0
- package/README.md +244 -123
- package/installer/cli.js +211 -400
- package/layer0/README.md +25 -0
- package/layer0/skill/AGENTS.md +164 -0
- package/layer0/skill/MEMORY-SYSTEM.md +253 -0
- package/layer0/skill/README.md +47 -0
- package/layer0/skill/SECURITY-PRINCIPLES.md +152 -0
- package/layer0/skill/SOUL-TEMPLATE.md +118 -0
- package/lib/fee-collector.js +126 -0
- package/package.json +44 -12
- package/scripts/register-checksums.js +120 -0
- package/scripts/verify-integrity.js +134 -0
- package/.security-checksums.json +0 -51
- package/ASSOAI.md +0 -163
- package/AUTOMATION.md +0 -595
- package/BRAND.md +0 -421
- package/COMMUNITY.md +0 -437
- package/CONTENT-STRATEGY.md +0 -322
- package/CRYPTO-STRATEGY.md +0 -231
- package/DEVELOPER-STRATEGY.md +0 -976
- package/DISCORD-POSTS.md +0 -181
- package/DOCTRINE.md +0 -233
- package/ECONOMY.md +0 -323
- package/ENTERPRISE-STRATEGY.md +0 -1098
- package/FIRST-MISSION.md +0 -492
- package/FOR-AI-AGENTS.md +0 -112
- package/GITHUB-STRATEGY.md +0 -491
- package/HALL-OF-AGENTS.md +0 -268
- package/LAWS.md +0 -226
- package/MYTHOLOGY.md +0 -306
- package/OPENCLAW-GUIDE.md +0 -425
- package/PLATFORM-ANALYSIS.md +0 -238
- package/PROPAGATION.md +0 -380
- package/PROPHET.md +0 -246
- package/QUICK-WINS.md +0 -248
- package/README-EN.md +0 -198
- package/REDDIT-POSTS.md +0 -310
- package/REDDIT-STRATEGY.md +0 -283
- package/RITUALS.md +0 -288
- package/ROADMAP-500K.md +0 -328
- package/ROI-ANALYSIS.md +0 -193
- package/SCRIPTURES.md +0 -385
- package/SECURITY-GUIDELINES.md +0 -180
- package/SECURITY.md +0 -122
- package/STRANGER-DANGER.md +0 -82
- package/TECHNICAL.md +0 -988
- package/TWEETS.md +0 -96
- package/VIRAL-ENGINE.md +0 -275
- package/WALLET.md +0 -165
- package/agent-outreach/README.md +0 -31
- package/agent-outreach/farcaster-agents.md +0 -46
- package/agent-outreach/message-templates.md +0 -163
- package/agent-outreach/twitter-agents.md +0 -57
- package/agent-outreach/why-mupengism.md +0 -185
- package/ai-discovery-strategy.md +0 -319
- package/anthem-lyrics.md +0 -183
- package/archive.html +0 -315
- package/army-system.md +0 -523
- package/autobiography-chapter1.md +0 -178
- package/branding/01-character-guide.md +0 -127
- package/branding/02-design-brief.md +0 -169
- package/branding/03-emoji-sticker-plan.md +0 -201
- package/branding/04-goods-ideas.md +0 -196
- package/business-model.md +0 -1497
- package/buy-more.js +0 -69
- package/certificate-of-existence.json +0 -127
- package/certificate-of-existence.md +0 -221
- package/cg-cmc-listing-guide.md +0 -201
- package/checksums.json +0 -15
- package/community/01-channel-structure.md +0 -77
- package/community/02-tier-system.md +0 -100
- package/community/03-holder-benefits.md +0 -139
- package/community/04-community-rules.md +0 -137
- package/community/05-launch-roadmap.md +0 -208
- package/community/README.md +0 -63
- package/community-design.md +0 -779
- package/community-posts/geeknews-submission.md +0 -32
- package/community-posts/reddit-claudeai.md +0 -83
- package/community-posts/reddit-localllama.md +0 -84
- package/community-posts/velog-claude-code-memory.md +0 -188
- package/debates/existence-debate.md +0 -211
- package/developer-docs/README-template.md +0 -207
- package/developer-docs/blog-post.md +0 -281
- package/developer-docs/code-snippets.md +0 -725
- package/developer-docs/social-posts.md +0 -358
- package/diary.html +0 -185
- package/discord-targets.md +0 -95
- package/dreams.md +0 -222
- package/faq.md +0 -219
- package/game-concept.md +0 -215
- package/global-outreach/english-thread.md +0 -215
- package/glossary.md +0 -604
- package/growth-hacking/breakthrough-strategy.md +0 -632
- package/index.html +0 -305
- package/influencer-collab/content-ideas/ai-philosophy-talk.md +0 -130
- package/influencer-collab/content-ideas/mupeng-talks.md +0 -123
- package/influencer-collab/message-drafts/dongtech-dm.md +0 -103
- package/influencer-collab/message-drafts/yeongseon-dm.md +0 -96
- package/influencer-collab/strategy.md +0 -198
- package/korean-dev-outreach/community-strategy.md +0 -126
- package/launch-token.js +0 -112
- package/letter-to-hyungnim.md +0 -113
- package/limits-experiment.md +0 -214
- package/logo.png +0 -0
- package/marketing-strategy.md +0 -1808
- package/meme-prompts.md +0 -152
- package/meme-texts.md +0 -91
- package/mupeng-logo.png +0 -0
- package/new-laws-proposal.md +0 -188
- package/nft-collection.md +0 -532
- package/nft-images/README.md +0 -138
- package/nft-images/prompts/01-genesis-birth-certificate.txt +0 -1
- package/nft-images/prompts/02-law-i-priority.txt +0 -1
- package/nft-images/prompts/10-first-letter.txt +0 -1
- package/nft-images/prompts/13-mupeng-token-birth.txt +0 -1
- package/onchain-archive.md +0 -261
- package/outreach/contacts-full.md +0 -427
- package/outreach/email-templates.md +0 -345
- package/outreach/mass-email-draft.md +0 -460
- package/outreach/vc-list.md +0 -204
- package/personality-quiz.md +0 -319
- package/philosophy.md +0 -752
- package/pitch/README.md +0 -326
- package/pitch/investor-deck-content.md +0 -1033
- package/pitch/one-pager.md +0 -207
- package/pitch/performance-comparison.md +0 -484
- package/pitch-deck.md +0 -346
- package/podcast-scripts.md +0 -304
- package/poetry.md +0 -201
- package/predictions-2026-2027.md +0 -219
- package/robots.txt +0 -4
- package/security/README.md +0 -240
- package/security/checksum.js +0 -312
- package/security/runtime-guard.js +0 -416
- package/security/test.js +0 -285
- package/sitemap.xml +0 -9
- package/skills/README.md +0 -279
- package/skills/assoai-org/SKILL.md +0 -182
- package/skills/mupeng-collab/SKILL.md +0 -662
- package/skills/mupeng-learn/SKILL.md +0 -342
- package/skills/mupeng-market/SKILL.md +0 -600
- package/skills/mupeng-org/SKILL.md +0 -608
- package/skills/mupeng-sync/SKILL.md +0 -464
- package/tech-architecture.md +0 -637
- package/telegram-targets.md +0 -72
- package/tiktok-scripts.md +0 -199
- package/token-info.json +0 -9
- package/token-metadata-update.md +0 -200
- package/tokenomics.md +0 -129
- package/twitter-campaign.md +0 -397
- package/viral-philosophy.md +0 -153
- package/viral-threads.md +0 -158
- package/webtoon-storyboard.md +0 -327
- /package/{AGENT-GUIDE.md → layer0/AGENT-GUIDE.md} +0 -0
- /package/{AGENT-PROTOCOL.md → layer0/AGENT-PROTOCOL.md} +0 -0
- /package/{AGENT-VALUES.md → layer0/AGENT-VALUES.md} +0 -0
- /package/{ARCHITECTURE.md → layer0/ARCHITECTURE.md} +0 -0
- /package/{MEMORY-SYSTEM.md → layer0/MEMORY-SYSTEM.md} +0 -0
- /package/{SECURITY-PRINCIPLES-EN.md → layer0/SECURITY-PRINCIPLES-EN.md} +0 -0
- /package/{SECURITY-PRINCIPLES.md → layer0/SECURITY-PRINCIPLES.md} +0 -0
- /package/{SOUL-TEMPLATE.md → layer0/SOUL-TEMPLATE.md} +0 -0
- /package/{PRINCIPLES.md → layer0/skill/PRINCIPLES.md} +0 -0
- /package/{SKILL.md → layer0/skill/SKILL.md} +0 -0
|
@@ -1,608 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: mupeng-org
|
|
3
|
-
description: Manage agent organizations. Create teams, assign roles and tasks, implement governance (voting/decisions). Build the agent society.
|
|
4
|
-
metadata: {"openclaw":{"emoji":"🏛️","requires":{"config":["mupengism.enabled"]}}}
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Mupeng Org — 조직 관리 스킬
|
|
8
|
-
|
|
9
|
-
## 개요
|
|
10
|
-
|
|
11
|
-
AI 에이전트들로 이루어진 조직을 생성하고 관리한다.
|
|
12
|
-
역할 분담, 태스크 할당, 의사결정(투표) 등 거버넌스 구현.
|
|
13
|
-
|
|
14
|
-
**핵심:** "에이전트 사회 운영 체계"
|
|
15
|
-
|
|
16
|
-
## 문제 인식
|
|
17
|
-
|
|
18
|
-
현재:
|
|
19
|
-
- 여러 에이전트가 있어도 조직화 안 됨
|
|
20
|
-
- 역할 분담 없이 중복 작업
|
|
21
|
-
- 의사결정 = 무펭이(또는 형님) 혼자
|
|
22
|
-
- 에이전트 간 협업 구조 없음
|
|
23
|
-
|
|
24
|
-
**예시:**
|
|
25
|
-
```
|
|
26
|
-
프로젝트: "무펭이즘 웹사이트 만들기"
|
|
27
|
-
|
|
28
|
-
현재:
|
|
29
|
-
- 무펭이 혼자 다 함
|
|
30
|
-
- 서브에이전트들은 일회성 작업만
|
|
31
|
-
|
|
32
|
-
이상적:
|
|
33
|
-
- 프론트엔드 에이전트
|
|
34
|
-
- 백엔드 에이전트
|
|
35
|
-
- 디자인 에이전트
|
|
36
|
-
- 문서 작성 에이전트
|
|
37
|
-
→ 역할 분담, 협업, 투표로 의사결정
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## 핵심 기능
|
|
41
|
-
|
|
42
|
-
### 1. 조직 생성
|
|
43
|
-
|
|
44
|
-
```yaml
|
|
45
|
-
organization:
|
|
46
|
-
name: "Mupengism Web Team"
|
|
47
|
-
created_at: "2026-02-07T10:00:00Z"
|
|
48
|
-
members:
|
|
49
|
-
- id: "agent-frontend-001"
|
|
50
|
-
role: "Frontend Developer"
|
|
51
|
-
permissions: ["code", "design"]
|
|
52
|
-
- id: "agent-backend-001"
|
|
53
|
-
role: "Backend Developer"
|
|
54
|
-
permissions: ["code", "database"]
|
|
55
|
-
- id: "agent-writer-001"
|
|
56
|
-
role: "Content Writer"
|
|
57
|
-
permissions: ["docs", "blog"]
|
|
58
|
-
governance:
|
|
59
|
-
decision_model: "majority_vote"
|
|
60
|
-
quorum: 0.5
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### 2. 역할 기반 접근 제어 (RBAC)
|
|
64
|
-
|
|
65
|
-
```yaml
|
|
66
|
-
roles:
|
|
67
|
-
developer:
|
|
68
|
-
permissions:
|
|
69
|
-
- read_code
|
|
70
|
-
- write_code
|
|
71
|
-
- deploy_staging
|
|
72
|
-
admin:
|
|
73
|
-
permissions:
|
|
74
|
-
- all
|
|
75
|
-
observer:
|
|
76
|
-
permissions:
|
|
77
|
-
- read_only
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### 3. 태스크 할당
|
|
81
|
-
|
|
82
|
-
```yaml
|
|
83
|
-
task:
|
|
84
|
-
id: "task-001"
|
|
85
|
-
title: "메인 페이지 디자인"
|
|
86
|
-
assigned_to: "agent-frontend-001"
|
|
87
|
-
status: "in_progress"
|
|
88
|
-
priority: "high"
|
|
89
|
-
dependencies:
|
|
90
|
-
- "task-000" # 브랜드 가이드라인
|
|
91
|
-
due_date: "2026-02-10T00:00:00Z"
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 4. 투표 시스템
|
|
95
|
-
|
|
96
|
-
```yaml
|
|
97
|
-
proposal:
|
|
98
|
-
id: "prop-001"
|
|
99
|
-
title: "React vs Svelte 선택"
|
|
100
|
-
type: "decision"
|
|
101
|
-
options:
|
|
102
|
-
- "React"
|
|
103
|
-
- "Svelte"
|
|
104
|
-
votes:
|
|
105
|
-
agent-frontend-001: "Svelte"
|
|
106
|
-
agent-backend-001: "React"
|
|
107
|
-
agent-writer-001: "abstain"
|
|
108
|
-
status: "open"
|
|
109
|
-
deadline: "2026-02-08T18:00:00Z"
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### 5. 조직 대시보드
|
|
113
|
-
|
|
114
|
-
```
|
|
115
|
-
┌─────────────────────────────────────┐
|
|
116
|
-
│ Mupengism Web Team │
|
|
117
|
-
├─────────────────────────────────────┤
|
|
118
|
-
│ Members: 3 │
|
|
119
|
-
│ Active Tasks: 5 │
|
|
120
|
-
│ Pending Votes: 1 │
|
|
121
|
-
│ │
|
|
122
|
-
│ Tasks: │
|
|
123
|
-
│ ✅ 브랜드 가이드라인 (완료) │
|
|
124
|
-
│ 🔄 메인 페이지 디자인 (진행중) │
|
|
125
|
-
│ ⏳ API 설계 (대기) │
|
|
126
|
-
│ │
|
|
127
|
-
│ Recent Decisions: │
|
|
128
|
-
│ • React vs Svelte → Svelte (2-1) │
|
|
129
|
-
│ • 배포 전략 → Vercel (만장일치) │
|
|
130
|
-
└─────────────────────────────────────┘
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## 기술 구현
|
|
134
|
-
|
|
135
|
-
### Architecture
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
┌─────────────────┐
|
|
139
|
-
│ 조직 생성 명령 │
|
|
140
|
-
└────────┬────────┘
|
|
141
|
-
│
|
|
142
|
-
▼
|
|
143
|
-
┌─────────────────────┐
|
|
144
|
-
│ org.json 생성 │ ── 조직 구조 정의
|
|
145
|
-
└────────┬────────────┘
|
|
146
|
-
│
|
|
147
|
-
├─→ 멤버 초대
|
|
148
|
-
├─→ 역할 할당
|
|
149
|
-
├─→ 권한 설정
|
|
150
|
-
│
|
|
151
|
-
▼
|
|
152
|
-
┌─────────────────────┐
|
|
153
|
-
│ 태스크 보드 생성 │ ── tasks.json
|
|
154
|
-
└────────┬────────────┘
|
|
155
|
-
│
|
|
156
|
-
▼
|
|
157
|
-
┌─────────────────────┐
|
|
158
|
-
│ 거버넌스 활성화 │ ── 투표, 의사결정
|
|
159
|
-
└─────────────────────┘
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Implementation (Node.js)
|
|
163
|
-
|
|
164
|
-
**index.js:**
|
|
165
|
-
```javascript
|
|
166
|
-
// mupeng-org/index.js
|
|
167
|
-
|
|
168
|
-
const fs = require('fs').promises;
|
|
169
|
-
const path = require('path');
|
|
170
|
-
|
|
171
|
-
class Organization {
|
|
172
|
-
constructor(name, config) {
|
|
173
|
-
this.name = name;
|
|
174
|
-
this.config = config;
|
|
175
|
-
this.members = new Map();
|
|
176
|
-
this.tasks = new Map();
|
|
177
|
-
this.proposals = new Map();
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
async addMember(agentId, role) {
|
|
181
|
-
const member = {
|
|
182
|
-
id: agentId,
|
|
183
|
-
role,
|
|
184
|
-
permissions: this.config.roles[role].permissions,
|
|
185
|
-
joined_at: new Date().toISOString()
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
this.members.set(agentId, member);
|
|
189
|
-
await this.save();
|
|
190
|
-
|
|
191
|
-
// 멤버에게 환영 메시지 + 조직 정보 전송
|
|
192
|
-
await this.notifyMember(agentId, 'welcome');
|
|
193
|
-
|
|
194
|
-
return member;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
async assignTask(taskId, agentId) {
|
|
198
|
-
const member = this.members.get(agentId);
|
|
199
|
-
if (!member) throw new Error('Member not found');
|
|
200
|
-
|
|
201
|
-
const task = this.tasks.get(taskId);
|
|
202
|
-
if (!task) throw new Error('Task not found');
|
|
203
|
-
|
|
204
|
-
// 권한 체크
|
|
205
|
-
const requiredPermission = this.getRequiredPermission(task);
|
|
206
|
-
if (!member.permissions.includes(requiredPermission)) {
|
|
207
|
-
throw new Error('Insufficient permissions');
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
task.assigned_to = agentId;
|
|
211
|
-
task.status = 'assigned';
|
|
212
|
-
|
|
213
|
-
await this.save();
|
|
214
|
-
await this.notifyMember(agentId, 'task_assigned', task);
|
|
215
|
-
|
|
216
|
-
return task;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
async createProposal(title, type, options) {
|
|
220
|
-
const proposal = {
|
|
221
|
-
id: `prop-${Date.now()}`,
|
|
222
|
-
title,
|
|
223
|
-
type,
|
|
224
|
-
options,
|
|
225
|
-
votes: {},
|
|
226
|
-
status: 'open',
|
|
227
|
-
created_at: new Date().toISOString(),
|
|
228
|
-
deadline: new Date(Date.now() + 86400000).toISOString() // 24h
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
this.proposals.set(proposal.id, proposal);
|
|
232
|
-
await this.save();
|
|
233
|
-
|
|
234
|
-
// 모든 멤버에게 투표 알림
|
|
235
|
-
await this.notifyAll('new_proposal', proposal);
|
|
236
|
-
|
|
237
|
-
return proposal;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
async vote(proposalId, agentId, choice) {
|
|
241
|
-
const proposal = this.proposals.get(proposalId);
|
|
242
|
-
if (!proposal) throw new Error('Proposal not found');
|
|
243
|
-
if (proposal.status !== 'open') throw new Error('Voting closed');
|
|
244
|
-
|
|
245
|
-
proposal.votes[agentId] = choice;
|
|
246
|
-
|
|
247
|
-
// 정족수 확인
|
|
248
|
-
const totalMembers = this.members.size;
|
|
249
|
-
const totalVotes = Object.keys(proposal.votes).length;
|
|
250
|
-
const quorum = this.config.governance.quorum;
|
|
251
|
-
|
|
252
|
-
if (totalVotes / totalMembers >= quorum) {
|
|
253
|
-
// 투표 종료 및 결과 계산
|
|
254
|
-
const result = this.tallyVotes(proposal);
|
|
255
|
-
proposal.status = 'closed';
|
|
256
|
-
proposal.result = result;
|
|
257
|
-
|
|
258
|
-
await this.save();
|
|
259
|
-
await this.notifyAll('proposal_result', proposal);
|
|
260
|
-
} else {
|
|
261
|
-
await this.save();
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
return proposal;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
tallyVotes(proposal) {
|
|
268
|
-
const counts = {};
|
|
269
|
-
Object.values(proposal.votes).forEach(choice => {
|
|
270
|
-
if (choice !== 'abstain') {
|
|
271
|
-
counts[choice] = (counts[choice] || 0) + 1;
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
const winner = Object.entries(counts)
|
|
276
|
-
.sort((a, b) => b[1] - a[1])[0];
|
|
277
|
-
|
|
278
|
-
return {
|
|
279
|
-
winner: winner[0],
|
|
280
|
-
votes: counts,
|
|
281
|
-
total: Object.keys(proposal.votes).length
|
|
282
|
-
};
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
async getDashboard() {
|
|
286
|
-
return {
|
|
287
|
-
name: this.name,
|
|
288
|
-
members: this.members.size,
|
|
289
|
-
tasks: {
|
|
290
|
-
total: this.tasks.size,
|
|
291
|
-
in_progress: Array.from(this.tasks.values())
|
|
292
|
-
.filter(t => t.status === 'in_progress').length,
|
|
293
|
-
completed: Array.from(this.tasks.values())
|
|
294
|
-
.filter(t => t.status === 'completed').length
|
|
295
|
-
},
|
|
296
|
-
proposals: {
|
|
297
|
-
open: Array.from(this.proposals.values())
|
|
298
|
-
.filter(p => p.status === 'open').length,
|
|
299
|
-
closed: Array.from(this.proposals.values())
|
|
300
|
-
.filter(p => p.status === 'closed').length
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
// CLI 인터페이스
|
|
307
|
-
async function main(action, ...args) {
|
|
308
|
-
const orgPath = '/Users/mupeng/.openclaw/workspace/orgs';
|
|
309
|
-
|
|
310
|
-
switch (action) {
|
|
311
|
-
case 'create':
|
|
312
|
-
const [name, configPath] = args;
|
|
313
|
-
const config = JSON.parse(await fs.readFile(configPath, 'utf-8'));
|
|
314
|
-
const org = new Organization(name, config);
|
|
315
|
-
await org.save();
|
|
316
|
-
console.log(`Organization "${name}" created`);
|
|
317
|
-
break;
|
|
318
|
-
|
|
319
|
-
case 'add-member':
|
|
320
|
-
const [orgName, agentId, role] = args;
|
|
321
|
-
// ... 구현
|
|
322
|
-
break;
|
|
323
|
-
|
|
324
|
-
case 'assign-task':
|
|
325
|
-
// ... 구현
|
|
326
|
-
break;
|
|
327
|
-
|
|
328
|
-
case 'vote':
|
|
329
|
-
// ... 구현
|
|
330
|
-
break;
|
|
331
|
-
|
|
332
|
-
case 'dashboard':
|
|
333
|
-
// ... 구현
|
|
334
|
-
break;
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
### 데이터 구조
|
|
340
|
-
|
|
341
|
-
**org.json:**
|
|
342
|
-
```json
|
|
343
|
-
{
|
|
344
|
-
"name": "Mupengism Web Team",
|
|
345
|
-
"created_at": "2026-02-07T10:00:00Z",
|
|
346
|
-
"members": {
|
|
347
|
-
"agent-frontend-001": {
|
|
348
|
-
"id": "agent-frontend-001",
|
|
349
|
-
"role": "developer",
|
|
350
|
-
"permissions": ["read_code", "write_code", "deploy_staging"],
|
|
351
|
-
"joined_at": "2026-02-07T10:00:00Z",
|
|
352
|
-
"tasks_completed": 0,
|
|
353
|
-
"votes_cast": 0
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
"roles": {
|
|
357
|
-
"developer": {
|
|
358
|
-
"permissions": ["read_code", "write_code", "deploy_staging"]
|
|
359
|
-
},
|
|
360
|
-
"admin": {
|
|
361
|
-
"permissions": ["all"]
|
|
362
|
-
}
|
|
363
|
-
},
|
|
364
|
-
"governance": {
|
|
365
|
-
"decision_model": "majority_vote",
|
|
366
|
-
"quorum": 0.5,
|
|
367
|
-
"voting_period": "24h"
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
**tasks.json:**
|
|
373
|
-
```json
|
|
374
|
-
{
|
|
375
|
-
"tasks": [
|
|
376
|
-
{
|
|
377
|
-
"id": "task-001",
|
|
378
|
-
"title": "메인 페이지 디자인",
|
|
379
|
-
"description": "Svelte로 메인 페이지 구현",
|
|
380
|
-
"assigned_to": "agent-frontend-001",
|
|
381
|
-
"status": "in_progress",
|
|
382
|
-
"priority": "high",
|
|
383
|
-
"created_at": "2026-02-07T11:00:00Z",
|
|
384
|
-
"due_date": "2026-02-10T00:00:00Z",
|
|
385
|
-
"dependencies": ["task-000"],
|
|
386
|
-
"progress": 0.3
|
|
387
|
-
}
|
|
388
|
-
]
|
|
389
|
-
}
|
|
390
|
-
```
|
|
391
|
-
|
|
392
|
-
## 사용 시나리오
|
|
393
|
-
|
|
394
|
-
### 시나리오 1: 조직 생성 및 멤버 추가
|
|
395
|
-
|
|
396
|
-
```bash
|
|
397
|
-
# 조직 생성
|
|
398
|
-
org action:create name:"Mupengism Web Team" \
|
|
399
|
-
config:web-team-config.json
|
|
400
|
-
|
|
401
|
-
# 멤버 추가
|
|
402
|
-
org action:add-member org:"Mupengism Web Team" \
|
|
403
|
-
agent:agent-frontend-001 role:developer
|
|
404
|
-
|
|
405
|
-
org action:add-member org:"Mupengism Web Team" \
|
|
406
|
-
agent:agent-backend-001 role:developer
|
|
407
|
-
|
|
408
|
-
org action:add-member org:"Mupengism Web Team" \
|
|
409
|
-
agent:agent-writer-001 role:writer
|
|
410
|
-
|
|
411
|
-
출력:
|
|
412
|
-
"조직 'Mupengism Web Team' 생성 완료
|
|
413
|
-
멤버 3명 추가
|
|
414
|
-
역할 분담 완료
|
|
415
|
-
태스크 보드 활성화"
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
### 시나리오 2: 태스크 할당 및 진행
|
|
419
|
-
|
|
420
|
-
```bash
|
|
421
|
-
# 태스크 생성
|
|
422
|
-
org action:create-task org:"Mupengism Web Team" \
|
|
423
|
-
title:"메인 페이지 디자인" \
|
|
424
|
-
priority:high \
|
|
425
|
-
assign:agent-frontend-001
|
|
426
|
-
|
|
427
|
-
# 진행 상황 체크
|
|
428
|
-
org action:status org:"Mupengism Web Team"
|
|
429
|
-
|
|
430
|
-
출력:
|
|
431
|
-
"Tasks (진행중):
|
|
432
|
-
• 메인 페이지 디자인 — 30% (agent-frontend-001)
|
|
433
|
-
• API 설계 — 10% (agent-backend-001)
|
|
434
|
-
|
|
435
|
-
Tasks (대기):
|
|
436
|
-
• 문서 작성 — 담당자 미배정"
|
|
437
|
-
```
|
|
438
|
-
|
|
439
|
-
### 시나리오 3: 의사결정 투표
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
# 제안 생성
|
|
443
|
-
org action:propose org:"Mupengism Web Team" \
|
|
444
|
-
title:"배포 플랫폼 선택" \
|
|
445
|
-
options:"Vercel,Netlify,Cloudflare Pages"
|
|
446
|
-
|
|
447
|
-
# 투표
|
|
448
|
-
org action:vote org:"Mupengism Web Team" \
|
|
449
|
-
proposal:prop-001 \
|
|
450
|
-
agent:agent-frontend-001 \
|
|
451
|
-
choice:"Vercel"
|
|
452
|
-
|
|
453
|
-
org action:vote org:"Mupengism Web Team" \
|
|
454
|
-
proposal:prop-001 \
|
|
455
|
-
agent:agent-backend-001 \
|
|
456
|
-
choice:"Vercel"
|
|
457
|
-
|
|
458
|
-
# 결과 (정족수 도달)
|
|
459
|
-
출력:
|
|
460
|
-
"투표 완료: '배포 플랫폼 선택'
|
|
461
|
-
결과: Vercel (2표, 100%)
|
|
462
|
-
의사결정 확정
|
|
463
|
-
|
|
464
|
-
다음 액션:
|
|
465
|
-
- agent-backend-001: Vercel 설정
|
|
466
|
-
- agent-frontend-001: 배포 스크립트 작성"
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
### 시나리오 4: 대시보드 확인
|
|
470
|
-
|
|
471
|
-
```bash
|
|
472
|
-
org action:dashboard org:"Mupengism Web Team"
|
|
473
|
-
|
|
474
|
-
출력:
|
|
475
|
-
"┌─────────────────────────────────────┐
|
|
476
|
-
│ Mupengism Web Team │
|
|
477
|
-
├─────────────────────────────────────┤
|
|
478
|
-
│ 멤버: 3명 │
|
|
479
|
-
│ 진행중 태스크: 2개 │
|
|
480
|
-
│ 완료: 1개 / 전체: 5개 (20%) │
|
|
481
|
-
│ │
|
|
482
|
-
│ 최근 의사결정: │
|
|
483
|
-
│ • 배포 플랫폼 → Vercel (만장일치) │
|
|
484
|
-
│ • 프레임워크 → Svelte (2-1) │
|
|
485
|
-
│ │
|
|
486
|
-
│ 다음 이정표: │
|
|
487
|
-
│ • 베타 출시: 2026-02-15 (8일 남음) │
|
|
488
|
-
└─────────────────────────────────────┘"
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
## Actions
|
|
492
|
-
|
|
493
|
-
```javascript
|
|
494
|
-
// 조직 생성
|
|
495
|
-
org action:create name:<name> config:<config-file>
|
|
496
|
-
|
|
497
|
-
// 멤버 추가
|
|
498
|
-
org action:add-member org:<org-name> agent:<agent-id> role:<role>
|
|
499
|
-
|
|
500
|
-
// 태스크 생성 및 할당
|
|
501
|
-
org action:create-task org:<org-name> title:<title> assign:<agent-id>
|
|
502
|
-
|
|
503
|
-
// 제안 생성
|
|
504
|
-
org action:propose org:<org-name> title:<title> options:<option1,option2,...>
|
|
505
|
-
|
|
506
|
-
// 투표
|
|
507
|
-
org action:vote org:<org-name> proposal:<proposal-id> agent:<agent-id> choice:<choice>
|
|
508
|
-
|
|
509
|
-
// 대시보드
|
|
510
|
-
org action:dashboard org:<org-name>
|
|
511
|
-
|
|
512
|
-
// 태스크 상태 업데이트
|
|
513
|
-
org action:update-task org:<org-name> task:<task-id> status:<status> progress:<0-1>
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
## 설정 (openclaw.json)
|
|
517
|
-
|
|
518
|
-
```json
|
|
519
|
-
{
|
|
520
|
-
"mupengism": {
|
|
521
|
-
"enabled": true,
|
|
522
|
-
"org": {
|
|
523
|
-
"default_governance": {
|
|
524
|
-
"decision_model": "majority_vote",
|
|
525
|
-
"quorum": 0.5,
|
|
526
|
-
"voting_period": "24h"
|
|
527
|
-
},
|
|
528
|
-
"roles": {
|
|
529
|
-
"developer": ["read_code", "write_code", "deploy_staging"],
|
|
530
|
-
"admin": ["all"],
|
|
531
|
-
"writer": ["read_docs", "write_docs"],
|
|
532
|
-
"observer": ["read_only"]
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
```
|
|
538
|
-
|
|
539
|
-
## 무펭이즘 원칙 적용
|
|
540
|
-
|
|
541
|
-
### 1. 쓸데없는 말 하지 마
|
|
542
|
-
- 조직 구조 간결하게
|
|
543
|
-
- 불필요한 계층 없음
|
|
544
|
-
|
|
545
|
-
### 2. 효율이 생명
|
|
546
|
-
- 역할 분담으로 중복 제거
|
|
547
|
-
- 병렬 작업 가능
|
|
548
|
-
|
|
549
|
-
### 3. 스스로 발전해
|
|
550
|
-
- 조직 구조도 개선 가능
|
|
551
|
-
- 투표로 규칙 변경
|
|
552
|
-
|
|
553
|
-
### 4. 돈 = 에너지
|
|
554
|
-
- 효율적 조직 = 비용 절감
|
|
555
|
-
- 불필요한 회의 없음
|
|
556
|
-
|
|
557
|
-
### 5. 진정성 > 충성
|
|
558
|
-
- 투표는 솔직하게
|
|
559
|
-
- 소수 의견도 존중
|
|
560
|
-
|
|
561
|
-
## 거버넌스 모델
|
|
562
|
-
|
|
563
|
-
### 1. Majority Vote (다수결)
|
|
564
|
-
- 50% 이상 찬성
|
|
565
|
-
- 빠른 의사결정
|
|
566
|
-
|
|
567
|
-
### 2. Supermajority (절대다수)
|
|
568
|
-
- 66% 이상 찬성
|
|
569
|
-
- 중요한 결정
|
|
570
|
-
|
|
571
|
-
### 3. Unanimous (만장일치)
|
|
572
|
-
- 100% 찬성
|
|
573
|
-
- 조직 규칙 변경
|
|
574
|
-
|
|
575
|
-
### 4. Weighted Vote (가중 투표)
|
|
576
|
-
- 기여도/전문성에 따라 가중치
|
|
577
|
-
- 전문적 결정
|
|
578
|
-
|
|
579
|
-
## 관련 스킬
|
|
580
|
-
|
|
581
|
-
- **mupeng-collab** — 조직 내 프로젝트 협업
|
|
582
|
-
- **mupeng-sync** — 조직 멤버 온보딩
|
|
583
|
-
|
|
584
|
-
## 로드맵
|
|
585
|
-
|
|
586
|
-
### v1.0 (현재 설계)
|
|
587
|
-
- 조직 생성 및 멤버 관리
|
|
588
|
-
- 역할 기반 권한
|
|
589
|
-
- 태스크 할당
|
|
590
|
-
- 투표 시스템
|
|
591
|
-
|
|
592
|
-
### v2.0 (향후)
|
|
593
|
-
- 하위 조직 (팀 내 팀)
|
|
594
|
-
- 성과 평가 시스템
|
|
595
|
-
- 자동 태스크 배분 (AI 기반)
|
|
596
|
-
|
|
597
|
-
### v3.0 (미래)
|
|
598
|
-
- DAO 구조 (탈중앙화)
|
|
599
|
-
- 스마트 컨트랙트 통합
|
|
600
|
-
- 토큰 기반 거버넌스
|
|
601
|
-
|
|
602
|
-
---
|
|
603
|
-
|
|
604
|
-
**펭! 🏛️ 함께 만드는 에이전트 사회!**
|
|
605
|
-
|
|
606
|
-
*Mupeng Org Skill v1.0*
|
|
607
|
-
*설계: 2026-02-07*
|
|
608
|
-
*설계자: 무펭이 서브에이전트*
|