opc-agent 1.3.2 → 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/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +13 -0
- package/.github/workflows/ci.yml +24 -0
- package/CHANGELOG.md +48 -63
- package/CONTRIBUTING.md +21 -60
- package/README.md +284 -348
- package/README.zh-CN.md +415 -415
- package/dist/channels/slack.js +93 -10
- package/dist/channels/telegram.d.ts +30 -9
- package/dist/channels/telegram.js +125 -33
- package/dist/channels/web.d.ts +10 -0
- package/dist/channels/web.js +33 -2
- package/dist/cli.js +667 -65
- package/dist/core/agent.d.ts +23 -0
- package/dist/core/agent.js +120 -3
- package/dist/core/runtime.d.ts +5 -0
- package/dist/core/runtime.js +71 -0
- package/dist/core/scheduler.d.ts +52 -0
- package/dist/core/scheduler.js +168 -0
- package/dist/core/subagent.d.ts +28 -0
- package/dist/core/subagent.js +65 -0
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.js +134 -0
- package/dist/deploy/hermes.js +22 -22
- package/dist/deploy/openclaw.js +31 -40
- package/dist/index.d.ts +10 -10
- package/dist/index.js +22 -15
- package/dist/providers/index.d.ts +6 -2
- package/dist/providers/index.js +22 -9
- package/dist/schema/oad.d.ts +180 -6
- package/dist/schema/oad.js +12 -1
- package/dist/skills/auto-learn.d.ts +28 -0
- package/dist/skills/auto-learn.js +257 -0
- package/dist/templates/code-reviewer.d.ts +0 -8
- package/dist/templates/code-reviewer.js +5 -9
- package/dist/templates/customer-service.d.ts +0 -8
- package/dist/templates/customer-service.js +2 -6
- package/dist/templates/data-analyst.d.ts +0 -8
- package/dist/templates/data-analyst.js +5 -9
- package/dist/templates/knowledge-base.d.ts +0 -8
- package/dist/templates/knowledge-base.js +2 -6
- package/dist/templates/sales-assistant.d.ts +0 -8
- package/dist/templates/sales-assistant.js +4 -8
- package/dist/templates/teacher.d.ts +0 -8
- package/dist/templates/teacher.js +6 -10
- package/dist/tools/builtin/datetime.d.ts +3 -0
- package/dist/tools/builtin/datetime.js +44 -0
- package/dist/tools/builtin/file.d.ts +3 -0
- package/dist/tools/builtin/file.js +151 -0
- package/dist/tools/builtin/index.d.ts +15 -0
- package/dist/tools/builtin/index.js +30 -0
- package/dist/tools/builtin/shell.d.ts +3 -0
- package/dist/tools/builtin/shell.js +43 -0
- package/dist/tools/builtin/web.d.ts +3 -0
- package/dist/tools/builtin/web.js +37 -0
- package/dist/tools/mcp-client.d.ts +24 -0
- package/dist/tools/mcp-client.js +119 -0
- package/dist/traces/index.d.ts +49 -0
- package/dist/traces/index.js +102 -0
- package/docs/.vitepress/config.ts +103 -103
- package/docs/api/cli.md +48 -48
- package/docs/api/oad-schema.md +64 -64
- package/docs/api/sdk.md +80 -80
- package/docs/guide/concepts.md +51 -51
- package/docs/guide/configuration.md +79 -79
- package/docs/guide/deployment.md +42 -42
- package/docs/guide/getting-started.md +44 -44
- package/docs/guide/templates.md +28 -28
- package/docs/guide/testing.md +84 -84
- package/docs/index.md +27 -27
- package/docs/zh/api/cli.md +54 -54
- package/docs/zh/api/oad-schema.md +87 -87
- package/docs/zh/api/sdk.md +102 -102
- package/docs/zh/guide/concepts.md +104 -104
- package/docs/zh/guide/configuration.md +135 -135
- package/docs/zh/guide/deployment.md +81 -81
- package/docs/zh/guide/getting-started.md +82 -82
- package/docs/zh/guide/templates.md +84 -84
- package/docs/zh/guide/testing.md +88 -88
- package/docs/zh/index.md +27 -27
- package/examples/README.md +22 -0
- package/examples/basic-agent.ts +90 -0
- package/examples/brain-integration.ts +71 -0
- package/examples/customer-service-demo/README.md +90 -90
- package/examples/customer-service-demo/oad.yaml +107 -107
- package/examples/multi-channel.ts +74 -0
- package/package.json +1 -1
- package/src/analytics/index.ts +66 -66
- package/src/channels/discord.ts +192 -192
- package/src/channels/email.ts +177 -177
- package/src/channels/feishu.ts +236 -236
- package/src/channels/index.ts +15 -15
- package/src/channels/slack.ts +217 -160
- package/src/channels/telegram.ts +155 -33
- package/src/channels/voice.ts +106 -106
- package/src/channels/web.ts +38 -2
- package/src/channels/webhook.ts +199 -199
- package/src/channels/websocket.ts +87 -87
- package/src/channels/wechat.ts +149 -149
- package/src/cli.ts +697 -63
- package/src/core/a2a.ts +143 -143
- package/src/core/agent.ts +146 -3
- package/src/core/analytics-engine.ts +186 -186
- package/src/core/auth.ts +57 -57
- package/src/core/cache.ts +141 -141
- package/src/core/compose.ts +77 -77
- package/src/core/config.ts +14 -14
- package/src/core/errors.ts +148 -148
- package/src/core/hitl.ts +138 -138
- package/src/core/logger.ts +57 -57
- package/src/core/orchestrator.ts +215 -215
- package/src/core/performance.ts +187 -187
- package/src/core/rate-limiter.ts +128 -128
- package/src/core/room.ts +109 -109
- package/src/core/runtime.ts +230 -152
- package/src/core/sandbox.ts +101 -101
- package/src/core/scheduler.ts +187 -0
- package/src/core/security.ts +171 -171
- package/src/core/subagent.ts +98 -0
- package/src/core/types.ts +68 -68
- package/src/core/versioning.ts +106 -106
- package/src/core/watch.ts +178 -178
- package/src/core/workflow.ts +235 -235
- package/src/daemon.ts +96 -0
- package/src/deploy/hermes.ts +156 -156
- package/src/deploy/openclaw.ts +190 -200
- package/src/i18n/index.ts +216 -216
- package/src/index.ts +14 -10
- package/src/memory/deepbrain.ts +108 -108
- package/src/memory/index.ts +34 -34
- package/src/plugins/index.ts +208 -208
- package/src/providers/index.ts +354 -331
- package/src/schema/oad.ts +14 -2
- package/src/skills/auto-learn.ts +262 -0
- package/src/skills/base.ts +16 -16
- package/src/skills/document.ts +100 -100
- package/src/skills/http.ts +35 -35
- package/src/skills/index.ts +27 -27
- package/src/skills/scheduler.ts +80 -80
- package/src/skills/webhook-trigger.ts +59 -59
- package/src/templates/code-reviewer.ts +30 -34
- package/src/templates/customer-service.ts +76 -80
- package/src/templates/data-analyst.ts +66 -70
- package/src/templates/executive-assistant.ts +71 -71
- package/src/templates/financial-advisor.ts +60 -60
- package/src/templates/knowledge-base.ts +27 -31
- package/src/templates/legal-assistant.ts +71 -71
- package/src/templates/sales-assistant.ts +75 -79
- package/src/templates/teacher.ts +75 -79
- package/src/testing/index.ts +181 -181
- package/src/tools/builtin/datetime.ts +41 -0
- package/src/tools/builtin/file.ts +107 -0
- package/src/tools/builtin/index.ts +28 -0
- package/src/tools/builtin/shell.ts +43 -0
- package/src/tools/builtin/web.ts +35 -0
- package/src/tools/calculator.ts +73 -73
- package/src/tools/datetime.ts +149 -149
- package/src/tools/json-transform.ts +187 -187
- package/src/tools/mcp-client.ts +131 -0
- package/src/tools/mcp.ts +76 -76
- package/src/tools/text-analysis.ts +116 -116
- package/src/traces/index.ts +132 -0
- package/templates/Dockerfile +15 -15
- package/templates/code-reviewer/README.md +27 -27
- package/templates/code-reviewer/oad.yaml +41 -41
- package/templates/customer-service/README.md +22 -22
- package/templates/customer-service/oad.yaml +36 -36
- package/templates/docker-compose.yml +21 -21
- package/templates/ecommerce-assistant/README.md +45 -45
- package/templates/ecommerce-assistant/oad.yaml +47 -47
- package/templates/knowledge-base/README.md +28 -28
- package/templates/knowledge-base/oad.yaml +38 -38
- package/templates/sales-assistant/README.md +26 -26
- package/templates/sales-assistant/oad.yaml +43 -43
- package/templates/tech-support/README.md +43 -43
- package/templates/tech-support/oad.yaml +45 -45
- package/test-agent/Dockerfile +9 -0
- package/test-agent/README.md +50 -0
- package/test-agent/agent.yaml +23 -0
- package/test-agent/docker-compose.yml +11 -0
- package/test-agent/oad.yaml +31 -0
- package/test-agent/package-lock.json +1492 -0
- package/test-agent/package.json +18 -0
- package/test-agent/src/index.ts +24 -0
- package/test-agent/src/skills/echo.ts +15 -0
- package/test-agent/tsconfig.json +25 -0
- package/tests/a2a.test.ts +66 -66
- package/tests/agent.test.ts +72 -72
- package/tests/analytics.test.ts +50 -50
- package/tests/auto-learn.test.ts +105 -0
- package/tests/builtin-tools.test.ts +83 -0
- package/tests/channel.test.ts +39 -39
- package/tests/cli.test.ts +46 -0
- package/tests/e2e.test.ts +134 -134
- package/tests/errors.test.ts +83 -83
- package/tests/hitl.test.ts +71 -71
- package/tests/i18n.test.ts +41 -41
- package/tests/mcp.test.ts +54 -54
- package/tests/oad.test.ts +68 -68
- package/tests/performance.test.ts +115 -115
- package/tests/plugin.test.ts +74 -74
- package/tests/room.test.ts +106 -106
- package/tests/runtime.test.ts +42 -42
- package/tests/sandbox.test.ts +46 -46
- package/tests/security.test.ts +60 -60
- package/tests/subagent.test.ts +130 -0
- package/tests/telegram-discord.test.ts +60 -0
- package/tests/templates.test.ts +77 -77
- package/tests/v070.test.ts +76 -76
- package/tests/versioning.test.ts +75 -75
- package/tests/voice.test.ts +61 -61
- package/tests/webhook.test.ts +29 -29
- package/tests/workflow.test.ts +143 -143
- package/tsconfig.json +19 -19
- package/vitest.config.ts +9 -9
- package/dist/core/dashboard.d.ts +0 -35
- package/dist/core/dashboard.js +0 -157
- package/dist/core/priority.d.ts +0 -52
- package/dist/core/priority.js +0 -102
- package/src/core/dashboard.ts +0 -219
- package/src/core/priority.ts +0 -140
- package/src/dtv/data.ts +0 -29
- package/src/dtv/trust.ts +0 -43
- package/src/dtv/value.ts +0 -47
- package/src/marketplace/index.ts +0 -223
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report a bug
|
|
4
|
+
labels: bug
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**Describe the bug**
|
|
8
|
+
A clear description of the bug.
|
|
9
|
+
|
|
10
|
+
**To Reproduce**
|
|
11
|
+
Steps to reproduce:
|
|
12
|
+
1. ...
|
|
13
|
+
|
|
14
|
+
**Expected behavior**
|
|
15
|
+
What you expected to happen.
|
|
16
|
+
|
|
17
|
+
**Environment**
|
|
18
|
+
- OS:
|
|
19
|
+
- Node.js:
|
|
20
|
+
- Package version:
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
node-version: [18, 20, 22]
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-node@v4
|
|
18
|
+
with:
|
|
19
|
+
node-version: ${{ matrix.node-version }}
|
|
20
|
+
- run: npm ci
|
|
21
|
+
- run: npm run build --if-present
|
|
22
|
+
- run: npx vitest run --reporter=verbose
|
|
23
|
+
env:
|
|
24
|
+
CI: true
|
package/CHANGELOG.md
CHANGED
|
@@ -1,63 +1,48 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
- OAD
|
|
49
|
-
- CLI version bumped to 0.2.0.
|
|
50
|
-
|
|
51
|
-
## [0.1.0] - 2026-04-14
|
|
52
|
-
|
|
53
|
-
### Added
|
|
54
|
-
- Initial release
|
|
55
|
-
- BaseAgent with lifecycle management
|
|
56
|
-
- AgentRuntime for config-driven setup
|
|
57
|
-
- OAD Schema v1 with Zod validation
|
|
58
|
-
- Web channel (Express)
|
|
59
|
-
- InMemoryStore
|
|
60
|
-
- Skill system (BaseSkill, SkillRegistry)
|
|
61
|
-
- DTV framework (Trust, Value, Data)
|
|
62
|
-
- Customer Service template
|
|
63
|
-
- CLI: init, create, build, test, run, publish
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [2.0.0] - 2026-04-18
|
|
4
|
+
|
|
5
|
+
### Major Features
|
|
6
|
+
- **Interactive CLI** (`opc chat`) — Full TUI with streaming, slash commands, history
|
|
7
|
+
- **Daemon Mode** (`opc start/stop/status`) — Run agents as background processes
|
|
8
|
+
- **Cron Scheduler** — Built-in job scheduling with cron expressions
|
|
9
|
+
- **Autonomous Skill Learning** — Agents create and improve skills from experience
|
|
10
|
+
- **Sub-Agent System** — Spawn parallel sub-agents for task delegation
|
|
11
|
+
- **Built-in Tools** — File operations, web fetch, shell exec, datetime
|
|
12
|
+
- **MCP Client** — Connect to external MCP servers via JSON-RPC
|
|
13
|
+
- **Telegram Channel** — Dual-mode (polling + webhook) with Markdown support
|
|
14
|
+
- **Discord Channel** — Gateway WebSocket with auto-reconnect
|
|
15
|
+
- **Slack Channel** — Real Events API + chat.postMessage
|
|
16
|
+
- **SOUL.md + CONTEXT.md** — Agent personality and project context files
|
|
17
|
+
- **Analytics** — Wired into runtime for message tracking, skill usage, errors
|
|
18
|
+
|
|
19
|
+
### Enhanced
|
|
20
|
+
- `/health` endpoint returns comprehensive agent info
|
|
21
|
+
- `opc init` generates SOUL.md, CONTEXT.md, and richer project templates
|
|
22
|
+
- OAD config supports scheduler, learning, and tools sections
|
|
23
|
+
- 204 tests passing
|
|
24
|
+
|
|
25
|
+
### CLI Commands
|
|
26
|
+
init, chat, run, dev, start, stop, status, jobs, skills, info, build, test, analytics, brain, logs, score, search, deploy, publish, install, plugin, tool, workflow, migrate
|
|
27
|
+
|
|
28
|
+
## 1.4.0 (2026-04-18)
|
|
29
|
+
- feat: wire Analytics into AgentRuntime (message timing, skill usage, error tracking)
|
|
30
|
+
- feat: expose analytics snapshot on /health and /api/dashboard endpoints
|
|
31
|
+
- feat: enhanced /health endpoint with agent name, version, uptime, memory type, skills, channels
|
|
32
|
+
- feat: Slack channel — real Events API webhook server + chat.postMessage via fetch
|
|
33
|
+
- feat: WebChannel metadata setters (version, memory type, skills, channels, analytics provider)
|
|
34
|
+
- feat: AgentRuntime.getAnalytics() and getConfig() accessors
|
|
35
|
+
|
|
36
|
+
## 1.3.1 (2026-04-17)
|
|
37
|
+
- fix: remove residual DTV/marketplace references
|
|
38
|
+
- fix: duplicate WatchPattern export
|
|
39
|
+
|
|
40
|
+
## 1.3.0 (2026-04-17)
|
|
41
|
+
- feat: Traces collection (OpenTelemetry-style)
|
|
42
|
+
- feat: DeepBrain exporter
|
|
43
|
+
- feat: brain/logs/score CLI commands
|
|
44
|
+
|
|
45
|
+
## 1.2.0
|
|
46
|
+
- Initial public release
|
|
47
|
+
- 11 channels, plugins, analytics
|
|
48
|
+
- Declarative OAD configuration
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,74 +1,35 @@
|
|
|
1
|
-
# Contributing
|
|
1
|
+
# Contributing
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Thanks for your interest in contributing!
|
|
4
4
|
|
|
5
5
|
## Getting Started
|
|
6
6
|
|
|
7
|
-
1. Fork the
|
|
8
|
-
2. Clone your fork
|
|
7
|
+
1. Fork the repo
|
|
8
|
+
2. Clone your fork
|
|
9
9
|
3. Install dependencies: `npm install`
|
|
10
|
-
4. Create a branch: `git checkout -b
|
|
10
|
+
4. Create a branch: `git checkout -b feat/my-feature`
|
|
11
|
+
5. Make your changes
|
|
12
|
+
6. Run tests: `npm test`
|
|
13
|
+
7. Commit: `git commit -m "feat: description"`
|
|
14
|
+
8. Push and open a PR
|
|
11
15
|
|
|
12
|
-
##
|
|
16
|
+
## Commit Convention
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
18
|
+
- `feat:` New feature
|
|
19
|
+
- `fix:` Bug fix
|
|
20
|
+
- `docs:` Documentation
|
|
21
|
+
- `test:` Tests
|
|
22
|
+
- `refactor:` Refactoring
|
|
23
|
+
- `chore:` Build/tooling
|
|
17
24
|
|
|
18
|
-
|
|
19
|
-
npm test
|
|
25
|
+
## Code Style
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
npm run lint
|
|
27
|
+
- TypeScript
|
|
28
|
+
- Run `npm run lint` before committing (if available)
|
|
23
29
|
|
|
24
|
-
|
|
25
|
-
npm run dev
|
|
26
|
-
```
|
|
30
|
+
## Questions?
|
|
27
31
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
src/
|
|
32
|
-
├── core/ # Agent, Runtime, Config, Logger, Types
|
|
33
|
-
├── channels/ # Web, WebSocket, Telegram channels
|
|
34
|
-
├── memory/ # InMemoryStore, DeepBrainMemoryStore
|
|
35
|
-
├── providers/ # LLM provider abstraction
|
|
36
|
-
├── schema/ # OAD schema (Zod)
|
|
37
|
-
├── skills/ # BaseSkill, SkillRegistry
|
|
38
|
-
├── templates/ # Agent templates
|
|
39
|
-
├── dtv/ # Data, Trust, Value framework
|
|
40
|
-
├── cli.ts # CLI entry point
|
|
41
|
-
└── index.ts # Public API exports
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Guidelines
|
|
45
|
-
|
|
46
|
-
- **TypeScript**: All code must be TypeScript with strict mode
|
|
47
|
-
- **Tests**: Add tests for new features in `tests/`
|
|
48
|
-
- **Commits**: Use conventional commits (`feat:`, `fix:`, `docs:`, etc.)
|
|
49
|
-
- **OAD Compatibility**: Changes to OAD schema must be backward-compatible
|
|
50
|
-
- **No Breaking Changes** without major version bump
|
|
51
|
-
|
|
52
|
-
## Adding a Template
|
|
53
|
-
|
|
54
|
-
1. Create `src/templates/my-template.ts` with config factory function
|
|
55
|
-
2. Create `templates/my-template/oad.yaml` and `README.md`
|
|
56
|
-
3. Register in `src/cli.ts` TEMPLATES map
|
|
57
|
-
4. Add tests
|
|
58
|
-
|
|
59
|
-
## Adding a Channel
|
|
60
|
-
|
|
61
|
-
1. Create `src/channels/my-channel.ts` extending `BaseChannel`
|
|
62
|
-
2. Add channel type to OAD schema in `src/schema/oad.ts`
|
|
63
|
-
3. Wire up in `src/core/runtime.ts`
|
|
64
|
-
4. Export from `src/index.ts`
|
|
65
|
-
|
|
66
|
-
## Pull Requests
|
|
67
|
-
|
|
68
|
-
1. Ensure all tests pass: `npm test`
|
|
69
|
-
2. Ensure types check: `npm run lint`
|
|
70
|
-
3. Write a clear PR description
|
|
71
|
-
4. Reference any related issues
|
|
32
|
+
Open a Discussion or Issue.
|
|
72
33
|
|
|
73
34
|
## License
|
|
74
35
|
|