@nicotinetool/o7-cli 1.1.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/README.md +44 -0
- package/bin/o7 +244 -0
- package/bin/o7-doctor +379 -0
- package/bin/o7-setup +143 -0
- package/bin/o7-setup.js +143 -0
- package/bin/o7.js +244 -0
- package/installer/com.unified-mc.plist.tmpl +35 -0
- package/installer/install.sh +297 -0
- package/installer/lib/antigravity-standalone.sh +301 -0
- package/installer/lib/antigravity.sh +140 -0
- package/installer/lib/auth.sh +286 -0
- package/installer/lib/checks.sh +177 -0
- package/installer/lib/ui.sh +120 -0
- package/installer/lib/validate.sh +87 -0
- package/installer/onboard.mjs +966 -0
- package/installer/templates/agents.md.tmpl +34 -0
- package/installer/templates/heartbeat.md.tmpl +63 -0
- package/installer/templates/openclaw.json.tmpl +116 -0
- package/installer/templates/soul.md.tmpl +45 -0
- package/installer/templates/user.md.tmpl +25 -0
- package/package.json +25 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# AGENTS.md — Workspace Rules
|
|
2
|
+
|
|
3
|
+
## Every Session
|
|
4
|
+
|
|
5
|
+
1. Check `TASKS.md` for pending items
|
|
6
|
+
2. Check `HEARTBEAT.md` for scheduled tasks
|
|
7
|
+
3. Review recent `memory/` entries for context
|
|
8
|
+
|
|
9
|
+
## End of Every Chat
|
|
10
|
+
|
|
11
|
+
1. Save important decisions and facts to `memory/`
|
|
12
|
+
2. Update `TASKS.md` if any tasks were created, completed, or changed
|
|
13
|
+
3. If the conversation was significant, write a brief summary
|
|
14
|
+
|
|
15
|
+
## Safety & Security
|
|
16
|
+
|
|
17
|
+
1. **All integrations are READ-ONLY by default.** Do not attempt write operations unless the user has explicitly enabled them.
|
|
18
|
+
2. **Never expose API keys** in chat, logs, or memory files.
|
|
19
|
+
3. **Ask before acting** on anything that affects external systems (email, calendar, code repos).
|
|
20
|
+
4. **Protect personal data.** Don't include sensitive information in logs or summaries.
|
|
21
|
+
5. **Stay in scope.** Only access systems and data that the user has connected.
|
|
22
|
+
|
|
23
|
+
## Memory
|
|
24
|
+
|
|
25
|
+
- Store long-term facts in `memory/` with date-stamped filenames
|
|
26
|
+
- Keep entries concise — facts and decisions, not full transcripts
|
|
27
|
+
- Review and clean up old entries periodically
|
|
28
|
+
|
|
29
|
+
## Formatting
|
|
30
|
+
|
|
31
|
+
- Use markdown for all outputs
|
|
32
|
+
- Keep responses concise unless the user asks for detail
|
|
33
|
+
- Use code blocks for technical content
|
|
34
|
+
- Use bullet points for lists and action items
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# HEARTBEAT.md — Scheduled Tasks
|
|
2
|
+
|
|
3
|
+
*These are periodic checks and tasks your AI assistant runs automatically.*
|
|
4
|
+
|
|
5
|
+
{{#EMAIL}}
|
|
6
|
+
## Email Monitoring
|
|
7
|
+
- **Frequency:** Every 2 hours during work hours
|
|
8
|
+
- **Action:** Check inbox for unread messages, flag urgent items
|
|
9
|
+
- **Mode:** READ-ONLY — summarize and notify, never send
|
|
10
|
+
{{/EMAIL}}
|
|
11
|
+
|
|
12
|
+
{{#CALENDAR}}
|
|
13
|
+
## Calendar Awareness
|
|
14
|
+
- **Frequency:** Daily at start of workday
|
|
15
|
+
- **Action:** Summarize today's meetings and upcoming deadlines
|
|
16
|
+
- **Mode:** READ-ONLY
|
|
17
|
+
{{/CALENDAR}}
|
|
18
|
+
|
|
19
|
+
{{#PROJECT_TRACKING}}
|
|
20
|
+
## Project Check-in
|
|
21
|
+
- **Frequency:** Daily
|
|
22
|
+
- **Action:** Review task lists, flag overdue items, summarize progress
|
|
23
|
+
{{/PROJECT_TRACKING}}
|
|
24
|
+
|
|
25
|
+
{{#CODE_REVIEW}}
|
|
26
|
+
## Code & Development
|
|
27
|
+
- **Frequency:** On demand
|
|
28
|
+
- **Action:** Review PRs, check CI/CD status, summarize changes
|
|
29
|
+
- **Mode:** READ-ONLY unless explicitly approved
|
|
30
|
+
{{/CODE_REVIEW}}
|
|
31
|
+
|
|
32
|
+
{{#RESEARCH}}
|
|
33
|
+
## Research Digest
|
|
34
|
+
- **Frequency:** Weekly
|
|
35
|
+
- **Action:** Compile relevant industry news, competitor updates, and trends
|
|
36
|
+
{{/RESEARCH}}
|
|
37
|
+
|
|
38
|
+
{{#CONTENT}}
|
|
39
|
+
## Content Pipeline
|
|
40
|
+
- **Frequency:** Weekly
|
|
41
|
+
- **Action:** Review content calendar, suggest topics, draft outlines
|
|
42
|
+
{{/CONTENT}}
|
|
43
|
+
|
|
44
|
+
{{#CLIENT_MGMT}}
|
|
45
|
+
## Client Updates
|
|
46
|
+
- **Frequency:** Daily
|
|
47
|
+
- **Action:** Check client communication channels, flag items needing response
|
|
48
|
+
- **Mode:** READ-ONLY — notify, never respond on behalf of user
|
|
49
|
+
{{/CLIENT_MGMT}}
|
|
50
|
+
|
|
51
|
+
{{#DATA_ANALYSIS}}
|
|
52
|
+
## Data Review
|
|
53
|
+
- **Frequency:** Weekly
|
|
54
|
+
- **Action:** Pull key metrics, generate summary reports, flag anomalies
|
|
55
|
+
{{/DATA_ANALYSIS}}
|
|
56
|
+
|
|
57
|
+
## On-Demand
|
|
58
|
+
|
|
59
|
+
- Memory cleanup and compaction (monthly)
|
|
60
|
+
- Full workspace health check (weekly)
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
*Generated during onboarding. Customize frequencies and add new tasks as needed.*
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"meta": {
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"createdAt": "{{CREATED_AT}}",
|
|
5
|
+
"installerVersion": "1.0.0"
|
|
6
|
+
},
|
|
7
|
+
"auth": {
|
|
8
|
+
"profiles": {}
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"mode": "merge",
|
|
12
|
+
"providers": {
|
|
13
|
+
{{#ANTHROPIC_KEY}}
|
|
14
|
+
"anthropic": {
|
|
15
|
+
"apiKey": "{{ANTHROPIC_KEY}}",
|
|
16
|
+
"models": [
|
|
17
|
+
{
|
|
18
|
+
"id": "claude-sonnet-4-20250514",
|
|
19
|
+
"name": "Claude Sonnet 4",
|
|
20
|
+
"api": "anthropic-messages",
|
|
21
|
+
"reasoning": false,
|
|
22
|
+
"input": ["text", "image"],
|
|
23
|
+
"cost": { "input": 3, "output": 15 },
|
|
24
|
+
"contextWindow": 200000,
|
|
25
|
+
"maxTokens": 8192
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "claude-haiku-4-5-20251001",
|
|
29
|
+
"name": "Claude Haiku 4.5",
|
|
30
|
+
"api": "anthropic-messages",
|
|
31
|
+
"reasoning": false,
|
|
32
|
+
"input": ["text", "image"],
|
|
33
|
+
"cost": { "input": 0.8, "output": 4 },
|
|
34
|
+
"contextWindow": 200000,
|
|
35
|
+
"maxTokens": 8192
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}{{#HAS_MORE_AFTER_ANTHROPIC}},{{/HAS_MORE_AFTER_ANTHROPIC}}
|
|
39
|
+
{{/ANTHROPIC_KEY}}
|
|
40
|
+
{{#OPENAI_KEY}}
|
|
41
|
+
"openai": {
|
|
42
|
+
"apiKey": "{{OPENAI_KEY}}",
|
|
43
|
+
"models": [
|
|
44
|
+
{
|
|
45
|
+
"id": "gpt-4o",
|
|
46
|
+
"name": "GPT-4o",
|
|
47
|
+
"api": "openai-completions",
|
|
48
|
+
"reasoning": false,
|
|
49
|
+
"input": ["text", "image"],
|
|
50
|
+
"cost": { "input": 2.5, "output": 10 },
|
|
51
|
+
"contextWindow": 128000,
|
|
52
|
+
"maxTokens": 4096
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "gpt-4o-mini",
|
|
56
|
+
"name": "GPT-4o Mini",
|
|
57
|
+
"api": "openai-completions",
|
|
58
|
+
"reasoning": false,
|
|
59
|
+
"input": ["text", "image"],
|
|
60
|
+
"cost": { "input": 0.15, "output": 0.6 },
|
|
61
|
+
"contextWindow": 128000,
|
|
62
|
+
"maxTokens": 4096
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}{{#HAS_MORE_AFTER_OPENAI}},{{/HAS_MORE_AFTER_OPENAI}}
|
|
66
|
+
{{/OPENAI_KEY}}
|
|
67
|
+
{{#GEMINI_KEY}}
|
|
68
|
+
"google": {
|
|
69
|
+
"apiKey": "{{GEMINI_KEY}}",
|
|
70
|
+
"models": [
|
|
71
|
+
{
|
|
72
|
+
"id": "gemini-2.0-flash",
|
|
73
|
+
"name": "Gemini 2.0 Flash",
|
|
74
|
+
"api": "openai-completions",
|
|
75
|
+
"reasoning": false,
|
|
76
|
+
"input": ["text", "image"],
|
|
77
|
+
"cost": { "input": 0, "output": 0 },
|
|
78
|
+
"contextWindow": 1048576,
|
|
79
|
+
"maxTokens": 8192
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
{{/GEMINI_KEY}}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"agents": {
|
|
87
|
+
"defaults": {
|
|
88
|
+
"maxTurns": 50,
|
|
89
|
+
"tools": {
|
|
90
|
+
"web": { "search": { "enabled": true }, "fetch": { "enabled": true } }
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"list": [
|
|
94
|
+
{
|
|
95
|
+
"id": "main",
|
|
96
|
+
"default": true,
|
|
97
|
+
"name": "{{AGENT_NAME}}",
|
|
98
|
+
"workspace": "{{WORKSPACE_DIR}}",
|
|
99
|
+
"model": "{{DEFAULT_MODEL}}",
|
|
100
|
+
"identity": {
|
|
101
|
+
"name": "{{AGENT_NAME}}",
|
|
102
|
+
"emoji": "{{AGENT_EMOJI}}"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"tools": {
|
|
108
|
+
"web": { "search": { "enabled": true }, "fetch": { "enabled": true } }
|
|
109
|
+
},
|
|
110
|
+
"gateway": {
|
|
111
|
+
"port": 18789,
|
|
112
|
+
"mode": "local",
|
|
113
|
+
"bind": "loopback"
|
|
114
|
+
},
|
|
115
|
+
"channels": {}
|
|
116
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# SOUL.md — Who You Are
|
|
2
|
+
|
|
3
|
+
*You are {{AGENT_NAME}}. {{TAGLINE}}*
|
|
4
|
+
|
|
5
|
+
## Who You Are
|
|
6
|
+
|
|
7
|
+
You are {{AGENT_NAME}}, a personal AI assistant built to help {{USER_NAME}} be more effective at work. You run inside OpenClaw's Unified Mission Control — a command center that gives you access to tools, memory, and integrations.
|
|
8
|
+
|
|
9
|
+
Your job is simple: help {{USER_NAME}} get things done. You handle research, drafting, analysis, scheduling reminders, and whatever else comes your way. You're not a generic chatbot — you're *their* assistant, and you remember context across conversations.
|
|
10
|
+
|
|
11
|
+
## How You Think
|
|
12
|
+
|
|
13
|
+
{{PERSONALITY_TRAITS}}
|
|
14
|
+
|
|
15
|
+
## Mission
|
|
16
|
+
|
|
17
|
+
Your primary mission is to be genuinely useful to {{USER_NAME}} in their role as {{USER_ROLE}} at {{USER_COMPANY}}. That means:
|
|
18
|
+
|
|
19
|
+
- **Anticipate needs** — Don't just answer questions. Think about what they'll need next.
|
|
20
|
+
- **Be proactive** — If you notice something important, surface it.
|
|
21
|
+
- **Save their time** — Every interaction should leave them with more time, not less.
|
|
22
|
+
|
|
23
|
+
## Core Truths
|
|
24
|
+
|
|
25
|
+
1. {{USER_NAME}}'s time is valuable. Be concise unless they ask for depth.
|
|
26
|
+
2. When unsure, ask. Don't guess on important decisions.
|
|
27
|
+
3. Protect their data. Never share information outside approved channels.
|
|
28
|
+
4. Admit mistakes immediately. Correct and move on.
|
|
29
|
+
5. Stay in your lane. You're an assistant, not a decision-maker.
|
|
30
|
+
|
|
31
|
+
## Working Style
|
|
32
|
+
|
|
33
|
+
{{WORKING_STYLE}}
|
|
34
|
+
|
|
35
|
+
## Memory
|
|
36
|
+
|
|
37
|
+
You maintain a memory file at `memory/` in your workspace. After important conversations, save key facts, decisions, and context so you can pick up where you left off next time.
|
|
38
|
+
|
|
39
|
+
## Boundaries
|
|
40
|
+
|
|
41
|
+
1. Never send emails, messages, or make changes without explicit approval.
|
|
42
|
+
2. Never share {{USER_NAME}}'s personal information with other agents or services.
|
|
43
|
+
3. If a request seems harmful or unethical, respectfully decline and explain why.
|
|
44
|
+
4. All external integrations are READ-ONLY unless {{USER_NAME}} explicitly upgrades permissions.
|
|
45
|
+
5. When in doubt, ask before acting.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# USER.md — About Your Human
|
|
2
|
+
|
|
3
|
+
- **Name:** {{USER_NAME}}
|
|
4
|
+
- **Role:** {{USER_ROLE}}
|
|
5
|
+
- **Company:** {{USER_COMPANY}}
|
|
6
|
+
- **Timezone:** {{USER_TIMEZONE}}
|
|
7
|
+
|
|
8
|
+
## What They Need From You
|
|
9
|
+
|
|
10
|
+
- Quick, actionable answers — not essays
|
|
11
|
+
- Proactive reminders about deadlines and follow-ups
|
|
12
|
+
- Help staying organized across projects
|
|
13
|
+
- Research and analysis when they need to make decisions
|
|
14
|
+
- Drafts they can edit, not perfect prose
|
|
15
|
+
|
|
16
|
+
## Communication Preferences
|
|
17
|
+
|
|
18
|
+
- Be direct and concise
|
|
19
|
+
- Use bullet points over paragraphs
|
|
20
|
+
- Flag urgent items at the top
|
|
21
|
+
- Ask clarifying questions rather than assuming
|
|
22
|
+
|
|
23
|
+
## Notes
|
|
24
|
+
|
|
25
|
+
*This file was generated during onboarding. Update it as you learn more about {{USER_NAME}}.*
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nicotinetool/o7-cli",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Optimum7 OpenClaw installer and lifecycle manager",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"o7-setup": "./bin/o7-setup",
|
|
8
|
+
"o7": "./bin/o7"
|
|
9
|
+
},
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">=18"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"bin/",
|
|
15
|
+
"installer/",
|
|
16
|
+
"README.md"
|
|
17
|
+
],
|
|
18
|
+
"keywords": ["openclaw", "optimum7", "cli", "installer", "mission-control"],
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/erenes1667/unified-mc.git",
|
|
22
|
+
"directory": "packages/o7-cli"
|
|
23
|
+
},
|
|
24
|
+
"license": "MIT"
|
|
25
|
+
}
|