berry-agent 0.1.0-alpha.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.
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/dist/.api-emit.stamp +1 -0
- package/dist/.build-meta.json +6 -0
- package/dist/agent/events.js +1 -0
- package/dist/agent/index.js +2 -0
- package/dist/agent/loop.js +139 -0
- package/dist/agent/queue.js +119 -0
- package/dist/agent/stream.js +62 -0
- package/dist/agent/tools-batch.js +221 -0
- package/dist/agent/types.js +8 -0
- package/dist/api/berry-agent-llm.d.ts +18 -0
- package/dist/api/berry-agent.d.ts +9 -0
- package/dist/api/surface.json +1632 -0
- package/dist/api/tsconfig.paths.json +12 -0
- package/dist/api/typebox-compile.d.ts +2 -0
- package/dist/api/typebox-value.d.ts +2 -0
- package/dist/api/typebox.d.ts +2 -0
- package/dist/browser/cdp.js +256 -0
- package/dist/browser/codes.js +31 -0
- package/dist/browser/discover.js +107 -0
- package/dist/browser/engine.js +169 -0
- package/dist/browser/index.js +17 -0
- package/dist/browser/install.js +342 -0
- package/dist/browser/page.js +321 -0
- package/dist/browser/service.js +158 -0
- package/dist/browser/tools.js +198 -0
- package/dist/browser/types.js +81 -0
- package/dist/channels/ask-queue.js +82 -0
- package/dist/channels/commands.js +129 -0
- package/dist/channels/engine/cell.js +143 -0
- package/dist/channels/engine/diff.js +143 -0
- package/dist/channels/engine/engine.js +416 -0
- package/dist/channels/engine/index.js +8 -0
- package/dist/channels/engine/input-keys.js +86 -0
- package/dist/channels/engine/input.js +596 -0
- package/dist/channels/engine/memory-io.js +71 -0
- package/dist/channels/engine/process-io.js +38 -0
- package/dist/channels/engine/types.js +17 -0
- package/dist/channels/engine/width.js +122 -0
- package/dist/channels/index.js +15 -0
- package/dist/channels/registry.js +56 -0
- package/dist/channels/sdk/admit.js +29 -0
- package/dist/channels/sdk/backend.js +102 -0
- package/dist/channels/sdk/cursor.js +56 -0
- package/dist/channels/sdk/index.js +20 -0
- package/dist/channels/sdk/jsonl.js +208 -0
- package/dist/channels/sdk/protocol.js +24 -0
- package/dist/channels/sdk/schema.js +91 -0
- package/dist/channels/sdk/wire-core.js +446 -0
- package/dist/channels/service.js +169 -0
- package/dist/channels/tui/autocomplete/autocomplete.js +42 -0
- package/dist/channels/tui/autocomplete/file-mentions.js +106 -0
- package/dist/channels/tui/autocomplete/popup.js +148 -0
- package/dist/channels/tui/autocomplete/provider.js +7 -0
- package/dist/channels/tui/autocomplete/token.js +68 -0
- package/dist/channels/tui/backend/ansi-rows.js +211 -0
- package/dist/channels/tui/backend/main-screen.js +207 -0
- package/dist/channels/tui/backend/osc.js +91 -0
- package/dist/channels/tui/backend/transcript.js +230 -0
- package/dist/channels/tui/backend/tui-backend.js +915 -0
- package/dist/channels/tui/editor/editor-model.js +543 -0
- package/dist/channels/tui/editor/editor-view.js +140 -0
- package/dist/channels/tui/editor/editor.js +275 -0
- package/dist/channels/tui/editor/undo-stack.js +35 -0
- package/dist/channels/tui/editor/visual-lines.js +126 -0
- package/dist/channels/tui/editor/word-nav.js +106 -0
- package/dist/channels/tui/history/history-viewer.js +403 -0
- package/dist/channels/tui/index.js +3 -0
- package/dist/channels/tui/layout.js +167 -0
- package/dist/channels/tui/markdown/blocks.js +111 -0
- package/dist/channels/tui/markdown/inline.js +75 -0
- package/dist/channels/tui/markdown/markdown.js +182 -0
- package/dist/channels/tui/memory/memory-viewer.js +540 -0
- package/dist/channels/tui/overlay/alt-screen.js +105 -0
- package/dist/channels/tui/overlay/overlay.js +57 -0
- package/dist/channels/tui/overlay/select-confirm.js +156 -0
- package/dist/channels/tui/panels/todo-panel.js +54 -0
- package/dist/channels/tui/panels/tool-progress-panel.js +93 -0
- package/dist/channels/tui/scroll/scroll-view.js +254 -0
- package/dist/channels/tui/status/status-line.js +76 -0
- package/dist/channels/tui/text.js +38 -0
- package/dist/channels/tui/theme.js +41 -0
- package/dist/channels/types.js +11 -0
- package/dist/channels/ui-core.js +209 -0
- package/dist/checkpoint/capture.js +45 -0
- package/dist/checkpoint/codes.js +33 -0
- package/dist/checkpoint/command.js +82 -0
- package/dist/checkpoint/gate.js +48 -0
- package/dist/checkpoint/index.js +20 -0
- package/dist/checkpoint/restore.js +172 -0
- package/dist/checkpoint/store.js +247 -0
- package/dist/checkpoint/types.js +4 -0
- package/dist/checkpoint/walk.js +146 -0
- package/dist/compaction/ccr-tools.js +112 -0
- package/dist/compaction/ccr.js +84 -0
- package/dist/compaction/codes.js +21 -0
- package/dist/compaction/index.js +18 -0
- package/dist/compaction/policy.js +200 -0
- package/dist/compaction/service.js +422 -0
- package/dist/compaction/slots.js +121 -0
- package/dist/compaction/types.js +10 -0
- package/dist/context/codes.js +40 -0
- package/dist/context/events.js +160 -0
- package/dist/context/index.js +13 -0
- package/dist/context/logger.js +136 -0
- package/dist/context/scope.js +182 -0
- package/dist/context/workspace.js +104 -0
- package/dist/contracts/agent-events.d.ts +73 -0
- package/dist/contracts/agent-events.js +16 -0
- package/dist/contracts/api.d.ts +249 -0
- package/dist/contracts/api.js +299 -0
- package/dist/contracts/approval.d.ts +37 -0
- package/dist/contracts/approval.js +9 -0
- package/dist/contracts/env-ref.d.ts +41 -0
- package/dist/contracts/env-ref.js +32 -0
- package/dist/contracts/errors.d.ts +56 -0
- package/dist/contracts/errors.js +266 -0
- package/dist/contracts/events.d.ts +70 -0
- package/dist/contracts/events.js +329 -0
- package/dist/contracts/index.d.ts +32 -0
- package/dist/contracts/index.js +26 -0
- package/dist/contracts/llm.d.ts +275 -0
- package/dist/contracts/llm.js +12 -0
- package/dist/contracts/messages.d.ts +63 -0
- package/dist/contracts/messages.js +65 -0
- package/dist/contracts/redact.d.ts +46 -0
- package/dist/contracts/redact.js +223 -0
- package/dist/contracts/tools.d.ts +197 -0
- package/dist/contracts/tools.js +33 -0
- package/dist/contracts/types.d.ts +302 -0
- package/dist/contracts/types.js +50 -0
- package/dist/contracts/ui.d.ts +122 -0
- package/dist/contracts/ui.js +15 -0
- package/dist/conversation/agent-service.js +61 -0
- package/dist/conversation/approval-wiring.js +82 -0
- package/dist/conversation/backoff.js +38 -0
- package/dist/conversation/codes.js +47 -0
- package/dist/conversation/control-tools.js +102 -0
- package/dist/conversation/control.js +210 -0
- package/dist/conversation/driver.js +922 -0
- package/dist/conversation/index.js +12 -0
- package/dist/conversation/model-visible.js +169 -0
- package/dist/conversation/open-tools.js +126 -0
- package/dist/conversation/reseed.js +132 -0
- package/dist/conversation/sessions.js +215 -0
- package/dist/conversation/todo.js +203 -0
- package/dist/conversation/types.js +35 -0
- package/dist/conversation/wiring.js +204 -0
- package/dist/credentials/codes.js +59 -0
- package/dist/credentials/commands.js +186 -0
- package/dist/credentials/env-ref.js +34 -0
- package/dist/credentials/index.js +28 -0
- package/dist/credentials/migration.js +18 -0
- package/dist/credentials/oauth.js +266 -0
- package/dist/credentials/refresh.js +152 -0
- package/dist/credentials/secrets.js +118 -0
- package/dist/credentials/types.js +30 -0
- package/dist/exec/bash.js +279 -0
- package/dist/exec/codes.js +37 -0
- package/dist/exec/env.js +99 -0
- package/dist/exec/environment.js +39 -0
- package/dist/exec/git-guard.js +623 -0
- package/dist/exec/index.js +24 -0
- package/dist/exec/registry.js +120 -0
- package/dist/exec/spawn.js +281 -0
- package/dist/exec/tail.js +77 -0
- package/dist/exec/types.js +5 -0
- package/dist/goal/codes.js +33 -0
- package/dist/goal/command.js +175 -0
- package/dist/goal/fold.js +121 -0
- package/dist/goal/gates.js +122 -0
- package/dist/goal/index.js +22 -0
- package/dist/goal/migration.js +48 -0
- package/dist/goal/service.js +501 -0
- package/dist/goal/todo-tool.js +174 -0
- package/dist/goal/types.js +1 -0
- package/dist/goal/update-tool.js +46 -0
- package/dist/host/approval-cmd.js +276 -0
- package/dist/host/assembly.js +1146 -0
- package/dist/host/boot-failures.js +104 -0
- package/dist/host/budget-advisory.js +74 -0
- package/dist/host/budget-broadcast.js +50 -0
- package/dist/host/builtins.js +54 -0
- package/dist/host/cli.js +544 -0
- package/dist/host/codes.js +120 -0
- package/dist/host/config-schema.js +195 -0
- package/dist/host/conversation-stack.js +654 -0
- package/dist/host/core-plugins.js +1685 -0
- package/dist/host/credentials-cmd.js +42 -0
- package/dist/host/disclosure.js +30 -0
- package/dist/host/dispatch.js +105 -0
- package/dist/host/doors-cmd.js +154 -0
- package/dist/host/dump-config.js +44 -0
- package/dist/host/hook-dispatch-guard.js +27 -0
- package/dist/host/import-gate.js +153 -0
- package/dist/host/index.js +54 -0
- package/dist/host/issue-session.js +241 -0
- package/dist/host/loader.js +372 -0
- package/dist/host/main.js +161 -0
- package/dist/host/manifest.js +381 -0
- package/dist/host/mcp-entry.js +53 -0
- package/dist/host/plugin-boot.js +952 -0
- package/dist/host/plugin-context.js +672 -0
- package/dist/host/plugin-install.js +480 -0
- package/dist/host/plugin-reload.js +124 -0
- package/dist/host/plugin-store.js +462 -0
- package/dist/host/plugin-tools.js +359 -0
- package/dist/host/plugin-uninstall.js +257 -0
- package/dist/host/plugins-cmd.js +302 -0
- package/dist/host/plugins-command.js +130 -0
- package/dist/host/plugins-config.js +195 -0
- package/dist/host/prompt-sections.js +133 -0
- package/dist/host/run-entry.js +544 -0
- package/dist/host/runtime.js +209 -0
- package/dist/host/scheduler-tick.js +294 -0
- package/dist/host/serve-daemon.js +501 -0
- package/dist/host/serve-entry.js +279 -0
- package/dist/host/session-anchor.js +41 -0
- package/dist/host/sessions-cmd.js +219 -0
- package/dist/host/sessions-face.js +47 -0
- package/dist/host/settings-store.js +112 -0
- package/dist/host/signals.js +69 -0
- package/dist/host/single-instance.js +105 -0
- package/dist/host/subagent-factory.js +291 -0
- package/dist/host/testkit/harness.js +283 -0
- package/dist/host/testkit/index.js +14 -0
- package/dist/host/testkit/matrix.js +302 -0
- package/dist/host/tool-policy-store.js +177 -0
- package/dist/host/triggers.js +212 -0
- package/dist/host/tui-entry.js +216 -0
- package/dist/host/webui-bridge.js +165 -0
- package/dist/issue/codes.js +38 -0
- package/dist/issue/filter.js +146 -0
- package/dist/issue/github.js +116 -0
- package/dist/issue/index.js +17 -0
- package/dist/issue/mount.js +70 -0
- package/dist/issue/poll.js +58 -0
- package/dist/issue/service.js +341 -0
- package/dist/issue/tools.js +70 -0
- package/dist/issue/types.js +34 -0
- package/dist/issue/webhook.js +126 -0
- package/dist/llm/codes.js +77 -0
- package/dist/llm/complete.js +196 -0
- package/dist/llm/events.js +15 -0
- package/dist/llm/index.js +24 -0
- package/dist/llm/inflight.js +65 -0
- package/dist/llm/model-id.js +58 -0
- package/dist/llm/provider-face.d.ts +32 -0
- package/dist/llm/provider-face.js +34 -0
- package/dist/llm/recovery.js +146 -0
- package/dist/llm/runtime.js +46 -0
- package/dist/llm/stream-fn.js +147 -0
- package/dist/lsp/codes.js +31 -0
- package/dist/lsp/connection.js +147 -0
- package/dist/lsp/frame.js +110 -0
- package/dist/lsp/index.js +16 -0
- package/dist/lsp/inject.js +58 -0
- package/dist/lsp/instance.js +264 -0
- package/dist/lsp/service.js +522 -0
- package/dist/lsp/tools.js +53 -0
- package/dist/lsp/types.js +201 -0
- package/dist/mcp/bridge.js +222 -0
- package/dist/mcp/codes.js +21 -0
- package/dist/mcp/index.js +19 -0
- package/dist/mcp/jsonrpc.js +230 -0
- package/dist/mcp/service.js +125 -0
- package/dist/mcp/tools.js +145 -0
- package/dist/mcp/types.js +108 -0
- package/dist/memory/cite.js +131 -0
- package/dist/memory/codes.js +50 -0
- package/dist/memory/command.js +71 -0
- package/dist/memory/consolidate.js +219 -0
- package/dist/memory/cycle.js +109 -0
- package/dist/memory/dao.js +878 -0
- package/dist/memory/diff.js +238 -0
- package/dist/memory/extract.js +181 -0
- package/dist/memory/fts.js +58 -0
- package/dist/memory/index.js +42 -0
- package/dist/memory/inject.js +354 -0
- package/dist/memory/merge.js +178 -0
- package/dist/memory/migration.js +132 -0
- package/dist/memory/pollution.js +59 -0
- package/dist/memory/port.js +385 -0
- package/dist/memory/review.js +201 -0
- package/dist/memory/scan.js +89 -0
- package/dist/memory/tools.js +508 -0
- package/dist/memory/types.js +140 -0
- package/dist/obs/codes.js +38 -0
- package/dist/obs/db.js +115 -0
- package/dist/obs/index.js +20 -0
- package/dist/obs/rollup.js +61 -0
- package/dist/obs/service.js +363 -0
- package/dist/obs/session-tools.js +282 -0
- package/dist/obs/session-view.js +225 -0
- package/dist/obs/tool.js +97 -0
- package/dist/obs/types.js +1 -0
- package/dist/persist/audit.js +63 -0
- package/dist/persist/aux.js +39 -0
- package/dist/persist/codes.js +35 -0
- package/dist/persist/index.js +30 -0
- package/dist/persist/load-history.js +50 -0
- package/dist/persist/migrations.js +37 -0
- package/dist/persist/paths.js +108 -0
- package/dist/persist/persistence.js +229 -0
- package/dist/persist/schema.js +99 -0
- package/dist/persist/secret-box.js +95 -0
- package/dist/persist/store.js +706 -0
- package/dist/persist/write-behind.js +238 -0
- package/dist/safety/approval.js +171 -0
- package/dist/safety/bwrap.js +123 -0
- package/dist/safety/codes.js +57 -0
- package/dist/safety/danger.js +505 -0
- package/dist/safety/gate.js +226 -0
- package/dist/safety/index.js +24 -0
- package/dist/safety/presets.js +73 -0
- package/dist/safety/roots.js +139 -0
- package/dist/safety/sandbox.js +214 -0
- package/dist/safety/seatbelt.js +88 -0
- package/dist/safety/sensitive.js +34 -0
- package/dist/safety/tool-policy.js +203 -0
- package/dist/safety/types.js +13 -0
- package/dist/scheduler/codes.js +54 -0
- package/dist/scheduler/cron-backend.js +135 -0
- package/dist/scheduler/engine.js +280 -0
- package/dist/scheduler/gates.js +60 -0
- package/dist/scheduler/index.js +25 -0
- package/dist/scheduler/migration.js +22 -0
- package/dist/scheduler/runner.js +171 -0
- package/dist/scheduler/schedule.js +193 -0
- package/dist/scheduler/service.js +283 -0
- package/dist/scheduler/tick.js +139 -0
- package/dist/scheduler/types.js +1 -0
- package/dist/sdk/http.js +865 -0
- package/dist/sdk/index.js +22 -0
- package/dist/sdk/mcp.js +289 -0
- package/dist/sdk/plugin-route-registry.js +126 -0
- package/dist/sdk/plugin-routes.js +149 -0
- package/dist/sdk/security.js +116 -0
- package/dist/sdk/types.js +32 -0
- package/dist/session/budget.js +159 -0
- package/dist/session/codes.js +40 -0
- package/dist/session/derive.js +180 -0
- package/dist/session/event-data.js +1 -0
- package/dist/session/fork.js +72 -0
- package/dist/session/import-gates.js +148 -0
- package/dist/session/index.js +18 -0
- package/dist/session/recover.js +103 -0
- package/dist/session/session.js +279 -0
- package/dist/session/snapshot.js +107 -0
- package/dist/skills/agents.js +242 -0
- package/dist/skills/codes.js +51 -0
- package/dist/skills/discovery.js +266 -0
- package/dist/skills/frontmatter.js +215 -0
- package/dist/skills/index.js +28 -0
- package/dist/skills/load.js +118 -0
- package/dist/skills/manage.js +201 -0
- package/dist/skills/registry.js +138 -0
- package/dist/skills/render.js +124 -0
- package/dist/skills/sections.js +171 -0
- package/dist/skills/types.js +21 -0
- package/dist/subagent/codes.js +50 -0
- package/dist/subagent/declarative.js +55 -0
- package/dist/subagent/index.js +19 -0
- package/dist/subagent/notify.js +51 -0
- package/dist/subagent/provide.js +7 -0
- package/dist/subagent/registry.js +149 -0
- package/dist/subagent/service.js +338 -0
- package/dist/subagent/surface.js +44 -0
- package/dist/subagent/tool.js +153 -0
- package/dist/subagent/types.js +25 -0
- package/dist/tools/apply-patch.js +164 -0
- package/dist/tools/codes.js +109 -0
- package/dist/tools/fs.js +501 -0
- package/dist/tools/index.js +17 -0
- package/dist/tools/observed.js +99 -0
- package/dist/tools/pipeline.js +176 -0
- package/dist/tools/protected-read.js +54 -0
- package/dist/tools/registry.js +250 -0
- package/dist/tools/search.js +451 -0
- package/dist/tools/worktree.js +327 -0
- package/dist/web/codes.js +37 -0
- package/dist/web/gate.js +43 -0
- package/dist/web/hygiene.js +195 -0
- package/dist/web/index.js +16 -0
- package/dist/web/service.js +207 -0
- package/dist/web/ssrf-guard.js +44 -0
- package/dist/web/tool.js +76 -0
- package/dist/web/types.js +10 -0
- package/dist/webui/assets/index-B-t2O8gh.js +22 -0
- package/dist/webui/assets/index-DOlgSZ9Q.css +2 -0
- package/dist/webui/index.html +14 -0
- package/dist/webui/index.js +14 -0
- package/dist/webui/server.js +549 -0
- package/dist/webui/types.js +38 -0
- package/examples/README.md +26 -0
- package/examples/minimal-code-plugin/entry.js +43 -0
- package/examples/minimal-code-plugin/package.json +12 -0
- package/examples/pure-skill-pack/package.json +14 -0
- package/examples/pure-skill-pack/skills/markdown-table/SKILL.md +32 -0
- package/package.json +86 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# examples —— 插件模板两形
|
|
2
|
+
|
|
3
|
+
示例插件模板(03 篇 §9.5)——**最小代码插件**与**纯技能包**两形,兼
|
|
4
|
+
testkit 断言矩阵的 fixture(对真模板跑全绿)。
|
|
5
|
+
|
|
6
|
+
| 模板 | 形态 | 装载语义 |
|
|
7
|
+
| ----------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
|
|
8
|
+
| [`minimal-code-plugin/`](./minimal-code-plugin) | 代码插件(`entry` 指向入口文件) | default export 的 async 函数装载即执行,注册面在 `ctx` 上打开 |
|
|
9
|
+
| [`pure-skill-pack/`](./pure-skill-pack) | 纯声明包(`skills` 目录声明、无 `entry`) | 零码装载——包主入口不执行,`skills/` 下每个同名目录即一个技能 |
|
|
10
|
+
|
|
11
|
+
## 试跑(零装机)
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 代码插件——注册 /example-hello 命令
|
|
15
|
+
berry-agent --plugin-file ./examples/minimal-code-plugin
|
|
16
|
+
|
|
17
|
+
# 纯技能包——装载 markdown-table 技能
|
|
18
|
+
berry-agent --plugin-file ./examples/pure-skill-pack
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`--plugin-file` 为纯内存注入(装载计划 `_quick_test` 行,退出即消失——
|
|
22
|
+
enabled.yaml 与装机账本零落盘);正式装机走 `berry-agent plugins install
|
|
23
|
+
local:<绝对路径>`。
|
|
24
|
+
|
|
25
|
+
更多面(工具/凭证/HTTP 路由/跨会话操控/配置声明/测试与发布……)见
|
|
26
|
+
`docs/plugin-development.md`。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 最小代码插件入口——「装得上、挂载得出」的最小完整形。
|
|
3
|
+
*
|
|
4
|
+
* 试跑(零装机——装载计划纯内存注入 `_quick_test` 行,退出即消失):
|
|
5
|
+
*
|
|
6
|
+
* berry-agent --plugin-file ./examples/minimal-code-plugin
|
|
7
|
+
*
|
|
8
|
+
* 装机(正式安装进数据目录——enabled.yaml + 装机账本两源落盘):
|
|
9
|
+
*
|
|
10
|
+
* berry-agent plugins install local:$(pwd)/examples/minimal-code-plugin
|
|
11
|
+
*
|
|
12
|
+
* 契约要点(03 篇 §1.2/§2.2):
|
|
13
|
+
* - 入口 = default export 的 async 函数(ctx = 插件上下文;返回清理函数即
|
|
14
|
+
* unmount disposer——本模板无资源可收,返回 undefined);
|
|
15
|
+
* - 硬依赖声明在 named export `inject`(数组空 = 零依赖);软依赖在
|
|
16
|
+
* `optionalInject`(缺席注入 undefined——诚实降级不拒载);
|
|
17
|
+
* - 注册动词全部走 ctx 面(本模板只用 ctx.channels.registerCommand + ctx.ui.notify;
|
|
18
|
+
* 工具/提示词段/钩子/触发器等面见 docs/plugin-development.md);
|
|
19
|
+
* - 每个注册动词返回 disposer 或记入 ctx.effect(§2.2 回卷律)——本模板
|
|
20
|
+
* 取 ctx.effect 形:包住的注册在换代/unmount 时自动回卷(丢弃 disposer
|
|
21
|
+
* 不接 effect = 跨换代注册残留,属插件侧契约违例)。
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/** 硬依赖声明(本模板零依赖——保留空数组示形) */
|
|
25
|
+
export const inject = [];
|
|
26
|
+
|
|
27
|
+
/** 插件本体:装载即执行(apply)——注册面在此打开 */
|
|
28
|
+
export default async (ctx) => {
|
|
29
|
+
// ctx.effect 正形:注册记入插件作用域,换代/unmount 自动撤注
|
|
30
|
+
ctx.effect(() =>
|
|
31
|
+
ctx.channels.registerCommand(
|
|
32
|
+
'example-hello',
|
|
33
|
+
(args) => {
|
|
34
|
+
// handler 单参形(03 §2.2 定形):args.raw = 命令名后的输入原文
|
|
35
|
+
// (引号形态原样)、args.argv = 引号感知切分的词数组。
|
|
36
|
+
const text = args.raw.trim() === '' ? '(无参)' : args.raw;
|
|
37
|
+
// ctx.ui.notify = 一次性通知原语(07 §4.3 档位 1——无会话位恒可)
|
|
38
|
+
ctx.ui.notify(`最小代码插件应答:${text}`);
|
|
39
|
+
},
|
|
40
|
+
'最小代码插件示例命令——/example-hello [任意文本]',
|
|
41
|
+
),
|
|
42
|
+
);
|
|
43
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "berry-agent-example-minimal-code",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "berry-agent 最小代码插件模板——注册一条人面命令的最小完整形(--plugin-file 即可试跑)",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"berry-agent-plugin"
|
|
8
|
+
],
|
|
9
|
+
"berryAgent": {
|
|
10
|
+
"entry": "entry.js"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "berry-agent-example-pure-skill",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "berry-agent 纯技能包模板——零代码装载形(无 entry:声明 skills 目录即整包为技能载荷,包主入口不执行)",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"berry-agent-plugin"
|
|
8
|
+
],
|
|
9
|
+
"berryAgent": {
|
|
10
|
+
"skills": [
|
|
11
|
+
"skills"
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: markdown-table
|
|
3
|
+
description: GFM Markdown 表格速查——管道表格语法要点、对齐控制与常见坑(宽列、竖线转义、表格内代码块)。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Markdown 表格(GFM)速查
|
|
7
|
+
|
|
8
|
+
## 基本形
|
|
9
|
+
|
|
10
|
+
管道表格 = 表头行 + 分隔行 + 数据行,列以 `|` 分隔:
|
|
11
|
+
|
|
12
|
+
```markdown
|
|
13
|
+
| 命令 | 作用 | 示例 |
|
|
14
|
+
| ---------- | -------- | ---------- |
|
|
15
|
+
| `/reload` | 重载插件 | `/reload` |
|
|
16
|
+
| `/plugins` | 插件面板 | `/plugins` |
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 对齐控制
|
|
20
|
+
|
|
21
|
+
分隔行冒号位置决定列对齐(缺省左对齐):
|
|
22
|
+
|
|
23
|
+
- `:---` 左对齐(缺省)
|
|
24
|
+
- `:---:` 居中
|
|
25
|
+
- `---:` 右对齐(数值列常用)
|
|
26
|
+
|
|
27
|
+
## 常见坑
|
|
28
|
+
|
|
29
|
+
- **竖线转义**:单元格内写字面 `|` 须用 `\|`;代码 span 内的 `|` 同样要转义。
|
|
30
|
+
- **表格内无块级元素**:一个单元格不能容纳代码块或列表——需要时改用 HTML `<table>` 或把细节挪到表后小节。
|
|
31
|
+
- **列宽无关**:渲染列宽由内容决定,源码里的空格数不影响输出——但保持源码列宽一致利于 diff 审读。
|
|
32
|
+
- **表头不可省**:GFM 表格必须有表头行;无表头需求时首行写空单元格或加粗占位。
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "berry-agent",
|
|
3
|
+
"version": "0.1.0-alpha.1",
|
|
4
|
+
"apiVersion": "1.0",
|
|
5
|
+
"description": "berry-agent — 单一、可扩展的个人 Agent:对话与编码即本体,一切能力以插件装载",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/miuiadmin/berry-agent.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/miuiadmin/berry-agent/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/miuiadmin/berry-agent#readme",
|
|
16
|
+
"bin": {
|
|
17
|
+
"berry-agent": "./dist/host/main.js"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/api/berry-agent.d.ts",
|
|
22
|
+
"default": "./dist/contracts/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./testkit": "./dist/host/testkit/index.js",
|
|
25
|
+
"./package.json": "./package.json"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"examples",
|
|
30
|
+
"README.md",
|
|
31
|
+
"LICENSE"
|
|
32
|
+
],
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=24.0"
|
|
38
|
+
},
|
|
39
|
+
"keywords": [
|
|
40
|
+
"agent",
|
|
41
|
+
"cli",
|
|
42
|
+
"tui",
|
|
43
|
+
"berry-agent",
|
|
44
|
+
"berry-agent-plugin"
|
|
45
|
+
],
|
|
46
|
+
"scripts": {
|
|
47
|
+
"typecheck": "tsc --noEmit && tsc -p packages/berry-agent-sdk/tsconfig.test.json && tsc -p tsconfig.webui-client.json",
|
|
48
|
+
"test": "vitest run",
|
|
49
|
+
"lint:topology": "node tools/check-topology.mjs && node tools/check-api.mjs",
|
|
50
|
+
"format": "prettier --write \"src/**/*.{ts,tsx,css,html}\" \"packages/berry-agent-sdk/**/*.ts\" \"tools/**/*.mjs\" \"vite.config.ts\"",
|
|
51
|
+
"format:check": "prettier --check \"src/**/*.{ts,tsx,css,html}\" \"packages/berry-agent-sdk/**/*.ts\" \"tools/**/*.mjs\" \"vite.config.ts\"",
|
|
52
|
+
"build": "npm run build:webui && tsc -p tsconfig.build.json && node tools/emit-api-decls.mjs && node tools/build-meta.mjs",
|
|
53
|
+
"build:sdk": "tsc -p packages/berry-agent-sdk/tsconfig.json",
|
|
54
|
+
"build:webui": "vite build",
|
|
55
|
+
"golden:record": "tsx tools/golden-record.ts",
|
|
56
|
+
"release": "node tools/release.mjs"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@earendil-works/pi-ai": "0.84.4",
|
|
60
|
+
"better-sqlite3": "^13.0.3",
|
|
61
|
+
"get-east-asian-width": "1.6.0",
|
|
62
|
+
"ignore": "^7",
|
|
63
|
+
"jiti": "^2",
|
|
64
|
+
"typebox": "1.3.25",
|
|
65
|
+
"yaml": "^2"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
69
|
+
"@testing-library/react": "^16.3.3",
|
|
70
|
+
"@types/better-sqlite3": "^9.6.0",
|
|
71
|
+
"@types/node": "^26.4.1",
|
|
72
|
+
"@types/react-dom": "^19.2.7",
|
|
73
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
74
|
+
"@xterm/headless": "^6.0.0",
|
|
75
|
+
"jsdom": "^30.0.1",
|
|
76
|
+
"prettier": "^3.5.0",
|
|
77
|
+
"react": "^19.2.8",
|
|
78
|
+
"react-dom": "^19.2.8",
|
|
79
|
+
"react-markdown": "^10.1.0",
|
|
80
|
+
"tailwindcss": "^4.3.3",
|
|
81
|
+
"tsx": "^4.23.13",
|
|
82
|
+
"typescript": "^6",
|
|
83
|
+
"vite": "^8.2.2",
|
|
84
|
+
"vitest": "^4.1.11"
|
|
85
|
+
}
|
|
86
|
+
}
|