@xopcai/xopc 0.0.88 → 0.0.89
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 +8 -1
- package/README.zh-CN.md +8 -1
- package/dist/browser-ext/manifest.json +1 -1
- package/dist/extensions/feishu/src/outbound/media-load.js +1 -1
- package/dist/extensions/feishu/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/src/plugin.js +1 -1
- package/dist/extensions/telegram/src/routing-integration.js +2 -2
- package/dist/extensions/telegram/src/workflow-progress.js +1 -1
- package/dist/extensions/telegram/xopc.extension.json +1 -1
- package/dist/extensions/weixin/src/api/api.js +2 -2
- package/dist/extensions/weixin/src/auth/accounts.js +1 -1
- package/dist/extensions/weixin/src/cdn/upload.js +1 -1
- package/dist/extensions/weixin/src/media/data-url.js +1 -1
- package/dist/extensions/weixin/src/messaging/debug-mode.js +1 -1
- package/dist/extensions/weixin/src/messaging/inbound.js +1 -1
- package/dist/extensions/weixin/src/messaging/process-message.js +1 -1
- package/dist/extensions/weixin/src/plugin.js +1 -1
- package/dist/extensions/weixin/src/storage/sync-buf.js +1 -1
- package/dist/extensions/weixin/src/workflow-progress.js +1 -1
- package/dist/gateway/static/root/assets/agents-B6PJB07W.js +222 -0
- package/dist/gateway/static/root/assets/apps-page-BOr0B1wv.js +1 -0
- package/dist/gateway/static/root/assets/channels-settings-BelUKggl.js +1 -0
- package/dist/gateway/static/root/assets/{channels-status-swr-DIsl75Y3.js → channels-status-swr-DaHGkRF1.js} +1 -1
- package/dist/gateway/static/root/assets/cron-api-CjOg-BIj.js +1 -0
- package/dist/gateway/static/root/assets/cron-page-DhoZmZXb.js +1 -0
- package/dist/gateway/static/root/assets/{dist-CJwfHYvT.js → dist-6LecgDx5.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-debug-page-BVJohZoZ.js → extension-debug-page-CtuKJ9tE.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-page-BT2tmElC.js → extension-page-ykzjOkR5.js} +1 -1
- package/dist/gateway/static/root/assets/{extension-settings-page-BSS47c2j.js → extension-settings-page-Ce2qrdpO.js} +1 -1
- package/dist/gateway/static/root/assets/{fetch-BaFNUtkE.js → fetch-C9FFJjuH.js} +1 -1
- package/dist/gateway/static/root/assets/{field-primitives-QwYEq6Hz.js → field-primitives-BFcrNeTU.js} +1 -1
- package/dist/gateway/static/root/assets/{heartbeat-config-api-BVSidEDJ.js → heartbeat-config-api-CEg4Vr9R.js} +1 -1
- package/dist/gateway/static/root/assets/{index-qNrVJp-y.js → index-CZfy9oxs.js} +97 -97
- package/dist/gateway/static/root/assets/index-CiN1cQiQ.css +1 -0
- package/dist/gateway/static/root/assets/logs-page-BwWLfqvd.js +1 -0
- package/dist/gateway/static/root/assets/sessions-page-DV5WN8uk.js +1 -0
- package/dist/gateway/static/root/assets/{settings-form-section-B8N3A3Zo.js → settings-form-section-BqdzA28u.js} +1 -1
- package/dist/gateway/static/root/assets/settings-page-CfOBRbPX.js +3 -0
- package/dist/gateway/static/root/assets/{share-preview-page-Q7KqkO-u.js → share-preview-page-Di5Bzh4g.js} +1 -1
- package/dist/gateway/static/root/assets/skills-page-D0H5Kaxg.js +2 -0
- package/dist/gateway/static/root/assets/{theme-store-BbRc5ugR.js → theme-store-CNqbmTNV.js} +1 -1
- package/dist/gateway/static/root/assets/url-aYn-Rj1C.js +7 -0
- package/dist/gateway/static/root/assets/{utils-CxDGduqK.js → utils-BWm2tG2w.js} +1 -1
- package/dist/gateway/static/root/assets/{voice-api-key-field-CTyHz7L_.js → voice-api-key-field-X2UfnHeq.js} +1 -1
- package/dist/gateway/static/root/assets/workflows-page-BOPpO3NG.js +27 -0
- package/dist/gateway/static/root/index.html +5 -6
- package/dist/package.js +1 -1
- package/dist/src/agent/agent-manager.d.ts +2 -0
- package/dist/src/agent/agent-manager.js +8 -7
- package/dist/src/agent/agent-manager.js.map +1 -1
- package/dist/src/agent/agent-scope.js +1 -1
- package/dist/src/agent/bootstrap/load-bootstrap-files.js +1 -1
- package/dist/src/agent/context/workspace-seed.js +2 -2
- package/dist/src/agent/goals/goal-run-store.js +4 -4
- package/dist/src/agent/goals/persistent-goal-service.js +1 -1
- package/dist/src/agent/goals/post-turn.js +2 -2
- package/dist/src/agent/image/load-image-media.js +2 -2
- package/dist/src/agent/ipc/bus.js +1 -1
- package/dist/src/agent/ipc/inbox.js +2 -2
- package/dist/src/agent/ipc/socket.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-materialize.js +1 -1
- package/dist/src/agent/mcp/bundle-mcp-runtime.js +1 -1
- package/dist/src/agent/mcp/mcp-transport-config.js +1 -1
- package/dist/src/agent/mcp/mcp-transport.js +1 -1
- package/dist/src/agent/memory/builtin-memory-store.js +1 -1
- package/dist/src/agent/memory/dreaming/deep-promotion.js +1 -1
- package/dist/src/agent/memory/dreaming/events.js +1 -1
- package/dist/src/agent/memory/dreaming/last-run.js +1 -1
- package/dist/src/agent/memory/dreaming/light-sweep.js +1 -1
- package/dist/src/agent/memory/dreaming/preview.js +1 -1
- package/dist/src/agent/memory/dreaming/rem-patterns.js +1 -1
- package/dist/src/agent/memory/dreaming/short-term-store.js +1 -1
- package/dist/src/agent/memory/dreaming/utils.js +1 -1
- package/dist/src/agent/memory/plugin-discovery.js +1 -1
- package/dist/src/agent/models/manager.js +1 -1
- package/dist/src/agent/prompt/service-prompt-builder.js +2 -2
- package/dist/src/agent/reply/post-compaction-context.js +1 -1
- package/dist/src/agent/reply/workspace-boundary-read.js +1 -1
- package/dist/src/agent/sandbox/path-policy.js +2 -2
- package/dist/src/agent/service/build-direct-message-content.js +1 -1
- package/dist/src/agent/service.js +6 -5
- package/dist/src/agent/service.js.map +1 -1
- package/dist/src/agent/service.types.d.ts +3 -1
- package/dist/src/agent/session/session-inspector.js +1 -1
- package/dist/src/agent/skills/config.js +1 -1
- package/dist/src/agent/skills/hub-hash.js +2 -2
- package/dist/src/agent/skills/hub-lock.js +1 -1
- package/dist/src/agent/skills/hub-pull.js +2 -2
- package/dist/src/agent/skills/index.js +1 -1
- package/dist/src/agent/skills/managed-store.js +1 -1
- package/dist/src/agent/skills/scanner.js +1 -1
- package/dist/src/agent/skills/skill-manage-ops.js +1 -1
- package/dist/src/agent/skills/skill-manager.js +1 -1
- package/dist/src/agent/tools/cronjob-tool.js +2 -1
- package/dist/src/agent/tools/cronjob-tool.js.map +1 -1
- package/dist/src/agent/tools/dreaming-tool.js +1 -1
- package/dist/src/agent/tools/factory.d.ts +3 -0
- package/dist/src/agent/tools/factory.js +3 -24
- package/dist/src/agent/tools/factory.js.map +1 -1
- package/dist/src/agent/tools/image-generate-tool.js +1 -1
- package/dist/src/agent/tools/send-media.js +1 -1
- package/dist/src/agent/tools/skill-manage-tool.js +1 -1
- package/dist/src/agent/tools/workflow-tool.d.ts +6 -28
- package/dist/src/agent/tools/workflow-tool.js +61 -261
- package/dist/src/agent/tools/workflow-tool.js.map +1 -1
- package/dist/src/agent/tools/write.js +1 -1
- package/dist/src/agent/workflow/catalog.js +1 -1
- package/dist/src/agent/workflow/workflow-child-tools.d.ts +4 -0
- package/dist/src/agent/workflow/workflow-child-tools.js +21 -0
- package/dist/src/agent/workflow/workflow-child-tools.js.map +1 -0
- package/dist/src/auth/credentials.d.ts +14 -2
- package/dist/src/auth/credentials.js +40 -15
- package/dist/src/auth/credentials.js.map +1 -1
- package/dist/src/auth/oauth/types.d.ts +16 -0
- package/dist/src/auth/profiles/store.js +1 -1
- package/dist/src/auth/sync-provider-auth.js +1 -1
- package/dist/src/browser/cache-dir-policy.js +1 -1
- package/dist/src/browser/cdp-local-launcher.js +2 -2
- package/dist/src/browser/providers/browser-ext-install.js +3 -3
- package/dist/src/browser/providers/cloakbrowser.js +4 -4
- package/dist/src/browser/providers/playwright-doctor.js +1 -1
- package/dist/src/browser/stealth.js +1 -1
- package/dist/src/channels/attachments/inbound-persist.js +1 -1
- package/dist/src/channels/attachments/outbound-tts-persist.js +1 -1
- package/dist/src/channels/outbound/persist-store.js +1 -1
- package/dist/src/channels/pairing/allow-from-file.js +1 -1
- package/dist/src/channels/pairing/pairing-store.js +2 -2
- package/dist/src/chat-commands/builtins/config.js +2 -2
- package/dist/src/chat-commands/context.js +1 -1
- package/dist/src/cli/commands/auth.js +6 -0
- package/dist/src/cli/commands/auth.js.map +1 -1
- package/dist/src/cli/commands/config.js +1 -1
- package/dist/src/cli/commands/doctor/checks/config-health.js +1 -1
- package/dist/src/cli/commands/doctor/checks/provider-auth.js +1 -1
- package/dist/src/cli/commands/doctor/checks/session-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/state-integrity.js +1 -1
- package/dist/src/cli/commands/doctor/checks/workspace-status.js +1 -1
- package/dist/src/cli/commands/extension-dev.js +1 -1
- package/dist/src/cli/commands/extension-marketplace.js +1 -1
- package/dist/src/cli/commands/extension-pack.js +1 -1
- package/dist/src/cli/commands/gateway/lifecycle.js +1 -1
- package/dist/src/cli/commands/gateway/logs.js +1 -1
- package/dist/src/cli/commands/image.js +1 -1
- package/dist/src/cli/commands/init.js +4 -4
- package/dist/src/cli/commands/onboard/model.js +6 -0
- package/dist/src/cli/commands/onboard/model.js.map +1 -1
- package/dist/src/cli/commands/onboard.js +1 -1
- package/dist/src/cli/utils/init-workspace-core.js +2 -2
- package/dist/src/config/agent-profile.js +1 -1
- package/dist/src/config/agent-typed-models.js +1 -1
- package/dist/src/config/gateway-bind.js +1 -1
- package/dist/src/config/index.js +5 -5
- package/dist/src/config/loader.js +2 -2
- package/dist/src/config/models-json.js +2 -2
- package/dist/src/config/paths-state.js +1 -1
- package/dist/src/config/profile.js +2 -2
- package/dist/src/config/workspace-path.js +1 -1
- package/dist/src/cron/executor.d.ts +2 -0
- package/dist/src/cron/executor.js +61 -7
- package/dist/src/cron/executor.js.map +1 -1
- package/dist/src/cron/job-content.js +2 -1
- package/dist/src/cron/job-content.js.map +1 -1
- package/dist/src/cron/persistence.js +1 -1
- package/dist/src/cron/run-log-store.js +1 -1
- package/dist/src/cron/types.d.ts +21 -1
- package/dist/src/cron/validation.d.ts +76 -0
- package/dist/src/cron/validation.js +26 -1
- package/dist/src/cron/validation.js.map +1 -1
- package/dist/src/daemon/constants.js +1 -1
- package/dist/src/daemon/install-plan.js +2 -2
- package/dist/src/daemon/launchd.js +2 -2
- package/dist/src/daemon/schtasks.js +2 -2
- package/dist/src/daemon/systemd.js +2 -2
- package/dist/src/extensions/bundle-mcp.js +1 -1
- package/dist/src/extensions/discover-extensions.js +1 -1
- package/dist/src/extensions/health.js +1 -1
- package/dist/src/extensions/loader.js +1 -1
- package/dist/src/extensions/lockfile.js +2 -2
- package/dist/src/gateway/agents-admin.js +3 -3
- package/dist/src/gateway/file-path-classifier.js +2 -2
- package/dist/src/gateway/gateway-workflow-host.types.d.ts +17 -0
- package/dist/src/gateway/gateway-workflow-host.types.js +1 -0
- package/dist/src/gateway/hono/lib/config-payload.js +1 -1
- package/dist/src/gateway/hono/lib/extension-store.js +2 -2
- package/dist/src/gateway/hono/lib/static-ui.js +2 -2
- package/dist/src/gateway/hono/oauth-async.js +40 -15
- package/dist/src/gateway/hono/oauth-async.js.map +1 -1
- package/dist/src/gateway/hono/oauth.js +31 -6
- package/dist/src/gateway/hono/oauth.js.map +1 -1
- package/dist/src/gateway/hono/routes/agents.js +1 -1
- package/dist/src/gateway/hono/routes/auth-registry-extensions.js +1 -1
- package/dist/src/gateway/hono/routes/config-patch/misc.js +1 -1
- package/dist/src/gateway/hono/routes/dreaming.js +1 -1
- package/dist/src/gateway/hono/routes/host-fs.js +2 -2
- package/dist/src/gateway/hono/routes/models.js +12 -6
- package/dist/src/gateway/hono/routes/models.js.map +1 -1
- package/dist/src/gateway/hono/routes/shares.js +1 -1
- package/dist/src/gateway/hono/routes/workflows.js +69 -190
- package/dist/src/gateway/hono/routes/workflows.js.map +1 -1
- package/dist/src/gateway/hono/routes/workspace.js +4 -4
- package/dist/src/gateway/lock.js +3 -3
- package/dist/src/gateway/ports.js +1 -1
- package/dist/src/gateway/service/agent-runner.js +2 -2
- package/dist/src/gateway/service/marketplace-service.js +2 -2
- package/dist/src/gateway/service.d.ts +5 -0
- package/dist/src/gateway/service.js +23 -3
- package/dist/src/gateway/service.js.map +1 -1
- package/dist/src/gateway/workspace-fs-file-list.js +1 -1
- package/dist/src/infra/restart.js +2 -2
- package/dist/src/infra/update-check.js +1 -1
- package/dist/src/infra/update-global.js +1 -1
- package/dist/src/infra/update-lock.js +3 -3
- package/dist/src/infra/update-runner.js +1 -1
- package/dist/src/infra/update-startup.js +2 -2
- package/dist/src/infra/write-file-atomic.js +2 -2
- package/dist/src/providers/auth-runtime/auth-profile-store.js +1 -1
- package/dist/src/providers/index.d.ts +8 -0
- package/dist/src/providers/index.js +53 -14
- package/dist/src/providers/index.js.map +1 -1
- package/dist/src/providers/model-registry.js +1 -1
- package/dist/src/session/config-store.js +2 -2
- package/dist/src/session/init-session-turn.js +2 -2
- package/dist/src/session/parity/jsonl-transcript-io.js +2 -2
- package/dist/src/session/parity/sessions-json-file.js +1 -1
- package/dist/src/session/parity/transcript-file-lock.js +2 -2
- package/dist/src/session/parity/transcript-paths.js +1 -1
- package/dist/src/session/resolve-session.js +4 -4
- package/dist/src/session/search-index-cache.js +1 -1
- package/dist/src/session/search-index.js +1 -1
- package/dist/src/session/session-title.js +2 -2
- package/dist/src/session/store.js +5 -5
- package/dist/src/share/share-auto.js +2 -2
- package/dist/src/share/share-store.js +3 -3
- package/dist/src/share/share-thumbnail.js +2 -2
- package/dist/src/share/share-zip.js +1 -1
- package/dist/src/share/site-share-config.d.ts +3 -2
- package/dist/src/share/site-share-config.js.map +1 -1
- package/dist/src/share/site-share-store.js +3 -3
- package/dist/src/share/site-static-serve.js +1 -1
- package/dist/src/tui/clipboard-image.js +3 -3
- package/dist/src/tui/theme-manager.js +1 -1
- package/dist/src/tui/tui-keybindings-file.js +1 -1
- package/dist/src/tui/tui-scoped-models.js +2 -2
- package/dist/src/tui/tui-settings.js +1 -1
- package/dist/src/tui/tui.js +3 -3
- package/dist/src/tunnel/frpc-binary.js +3 -3
- package/dist/src/tunnel/frpc-config.js +1 -1
- package/dist/src/tunnel/frpc-extract.js +1 -1
- package/dist/src/tunnel/tunnel-state.js +1 -1
- package/dist/src/utils/logger/audit.js +1 -1
- package/dist/src/utils/logger/log-store.js +1 -1
- package/dist/src/utils/logger/rotation.js +1 -1
- package/dist/src/voice/tts/audio.js +1 -1
- package/dist/src/voice/tts/providers/edge-speech.js +2 -2
- package/dist/src/workflows/domain/command.d.ts +2 -1
- package/dist/src/workflows/domain/definition-utils.d.ts +14 -0
- package/dist/src/workflows/domain/definition-utils.js +50 -0
- package/dist/src/workflows/domain/definition-utils.js.map +1 -0
- package/dist/src/workflows/domain/index.d.ts +2 -0
- package/dist/src/workflows/domain/index.js +3 -1
- package/dist/src/workflows/domain/run.d.ts +57 -0
- package/dist/src/workflows/domain/run.js.map +1 -1
- package/dist/src/workflows/domain/validation.d.ts +19 -0
- package/dist/src/workflows/domain/validation.js +66 -0
- package/dist/src/workflows/domain/validation.js.map +1 -0
- package/dist/src/workflows/engine/workflow-engine.d.ts +2 -1
- package/dist/src/workflows/engine/workflow-engine.js +1 -0
- package/dist/src/workflows/engine/workflow-engine.js.map +1 -1
- package/dist/src/workflows/index.d.ts +4 -0
- package/dist/src/workflows/index.js +9 -2
- package/dist/src/workflows/service/run-view-to-snapshot.d.ts +4 -0
- package/dist/src/workflows/service/run-view-to-snapshot.js +61 -0
- package/dist/src/workflows/service/run-view-to-snapshot.js.map +1 -0
- package/dist/src/workflows/service/workflow-run-service.d.ts +36 -0
- package/dist/src/workflows/service/workflow-run-service.js +279 -0
- package/dist/src/workflows/service/workflow-run-service.js.map +1 -0
- package/dist/src/workflows/service/workflow-run-service.types.d.ts +47 -0
- package/dist/src/workflows/service/workflow-run-service.types.js +1 -0
- package/dist/src/workflows/service/workflow-session-bridge.d.ts +29 -0
- package/dist/src/workflows/service/workflow-session-bridge.js +177 -0
- package/dist/src/workflows/service/workflow-session-bridge.js.map +1 -0
- package/dist/src/workflows/service/workflow-session-key.d.ts +3 -0
- package/dist/src/workflows/service/workflow-session-key.js +21 -0
- package/dist/src/workflows/service/workflow-session-key.js.map +1 -0
- package/dist/src/workflows/store/event-store.js +1 -1
- package/dist/src/workflows/store/run-store.js +2 -1
- package/dist/src/workflows/store/run-store.js.map +1 -1
- package/package.json +1 -1
- package/dist/gateway/static/root/assets/agents-CRxETUZx.js +0 -222
- package/dist/gateway/static/root/assets/apps-page-wKWf3l57.js +0 -1
- package/dist/gateway/static/root/assets/channels-settings-DDbqVNkx.js +0 -1
- package/dist/gateway/static/root/assets/copy-SxMW6Xpc.js +0 -1
- package/dist/gateway/static/root/assets/cron-api-N9hvuRrn.js +0 -1
- package/dist/gateway/static/root/assets/cron-page-tlNGNxhP.js +0 -1
- package/dist/gateway/static/root/assets/index-CqZzHNEg.css +0 -1
- package/dist/gateway/static/root/assets/logs-page-DDonPVLn.js +0 -1
- package/dist/gateway/static/root/assets/sessions-page-DKt-Wmib.js +0 -1
- package/dist/gateway/static/root/assets/settings-page-DcJjvvw4.js +0 -3
- package/dist/gateway/static/root/assets/skills-page-DuJ4BTO3.js +0 -2
- package/dist/gateway/static/root/assets/url-D6jvVYIA.js +0 -7
- package/dist/gateway/static/root/assets/workflows-page-GacJ41Fv.js +0 -27
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ pnpm run build # Node + web console → dist/
|
|
|
86
86
|
- 🔑 **Bring your own keys** — DeepSeek (recommended), OpenAI, Anthropic, Ollama, LM Studio, vLLM, and **20+** providers. Mix cloud and local; switch models in one config line. See **[Models](https://xopcai.github.io/xopc/models)**.
|
|
87
87
|
- 📱 **One brain, every screen** — Same assistant in terminal, browser, desktop, phone, and IM. No sync layer — one system.
|
|
88
88
|
- 🧩 **Grows with you** — **`xopc skills install`** · **`xopc extensions install`** for tools, channels, and UI panels; multi-agent routing per context.
|
|
89
|
-
- ⏰ **Proactive** — **Cron** for scheduled summaries and reminders; **multi-agent** routing with isolated workspaces, tools, and prompts.
|
|
89
|
+
- ⏰ **Proactive** — **Cron** for scheduled summaries and reminders; **workflows** for fan-out subagent tasks; **multi-agent** routing with isolated workspaces, tools, and prompts.
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -163,6 +163,7 @@ Optional tools (e.g. browser) stay **off until enabled**; use Playwright Chromiu
|
|
|
163
163
|
| [CLI](https://xopcai.github.io/xopc/cli) | Commands and flags |
|
|
164
164
|
| [Channels](https://xopcai.github.io/xopc/channels) | Telegram, WeChat, Feishu |
|
|
165
165
|
| [Architecture](https://xopcai.github.io/xopc/architecture) | How pieces fit together |
|
|
166
|
+
| [Workflows](https://xopcai.github.io/xopc/workflows) | Fan-out subagents, board UI, scripts |
|
|
166
167
|
|
|
167
168
|
Also: [Tools](https://xopcai.github.io/xopc/tools) · [Voice](https://xopcai.github.io/xopc/voice) · [Remote access](https://xopcai.github.io/xopc/remote-access)
|
|
168
169
|
|
|
@@ -199,6 +200,12 @@ pnpm run build && pnpm test && pnpm run lint
|
|
|
199
200
|
|
|
200
201
|
---
|
|
201
202
|
|
|
203
|
+
## Star history
|
|
204
|
+
|
|
205
|
+
[](https://star-history.com/#xopcai/xopc&Date)
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
202
209
|
## Credits
|
|
203
210
|
|
|
204
211
|
- LLM layer: [@earendil-works/pi-ai](https://github.com/earendil-works/pi-mono) · Agent runtime: [@earendil-works/pi-agent-core](https://github.com/earendil-works/pi-mono)
|
package/README.zh-CN.md
CHANGED
|
@@ -86,7 +86,7 @@ pnpm run build # Node + 网页 → dist/
|
|
|
86
86
|
- 🔑 **自带钥匙** — DeepSeek(推荐)、OpenAI、Anthropic、Ollama、LM Studio、vLLM 等 **20+** 厂商;云端本地可混用,一行配置换模型。详见 **[模型](https://xopcai.github.io/xopc/zh/models)**。
|
|
87
87
|
- 📱 **一个大脑,处处可用** — 终端、浏览器、桌面、手机、IM 同一套助手,无需另做同步。
|
|
88
88
|
- 🧩 **随你长大** — **`xopc skills install`** · **`xopc extensions install`** 扩展工具、频道与 UI;多 Agent 按场景隔离。
|
|
89
|
-
- ⏰ **能主动干活** — **Cron**
|
|
89
|
+
- ⏰ **能主动干活** — **Cron** 定时摘要与提醒;**工作流**扇出多子 Agent 任务;**多 Agent** 各自工作区、工具与系统提示词。
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -163,6 +163,7 @@ xopc extensions dev ./my-extension
|
|
|
163
163
|
| [CLI](https://xopcai.github.io/xopc/zh/cli) | 命令与参数 |
|
|
164
164
|
| [频道](https://xopcai.github.io/xopc/zh/channels) | Telegram、微信、飞书 |
|
|
165
165
|
| [架构](https://xopcai.github.io/xopc/zh/architecture) | 整体结构 |
|
|
166
|
+
| [工作流](https://xopcai.github.io/xopc/zh/workflows) | 扇出子 Agent、看板、脚本 |
|
|
166
167
|
|
|
167
168
|
更多:[工具](https://xopcai.github.io/xopc/zh/tools) · [语音](https://xopcai.github.io/xopc/zh/voice) · [远程访问](https://xopcai.github.io/xopc/zh/remote-access)
|
|
168
169
|
|
|
@@ -199,6 +200,12 @@ pnpm run build && pnpm test && pnpm run lint
|
|
|
199
200
|
|
|
200
201
|
---
|
|
201
202
|
|
|
203
|
+
## Star 历史
|
|
204
|
+
|
|
205
|
+
[](https://star-history.com/#xopcai/xopc&Date)
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
202
209
|
## 致谢
|
|
203
210
|
|
|
204
211
|
- 大模型接入:[@earendil-works/pi-ai](https://github.com/earendil-works/pi-mono) · 运行时:[@earendil-works/pi-agent-core](https://github.com/earendil-works/pi-mono)
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { checkFileSafety } from "../../../../src/agent/prompt/safety.js";
|
|
2
2
|
import { getMimeType } from "../../../../src/channels/media.js";
|
|
3
3
|
import { getWorkspacePath } from "../../../../src/config/workspace-path-helpers.js";
|
|
4
|
-
import { promises } from "node:fs";
|
|
5
4
|
import path from "node:path";
|
|
5
|
+
import { promises } from "node:fs";
|
|
6
6
|
import { Readable } from "node:stream";
|
|
7
7
|
//#region extensions/feishu/src/outbound/media-load.ts
|
|
8
8
|
function isPathUnderRoots(resolved, roots) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
1
2
|
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
3
|
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
|
-
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
4
4
|
import { resolveFeishuAccount } from "./state/accounts.js";
|
|
5
5
|
import { createFeishuClient } from "./transport/client/client.js";
|
|
6
6
|
import { editMessageFeishu } from "./outbound/actions.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { TelegramConfigSchema, init_config_schema } from "./config-schema.js";
|
|
1
2
|
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
3
|
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
|
-
import { TelegramConfigSchema, init_config_schema } from "./config-schema.js";
|
|
4
4
|
import { getWorkflowProgressBroker } from "../../../src/agent/workflow/progress-broker.js";
|
|
5
5
|
import "../../../src/agent/workflow/index.js";
|
|
6
6
|
import { transcribe } from "../../../src/voice/stt/transcribe-core.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
|
-
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
1
|
import { buildSessionKey } from "../../../src/routing/session-key.js";
|
|
4
2
|
import { applyIdentityLinks, resolveRoute } from "../../../src/routing/resolve-route.js";
|
|
3
|
+
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
4
|
+
import { init_logger } from "../../../src/utils/logger.js";
|
|
5
5
|
import "../../../src/routing/index.js";
|
|
6
6
|
//#region extensions/telegram/src/routing-integration.ts
|
|
7
7
|
init_logger();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
1
2
|
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
3
|
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
|
-
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
4
4
|
//#region extensions/telegram/src/workflow-progress.ts
|
|
5
5
|
init_session_key();
|
|
6
6
|
init_logger();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "telegram",
|
|
3
3
|
"name": "Telegram Channel",
|
|
4
4
|
"description": "Bundled Telegram Bot channel (private workspace sources; ships inside @xopcai/xopc dist/)",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.89",
|
|
6
6
|
"kind": "channel",
|
|
7
7
|
"main": "src/index.ts",
|
|
8
8
|
"channels": ["telegram"],
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { logger } from "../util/logger.js";
|
|
2
2
|
import { redactBody, redactUrl } from "../util/redact.js";
|
|
3
|
-
import crypto from "node:crypto";
|
|
4
|
-
import fs from "node:fs";
|
|
5
3
|
import path from "node:path";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import crypto from "node:crypto";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { Agent, fetch as fetch$1 } from "undici";
|
|
8
8
|
//#region extensions/weixin/src/api/api.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { logger } from "../util/logger.js";
|
|
2
2
|
import { normalizeWeixinAccountId } from "./weixin-account-id.js";
|
|
3
3
|
import { resolveWeixinRootDir } from "../storage/state-dir.js";
|
|
4
|
-
import fs from "node:fs";
|
|
5
4
|
import path from "node:path";
|
|
5
|
+
import fs from "node:fs";
|
|
6
6
|
//#region extensions/weixin/src/auth/accounts.ts
|
|
7
7
|
const DEFAULT_BASE_URL = "https://ilinkai.weixin.qq.com";
|
|
8
8
|
const CDN_BASE_URL = "https://novac2c.cdn.weixin.qq.com/c2c";
|
|
@@ -6,9 +6,9 @@ import { getUploadUrl } from "../api/api.js";
|
|
|
6
6
|
import { getExtensionFromContentTypeOrUrl } from "../media/mime.js";
|
|
7
7
|
import { aesEcbPaddedSize } from "./aes-ecb.js";
|
|
8
8
|
import { uploadBufferToCdn } from "./cdn-upload.js";
|
|
9
|
+
import path from "node:path";
|
|
9
10
|
import crypto from "node:crypto";
|
|
10
11
|
import fs from "node:fs/promises";
|
|
11
|
-
import path from "node:path";
|
|
12
12
|
//#region extensions/weixin/src/cdn/upload.ts
|
|
13
13
|
/**
|
|
14
14
|
* Download a remote media URL (image, video, file) to a local temp file in destDir.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getExtensionFromMime } from "./mime.js";
|
|
2
|
+
import path from "node:path";
|
|
2
3
|
import { randomBytes } from "node:crypto";
|
|
3
4
|
import fs from "node:fs/promises";
|
|
4
|
-
import path from "node:path";
|
|
5
5
|
//#region extensions/weixin/src/media/data-url.ts
|
|
6
6
|
/**
|
|
7
7
|
* Parse `data:mime;base64,...` into buffer (aligned with Telegram `parseDataUrl`).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logger } from "../util/logger.js";
|
|
2
2
|
import { resolveWeixinRootDir } from "../storage/state-dir.js";
|
|
3
|
-
import fs from "node:fs";
|
|
4
3
|
import path from "node:path";
|
|
4
|
+
import fs from "node:fs";
|
|
5
5
|
//#region extensions/weixin/src/messaging/debug-mode.ts
|
|
6
6
|
/**
|
|
7
7
|
* Per-bot debug mode toggle, persisted to disk so it survives gateway restarts.
|
|
@@ -3,8 +3,8 @@ import { generateId } from "../util/random.js";
|
|
|
3
3
|
import { MessageItemType } from "../api/types.js";
|
|
4
4
|
import { canonicalWeixinPeerId, normalizeWeixinAccountId } from "../auth/weixin-account-id.js";
|
|
5
5
|
import { resolveWeixinRootDir } from "../storage/state-dir.js";
|
|
6
|
-
import fs from "node:fs";
|
|
7
6
|
import path from "node:path";
|
|
7
|
+
import fs from "node:fs";
|
|
8
8
|
//#region extensions/weixin/src/messaging/inbound.ts
|
|
9
9
|
/**
|
|
10
10
|
* contextToken is issued per-message by the Weixin getupdates API and must
|
|
@@ -11,9 +11,9 @@ import { downloadMediaFromItem } from "../media/media-download.js";
|
|
|
11
11
|
import { isDebugMode } from "./debug-mode.js";
|
|
12
12
|
import { sendMessageWeixin } from "./send.js";
|
|
13
13
|
import { handleSlashCommand } from "./slash-commands.js";
|
|
14
|
+
import path from "node:path";
|
|
14
15
|
import { randomBytes } from "node:crypto";
|
|
15
16
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
16
|
-
import path from "node:path";
|
|
17
17
|
//#region extensions/weixin/src/messaging/process-message.ts
|
|
18
18
|
function extractTextBody(itemList) {
|
|
19
19
|
if (!itemList?.length) return "";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { WeixinConfigSchema, init_config_schema } from "./config-schema.js";
|
|
1
2
|
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
3
|
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
|
-
import { WeixinConfigSchema, init_config_schema } from "./config-schema.js";
|
|
4
4
|
import { getWorkflowProgressBroker } from "../../../src/agent/workflow/progress-broker.js";
|
|
5
5
|
import "../../../src/agent/workflow/index.js";
|
|
6
6
|
import { evaluateAccess, resolveDmPolicy } from "../../../src/channels/security.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { resolveWeixinRootDir } from "./state-dir.js";
|
|
2
|
-
import fs from "node:fs";
|
|
3
2
|
import path from "node:path";
|
|
3
|
+
import fs from "node:fs";
|
|
4
4
|
//#region extensions/weixin/src/storage/sync-buf.ts
|
|
5
5
|
function resolveAccountsDir() {
|
|
6
6
|
return path.join(resolveWeixinRootDir(), "accounts");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
1
2
|
import { createLogger } from "../../../src/utils/logger/index.js";
|
|
2
3
|
import { init_logger } from "../../../src/utils/logger.js";
|
|
3
|
-
import { init_session_key, parseSessionKey } from "../../../src/routing/session-key.js";
|
|
4
4
|
import { getContextToken } from "./messaging/inbound.js";
|
|
5
5
|
import { resolveWeixinAccount } from "./auth/accounts.js";
|
|
6
6
|
import { sendMessageWeixin } from "./messaging/send.js";
|