openclacky 0.7.9 → 0.8.1
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.
- checksums.yaml +4 -4
- data/.clacky/skills/gem-release/SKILL.md +33 -4
- data/CHANGELOG.md +54 -0
- data/README.md +66 -67
- data/docs/openclacky_cloud_api_reference.md +584 -0
- data/lib/clacky/agent/hook_manager.rb +1 -1
- data/lib/clacky/agent/memory_updater.rb +146 -0
- data/lib/clacky/agent/message_compressor.rb +12 -4
- data/lib/clacky/agent/message_compressor_helper.rb +139 -2
- data/lib/clacky/agent/session_serializer.rb +2 -1
- data/lib/clacky/agent/skill_manager.rb +106 -10
- data/lib/clacky/agent/system_prompt_builder.rb +57 -89
- data/lib/clacky/agent/tool_executor.rb +13 -1
- data/lib/clacky/agent.rb +44 -10
- data/lib/clacky/agent_config.rb +9 -9
- data/lib/clacky/agent_profile.rb +118 -0
- data/lib/clacky/brand_config.rb +582 -0
- data/lib/clacky/cli.rb +116 -13
- data/lib/clacky/default_agents/SOUL.md +3 -0
- data/lib/clacky/default_agents/USER.md +1 -0
- data/lib/clacky/default_agents/base_prompt.md +33 -0
- data/lib/clacky/default_agents/coding/profile.yml +12 -0
- data/lib/clacky/default_agents/coding/system_prompt.md +17 -0
- data/lib/clacky/default_agents/general/profile.yml +7 -0
- data/lib/clacky/default_agents/general/system_prompt.md +16 -0
- data/lib/clacky/default_skills/recall-memory/SKILL.md +66 -0
- data/lib/clacky/server/http_server.rb +316 -23
- data/lib/clacky/server/scheduler.rb +8 -10
- data/lib/clacky/server/session_registry.rb +3 -3
- data/lib/clacky/server/web_ui_controller.rb +20 -1
- data/lib/clacky/session_manager.rb +23 -8
- data/lib/clacky/skill.rb +120 -11
- data/lib/clacky/skill_loader.rb +77 -8
- data/lib/clacky/tools/browser.rb +212 -0
- data/lib/clacky/tools/edit.rb +1 -1
- data/lib/clacky/tools/file_reader.rb +14 -3
- data/lib/clacky/tools/glob.rb +11 -3
- data/lib/clacky/tools/grep.rb +4 -3
- data/lib/clacky/tools/invoke_skill.rb +8 -8
- data/lib/clacky/tools/request_user_feedback.rb +1 -1
- data/lib/clacky/tools/run_project.rb +4 -2
- data/lib/clacky/tools/safe_shell.rb +7 -7
- data/lib/clacky/tools/shell.rb +6 -2
- data/lib/clacky/tools/todo_manager.rb +1 -1
- data/lib/clacky/tools/trash_manager.rb +2 -2
- data/lib/clacky/tools/web_fetch.rb +1 -1
- data/lib/clacky/tools/web_search.rb +1 -1
- data/lib/clacky/tools/write.rb +1 -1
- data/lib/clacky/ui2/components/command_suggestions.rb +7 -3
- data/lib/clacky/ui2/components/input_area.rb +3 -2
- data/lib/clacky/ui2/components/welcome_banner.rb +69 -19
- data/lib/clacky/ui2/ui_controller.rb +3 -2
- data/lib/clacky/utils/file_ignore_helper.rb +1 -1
- data/lib/clacky/utils/logger.rb +97 -0
- data/lib/clacky/version.rb +1 -1
- data/lib/clacky/web/app.css +400 -0
- data/lib/clacky/web/app.js +198 -16
- data/lib/clacky/web/brand.js +157 -0
- data/lib/clacky/web/index.html +89 -9
- data/lib/clacky/web/onboard.js +5 -1
- data/lib/clacky/web/sessions.js +195 -17
- data/lib/clacky/web/settings.js +131 -1
- data/lib/clacky/web/skills.js +175 -10
- data/lib/clacky/web/tasks.js +15 -8
- data/lib/clacky.rb +3 -0
- data/scripts/install.sh +251 -7
- metadata +30 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 570945e2d68d70788a86ecdbd7a21ed30dfcb34d975b8808218e657826108252
|
|
4
|
+
data.tar.gz: 99feeab9141a907658b65eefe3df5cbff69334ab3143db54b72a3d46128b27cd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d2cb4c26ec397a9ee146562bcf9490ea1021937fc0a150e355d1880d2b2f9a0fc11a24e0694e5d611ccdbcda1d472c94acc67c5beeb869a141937ce12ec89bee
|
|
7
|
+
data.tar.gz: a495aca929f8cee417fb5ae033068faee73f87fd879f715d20ed05216ba6657968a02354b147c7076d054cf6ba5c970ddb0e98cdffc89adfaaedd6ee308d9cd0
|
|
@@ -190,10 +190,38 @@ To use this skill, simply say:
|
|
|
190
190
|
- Commit CHANGELOG.md changes
|
|
191
191
|
- Push to remote repository
|
|
192
192
|
|
|
193
|
-
### 7. Final
|
|
194
|
-
|
|
195
|
-
-
|
|
196
|
-
|
|
193
|
+
### 7. Final Summary
|
|
194
|
+
|
|
195
|
+
Present a clear, user-facing release summary after all steps complete:
|
|
196
|
+
|
|
197
|
+
**Format:**
|
|
198
|
+
```
|
|
199
|
+
🎉 v{version} released successfully!
|
|
200
|
+
|
|
201
|
+
📦 What's new for users:
|
|
202
|
+
|
|
203
|
+
**New Features**
|
|
204
|
+
- [translate each "Added" item into plain user-facing language]
|
|
205
|
+
|
|
206
|
+
**Improvements**
|
|
207
|
+
- [translate each "Improved" item into plain user-facing language]
|
|
208
|
+
|
|
209
|
+
**Bug Fixes**
|
|
210
|
+
- [translate each "Fixed" item into plain user-facing language]
|
|
211
|
+
|
|
212
|
+
🔗 Links:
|
|
213
|
+
- RubyGems: https://rubygems.org/gems/openclacky/versions/{version}
|
|
214
|
+
- GitHub Release: https://github.com/clacky-ai/open-clacky/releases/tag/v{version}
|
|
215
|
+
|
|
216
|
+
Install/upgrade: gem install openclacky
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Rules for writing the summary:**
|
|
220
|
+
- Write from the user's perspective — what can they now do, or what problem is now fixed
|
|
221
|
+
- Avoid technical jargon (no "cursor-paginated", "frontmatter", "REST API" — explain what it means instead)
|
|
222
|
+
- Skip "More" / chore items unless they directly affect users
|
|
223
|
+
- Keep each bullet to one sentence, action-oriented
|
|
224
|
+
- Example translation: `fix: expand ~ in file system tools path arguments` → "File paths starting with `~` (home directory) now work correctly in all file tools"
|
|
197
225
|
|
|
198
226
|
## Commands Used
|
|
199
227
|
|
|
@@ -248,6 +276,7 @@ gh release create vX.Y.Z \
|
|
|
248
276
|
- CHANGELOG.md updated with release notes
|
|
249
277
|
- GitHub Release created and visible at https://github.com/clacky-ai/open-clacky/releases
|
|
250
278
|
- No build or deployment errors
|
|
279
|
+
- User-facing release summary presented at the end
|
|
251
280
|
|
|
252
281
|
## Error Handling
|
|
253
282
|
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.8.1] - 2026-03-09
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Agent profile system**: define named agent profiles (`--agent coding|general`) with custom system prompts and skill whitelists via `profile.yml`; built-in `coding` and `general` profiles included
|
|
14
|
+
- **Skill autocomplete dropdown** in the web UI: type `/` in the chat input to see a filtered list of available skills
|
|
15
|
+
- **File-based logger** (`Clacky::Logger`): thread-safe structured logging to `~/.clacky/logs/` for debugging agent sessions
|
|
16
|
+
- **Session persistence on startup**: server now restores the most recent session for the working directory automatically on boot
|
|
17
|
+
- **Long-term memory update system**: agent automatically updates `~/.clacky/memories/` after sessions using a whitelist-driven approach
|
|
18
|
+
- **Compressed message archiving**: older messages are compressed and archived to chunk Markdown files to keep context window manageable
|
|
19
|
+
- **Network pre-flight check**: connection is verified before agent starts; helpful VPN/proxy suggestions shown on failure
|
|
20
|
+
- **Encrypted brand skills**: white-label brand skills can now be shipped as encrypted `.enc` files for privacy
|
|
21
|
+
|
|
22
|
+
### Improved
|
|
23
|
+
- Memory update logic tightened with a whitelist approach — only writes memory when explicit criteria are met, reducing noise
|
|
24
|
+
- Memory update threshold raised and prompt made dynamic for more reliable triggering
|
|
25
|
+
- Slash commands in onboarding (`/create-task`, `/skill-add`) now use the pending-message pattern so they work correctly before WS connects
|
|
26
|
+
- Sidebar shows "No sessions yet" placeholder during onboarding
|
|
27
|
+
- Session delete is now optimistic — UI updates immediately without waiting for WS broadcast, and 404 ghost sessions are cleaned up automatically
|
|
28
|
+
- Tool call summaries from `format_call` are now rendered in the web UI for cleaner tool output display
|
|
29
|
+
- Agent error handling and memory update flow stabilized
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
- Create Task / Create Skill buttons during onboarding now correctly send the command after WS connects (previously messages were silently dropped)
|
|
33
|
+
- Pending slash commands are now queued until the session WS subscription is confirmed
|
|
34
|
+
- `working_dir: nil` added to all tool `execute` signatures to fix unknown keyword errors
|
|
35
|
+
|
|
36
|
+
### More
|
|
37
|
+
- `clacky` install script robustness and UX improvements
|
|
38
|
+
- Disabled rdoc/ri generation on gem install for faster installs
|
|
39
|
+
- Strip `.git/.svn/.hg` directories from glob results
|
|
40
|
+
|
|
41
|
+
## [0.8.0] - 2026-03-06
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
- **Browser tool**: AI agent can now control the user's Chrome browser via Chrome DevTools Protocol (CDP) — click, fill forms, take screenshots, scroll, and interact with pages using the user's real login session
|
|
45
|
+
- White-label brand licensing system: customize the web UI with your own name, logo, colors, and skills via `brand_config.yml`
|
|
46
|
+
- Brand skills tab in the web UI with private badge, shown only when brand skills are configured
|
|
47
|
+
- Slash command prompt rule: skill invocations (e.g. `/skill-name`) are now expanded inside the agent at run time, enabling mid-session skill triggering
|
|
48
|
+
|
|
49
|
+
### Improved
|
|
50
|
+
- Server-side brand name rendering eliminates the first-paint brand name flash in the web UI
|
|
51
|
+
- Collapsible tool call blocks in the web UI — long tool outputs are now grouped and collapsed by default
|
|
52
|
+
- `safe_shell` now catches `ArgumentError` in addition to `BadQuotedString` for more robust command parsing
|
|
53
|
+
- Eliminated `Dir.chdir` global state in session handling, fixing race conditions in concurrent sessions
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
- Skill slash commands are now expanded inside `agent.run` so that `/onboard` and similar commands work correctly when triggered mid-session
|
|
57
|
+
- Observer state machine handles `awaiting` state transitions properly
|
|
58
|
+
|
|
59
|
+
### More
|
|
60
|
+
- Disabled ClaudeCode `ANTHROPIC_API_KEY` environment variable fallback in `AgentConfig` for cleaner env isolation
|
|
61
|
+
- Updated gemspec, lockfile, and install script
|
|
62
|
+
- Added web asset syntax specs and brand config specs
|
|
63
|
+
|
|
10
64
|
## [0.7.9] - 2026-03-07
|
|
11
65
|
|
|
12
66
|
### Added
|
data/README.md
CHANGED
|
@@ -6,46 +6,67 @@
|
|
|
6
6
|
[](https://rubygems.org/gems/openclacky)
|
|
7
7
|
[](LICENSE.txt)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
**From expertise to business — turn your professional knowledge into a monetizable OpenClaw Skill.**
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
OpenClacky is the creator-side platform for the OpenClaw ecosystem. Package your methods and workflows into encrypted, white-labeled Skills that your clients install and use — under your name, your brand, your price.
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
## Why OpenClacky?
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
The OpenClaw ecosystem has 5,700+ Skills and growing. But almost all of them are open-sourced, free, and easily copied. The real scarcity isn't more Skills — it's **expertise-backed, production-grade Skills worth paying for**.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
$ openclacky
|
|
19
|
-
```
|
|
17
|
+
OpenClacky is built for the people who have that expertise.
|
|
20
18
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
| | **Openclaw** | **OpenClacky** |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **Core model** | Open sharing | Encrypted & protected |
|
|
22
|
+
| **Primary users** | Users who install Skills | Creators who sell Skills |
|
|
23
|
+
| **Revenue** | None | Creator-defined pricing |
|
|
24
|
+
| **Brand** | Platform brand | Your own brand |
|
|
25
|
+
| **Driven by** | Technical contributors | Domain expertise |
|
|
24
26
|
|
|
25
|
-
##
|
|
27
|
+
## How It Works
|
|
28
|
+
|
|
29
|
+
**Four steps from capability to business:**
|
|
30
|
+
|
|
31
|
+
1. **Craft your Skill** — Turn your domain methodology into a repeatable AI workflow
|
|
32
|
+
2. **Encrypt & protect** — Your logic stays yours; clients can't inspect or copy it
|
|
33
|
+
3. **Package your brand** — Ship under your name, your logo, your onboarding experience
|
|
34
|
+
4. **Launch & acquire** — One-click sales page, built-in SEO, start converting traffic
|
|
35
|
+
|
|
36
|
+
## Who It's For
|
|
26
37
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
| **Dev/Prod Isolation** | ❌ | ❌ | ✅ Automatic |
|
|
35
|
-
| **Automatic Backups** | ❌ | ⚠️ Paid feature | ✅ Built-in |
|
|
36
|
-
| **AI Cost Control** | ❌ Pay per token | ❌ Subscription | ✅ Optimally balanced |
|
|
37
|
-
| **Data Ownership** | ✅ | ❌ Platform-owned | ✅ Fully yours |
|
|
38
|
-
| **Interface** | Terminal | Web UI | Terminal |
|
|
38
|
+
OpenClacky is built for domain experts whose knowledge can be expressed as *information processing + executable actions*:
|
|
39
|
+
|
|
40
|
+
- **SEO specialists** — keyword research, content scoring, rank monitoring
|
|
41
|
+
- **Lawyers** — contract review, case retrieval, risk flagging
|
|
42
|
+
- **Traders** — signal detection, strategy backtesting, automated execution
|
|
43
|
+
- **Data analysts** — cleaning, modeling, report generation
|
|
44
|
+
- **Content strategists** — topic selection, outlines, drafts at scale
|
|
39
45
|
|
|
40
46
|
## Features
|
|
41
47
|
|
|
42
|
-
- [x]
|
|
43
|
-
- [x] **
|
|
44
|
-
- [x] **
|
|
45
|
-
- [x] **
|
|
46
|
-
- [x] **
|
|
48
|
+
- [x] **Skill builder** — Create AI workflows via conversation or UI, iterate and ship fast
|
|
49
|
+
- [x] **Encryption** — Protect your knowledge assets; end users cannot read your Skill source
|
|
50
|
+
- [x] **White-label packaging** — Your brand, your product line, your client experience
|
|
51
|
+
- [x] **Auto-update delivery** — Push updates to all users seamlessly, with version control
|
|
52
|
+
- [x] **Cross-platform distribution** — Windows, macOS, Linux — one Skill, every platform
|
|
53
|
+
- [x] **Sales page generator** — Launch your storefront fast, with built-in SEO foundations
|
|
54
|
+
- [x] **Cost monitoring** — Real-time token tracking, automatic compression (up to 90% savings)
|
|
47
55
|
- [x] **Multi-provider support** — OpenAI, Anthropic, DeepSeek, and any OpenAI-compatible API
|
|
48
|
-
- [ ] **
|
|
56
|
+
- [ ] **Skill marketplace** — Discover and distribute premium Skills *(coming soon)*
|
|
57
|
+
|
|
58
|
+
## Coding Support
|
|
59
|
+
|
|
60
|
+
OpenClacky also works as a general AI coding assistant — scaffold full-stack Rails apps, add features, or explore an unfamiliar codebase:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
$ openclacky
|
|
64
|
+
> /new my-app # scaffold a full-stack Rails app
|
|
65
|
+
> Add user auth with email and password
|
|
66
|
+
> How does the payment module work?
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Built on a production-ready Rails architecture with one-click deployment, dev/prod isolation, and automatic backups.
|
|
49
70
|
|
|
50
71
|
## Installation
|
|
51
72
|
|
|
@@ -63,52 +84,38 @@ $ openclacky
|
|
|
63
84
|
gem install openclacky
|
|
64
85
|
```
|
|
65
86
|
|
|
66
|
-
##
|
|
87
|
+
## Quick Start
|
|
67
88
|
|
|
68
|
-
|
|
89
|
+
### Terminal (CLI)
|
|
69
90
|
|
|
70
91
|
```bash
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
- /config
|
|
92
|
+
openclacky # start interactive agent in current directory
|
|
74
93
|
```
|
|
75
94
|
|
|
76
|
-
|
|
77
|
-
- **API Key**: Your API key from any OpenAI-compatible provider
|
|
78
|
-
- **Model**: Model name
|
|
79
|
-
- **Base URL**: OpenAI-compatible API endpoint
|
|
80
|
-
|
|
81
|
-
## Usage
|
|
82
|
-
|
|
83
|
-
### Scenario 1: Create a new web app
|
|
95
|
+
### Web UI
|
|
84
96
|
|
|
85
97
|
```bash
|
|
86
|
-
|
|
87
|
-
> /new my-blog
|
|
88
|
-
# OpenClacky scaffolds a full-stack Rails app in seconds
|
|
89
|
-
# > Add a posts page with title, content, and author fields
|
|
90
|
-
# > Deploy to production
|
|
91
|
-
# > exit
|
|
98
|
+
openclacky server # start the web server (default: http://localhost:7070)
|
|
92
99
|
```
|
|
93
100
|
|
|
94
|
-
|
|
101
|
+
Then open **http://localhost:7070** in your browser. You'll get a full-featured chat interface with multi-session support — run separate sessions for coding, copywriting, research, and more, all in parallel.
|
|
102
|
+
|
|
103
|
+
Options:
|
|
95
104
|
|
|
96
105
|
```bash
|
|
97
|
-
|
|
98
|
-
#
|
|
99
|
-
# > Write tests for the auth flow
|
|
100
|
-
# > exit
|
|
106
|
+
openclacky server --port 8080 # custom port
|
|
107
|
+
openclacky server --host 0.0.0.0 # listen on all interfaces (e.g. remote access)
|
|
101
108
|
```
|
|
102
109
|
|
|
103
|
-
|
|
110
|
+
## Configuration
|
|
104
111
|
|
|
105
112
|
```bash
|
|
106
113
|
$ openclacky
|
|
107
|
-
|
|
108
|
-
# > Where is the user session managed?
|
|
109
|
-
# > exit
|
|
114
|
+
> /config
|
|
110
115
|
```
|
|
111
116
|
|
|
117
|
+
You'll be prompted to set your **API Key**, **Model**, and **Base URL** (any OpenAI-compatible provider).
|
|
118
|
+
|
|
112
119
|
## Install from Source
|
|
113
120
|
|
|
114
121
|
```bash
|
|
@@ -118,18 +125,10 @@ bundle install
|
|
|
118
125
|
bin/clacky
|
|
119
126
|
```
|
|
120
127
|
|
|
121
|
-
## Development
|
|
122
|
-
|
|
123
|
-
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/clacky` for an interactive prompt that will allow you to experiment.
|
|
124
|
-
|
|
125
128
|
## Contributing
|
|
126
129
|
|
|
127
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/clacky-ai/open-clacky.
|
|
130
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/clacky-ai/open-clacky. Contributors are expected to adhere to the [code of conduct](https://github.com/clacky-ai/open-clacky/blob/main/CODE_OF_CONDUCT.md).
|
|
128
131
|
|
|
129
132
|
## License
|
|
130
133
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
## Code of Conduct
|
|
134
|
-
|
|
135
|
-
Everyone interacting in the OpenClacky project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/clacky-ai/open-clacky/blob/main/CODE_OF_CONDUCT.md).
|
|
134
|
+
Available as open source under the [MIT License](https://opensource.org/licenses/MIT).
|