velaclaw-dev 0.2.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.
Files changed (63) hide show
  1. package/.gitignore +14 -0
  2. package/ARCHITECTURE.md +143 -0
  3. package/README.dev.md +208 -0
  4. package/README.local-before-remote-sync.md +224 -0
  5. package/README.md +211 -0
  6. package/README.public.md +115 -0
  7. package/RELEASING.md +162 -0
  8. package/TESTING.md +195 -0
  9. package/dist/cli.js +213 -0
  10. package/dist/data.js +2988 -0
  11. package/dist/server.js +1020 -0
  12. package/dist/ui.js +1486 -0
  13. package/members/LAUNCH_CHECKLIST.md +13 -0
  14. package/members/README.md +17 -0
  15. package/members/member-template/README.md +9 -0
  16. package/members/member-template/private-docs/README.md +3 -0
  17. package/members/member-template/private-memory/README.md +3 -0
  18. package/members/member-template/private-skills/README.md +4 -0
  19. package/members/member-template/private-tools/README.md +4 -0
  20. package/members/member-template/runtime/config/README.md +3 -0
  21. package/members/member-template/runtime/config/local-plugins/member-quota-guard/index.js +123 -0
  22. package/members/member-template/runtime/config/local-plugins/member-quota-guard/openclaw.plugin.json +19 -0
  23. package/members/member-template/runtime/config/local-plugins/member-quota-guard/package.json +10 -0
  24. package/members/member-template/runtime/config/local-plugins/member-runtime-upgrader/index.js +97 -0
  25. package/members/member-template/runtime/config/local-plugins/member-runtime-upgrader/openclaw.plugin.json +21 -0
  26. package/members/member-template/runtime/config/local-plugins/member-runtime-upgrader/package.json +10 -0
  27. package/members/member-template/runtime/config/local-plugins/shared-asset-injector/index.js +548 -0
  28. package/members/member-template/runtime/config/local-plugins/shared-asset-injector/openclaw.plugin.json +33 -0
  29. package/members/member-template/runtime/config/local-plugins/shared-asset-injector/package.json +10 -0
  30. package/members/member-template/runtime/config/openclaw.json +104 -0
  31. package/members/member-template/runtime/docker-compose.yml +53 -0
  32. package/members/member-template/runtime/logs/README.md +3 -0
  33. package/members/member-template/runtime/secrets/.gitkeep +1 -0
  34. package/members/member-template/runtime/secrets/README.md +3 -0
  35. package/members/member-template/runtime/workspace/.gitkeep +1 -0
  36. package/members/member-template/runtime/workspace/README.md +3 -0
  37. package/package.json +57 -0
  38. package/pic/banner.jpg +0 -0
  39. package/provision-member.md +87 -0
  40. package/scripts/shared-asset-stack-test.mjs +369 -0
  41. package/scripts/shared-skill-combo-test.mjs +282 -0
  42. package/scripts/team-load-test.mjs +358 -0
  43. package/scripts/verify-install.mjs +44 -0
  44. package/services/litellm/config.yaml +35 -0
  45. package/services/litellm/docker-compose.yml +36 -0
  46. package/services/litellm/litellm.env.example +13 -0
  47. package/shared-snapshots/README.md +16 -0
  48. package/shared-snapshots/docs/README.md +3 -0
  49. package/shared-snapshots/memory/README.md +3 -0
  50. package/shared-snapshots/skills/README.md +3 -0
  51. package/shared-snapshots/tools/README.md +4 -0
  52. package/shared-snapshots/workflows/README.md +3 -0
  53. package/team-assets/README.md +11 -0
  54. package/team-assets/policies/README.md +7 -0
  55. package/team-assets/policies/asset-visibility.md +24 -0
  56. package/team-assets/policies/high-risk-action-approval.md +18 -0
  57. package/team-assets/policies/promotion-rules.md +25 -0
  58. package/team-assets/policies/tool-binding-rules.md +26 -0
  59. package/team-assets/shared-docs/README.md +3 -0
  60. package/team-assets/shared-memory/README.md +8 -0
  61. package/team-assets/shared-skills/README.md +8 -0
  62. package/team-assets/shared-tools/README.md +8 -0
  63. package/team-assets/shared-workflows/README.md +9 -0
@@ -0,0 +1,35 @@
1
+ model_list:
2
+ - model_name: gpt-4.1-mini
3
+ litellm_params:
4
+ model: openai/gpt-4.1-mini
5
+ api_base: https://saymycode.xyz/v1
6
+ api_key: os.environ/OPENAI_API_KEY
7
+ extra_headers:
8
+ User-Agent: curl/8.5.0
9
+ Accept: "*/*"
10
+
11
+ - model_name: gpt-5.1-codex-mini
12
+ litellm_params:
13
+ model: openai/gpt-5.1-codex-mini
14
+ api_base: https://saymycode.xyz/v1
15
+ api_key: os.environ/OPENAI_API_KEY
16
+ extra_headers:
17
+ User-Agent: curl/8.5.0
18
+ Accept: "*/*"
19
+
20
+ - model_name: gpt-5.4
21
+ litellm_params:
22
+ model: openai/gpt-5.4
23
+ api_base: https://saymycode.xyz/v1
24
+ api_key: os.environ/OPENAI_API_KEY
25
+ extra_headers:
26
+ User-Agent: curl/8.5.0
27
+ Accept: "*/*"
28
+
29
+ general_settings:
30
+ master_key: os.environ/LITELLM_MASTER_KEY
31
+ database_url: os.environ/DATABASE_URL
32
+ set_verbose: false
33
+
34
+ litellm_settings:
35
+ drop_params: true
@@ -0,0 +1,36 @@
1
+ services:
2
+ postgres:
3
+ image: postgres:16-alpine
4
+ container_name: velaclaw-litellm-postgres
5
+ restart: unless-stopped
6
+ env_file:
7
+ - ${HOME}/.config/velaclaw/litellm.env
8
+ environment:
9
+ POSTGRES_DB: litellm
10
+ POSTGRES_USER: litellm
11
+ volumes:
12
+ - ./postgres-data:/var/lib/postgresql/data
13
+ healthcheck:
14
+ test: ["CMD-SHELL", "pg_isready -U litellm -d litellm"]
15
+ interval: 10s
16
+ timeout: 5s
17
+ retries: 10
18
+
19
+ litellm:
20
+ image: ghcr.io/berriai/litellm:main-latest
21
+ container_name: velaclaw-litellm
22
+ restart: unless-stopped
23
+ depends_on:
24
+ postgres:
25
+ condition: service_healthy
26
+ env_file:
27
+ - ${HOME}/.config/velaclaw/litellm.env
28
+ ports:
29
+ - "127.0.0.1:4000:4000"
30
+ volumes:
31
+ - ./config.yaml:/app/config.yaml:ro
32
+ command:
33
+ - "--config"
34
+ - "/app/config.yaml"
35
+ - "--port"
36
+ - "4000"
@@ -0,0 +1,13 @@
1
+ # Copy this file to:
2
+ # ~/.config/velaclaw/litellm.env
3
+ #
4
+ # Keep POSTGRES_PASSWORD and DATABASE_URL in sync.
5
+
6
+ POSTGRES_PASSWORD=change-me
7
+ DATABASE_URL=postgresql://litellm:change-me@postgres:5432/litellm
8
+
9
+ # Upstream key used by the model gateway backing LiteLLM.
10
+ OPENAI_API_KEY=replace-with-your-upstream-key
11
+
12
+ # Shared key used by Velaclaw to call LiteLLM locally.
13
+ LITELLM_MASTER_KEY=replace-with-a-long-random-secret
@@ -0,0 +1,16 @@
1
+ # Shared asset snapshots
2
+
3
+ This directory is for read-only snapshots of approved team assets that may be distributed into member runtimes.
4
+
5
+ Recommended subdirectories:
6
+ - `skills/`
7
+ - `tools/`
8
+ - `workflows/`
9
+ - `docs/`
10
+ - `memory/`
11
+
12
+ Guidelines:
13
+ - snapshots should be generated from approved team assets only
14
+ - snapshots should be mounted read-only into member runtimes if used
15
+ - never place raw secrets here
16
+ - prefer summary/approved memory, not raw private conversation logs
@@ -0,0 +1,3 @@
1
+ # Shared docs snapshots
2
+
3
+ Approved non-sensitive docs for read-only distribution.
@@ -0,0 +1,3 @@
1
+ # Shared memory snapshots
2
+
3
+ Only approved, sanitized, team-safe memory summaries should be exported here.
@@ -0,0 +1,3 @@
1
+ # Shared skill snapshots
2
+
3
+ Approved team skills can be exported here for read-only distribution into member runtimes.
@@ -0,0 +1,4 @@
1
+ # Shared tool snapshots
2
+
3
+ Export only shared tool definitions here.
4
+ Do not export personal bindings or raw credentials.
@@ -0,0 +1,3 @@
1
+ # Shared workflow snapshots
2
+
3
+ Approved team workflows and SOPs for read-only distribution.
@@ -0,0 +1,11 @@
1
+ # Team asset registry
2
+
3
+ This directory is for assets shared across the whole team.
4
+
5
+ Subdirectories:
6
+ - `shared-memory/` — approved team memory and shared facts
7
+ - `shared-skills/` — team-approved reusable skills
8
+ - `shared-tools/` — tool definitions and shared non-secret bindings metadata
9
+ - `shared-workflows/` — SOPs and workflows
10
+ - `shared-docs/` — common documents and references
11
+ - `policies/` — access, approval, and sync policies
@@ -0,0 +1,7 @@
1
+ # Team policies
2
+
3
+ Suggested policy files to add later:
4
+ - asset-visibility.md
5
+ - promotion-rules.md
6
+ - tool-binding-rules.md
7
+ - high-risk-action-approval.md
@@ -0,0 +1,24 @@
1
+ # Asset visibility policy
2
+
3
+ ## Default rules
4
+
5
+ 1. Team assets are readable only when explicitly marked shared.
6
+ 2. Member-private assets are readable only by that member runtime and the control plane.
7
+ 3. Task/session assets are temporary and should not be promoted automatically.
8
+ 4. Secrets are private by default, even if the related tool definition is shared.
9
+
10
+ ## Allowed visibility levels
11
+
12
+ - `system`
13
+ - `team`
14
+ - `member`
15
+ - `task`
16
+
17
+ ## Promotion rule
18
+
19
+ Information should move upward only after review:
20
+ - task -> member
21
+ - task -> team
22
+ - member -> team
23
+
24
+ Never auto-promote raw private chat content into team assets.
@@ -0,0 +1,18 @@
1
+ # High-risk action approval
2
+
3
+ ## High-risk actions include
4
+
5
+ - sending external email
6
+ - posting to public channels
7
+ - using financial accounts or trading actions
8
+ - modifying production systems
9
+ - accessing another member's private assets
10
+ - changing runtime security or container settings
11
+
12
+ ## Recommended rule
13
+
14
+ Member runtimes should not perform high-risk external actions directly.
15
+ Instead:
16
+ 1. prepare draft/action request
17
+ 2. send to control plane for approval
18
+ 3. execute only after approval
@@ -0,0 +1,25 @@
1
+ # Promotion rules
2
+
3
+ ## Purpose
4
+
5
+ Define how private or temporary assets become team-shared assets.
6
+
7
+ ## Recommended flow
8
+
9
+ 1. Create privately first.
10
+ 2. Stabilize through actual use.
11
+ 3. Review for privacy and sensitivity.
12
+ 4. Publish a cleaned version into the team asset registry.
13
+
14
+ ## Applies to
15
+
16
+ - skills
17
+ - workflows
18
+ - documents
19
+ - memory summaries
20
+
21
+ ## Avoid
22
+
23
+ - publishing raw conversations
24
+ - publishing secrets or private credentials
25
+ - publishing personal preferences unless intentionally generalized
@@ -0,0 +1,26 @@
1
+ # Tool binding rules
2
+
3
+ ## Core split
4
+
5
+ Separate:
6
+ 1. tool capability definitions
7
+ 2. credential / binding instances
8
+
9
+ ## Examples
10
+
11
+ Capability definitions:
12
+ - gmail.send
13
+ - github.issue.create
14
+ - market.search
15
+
16
+ Binding instances:
17
+ - gmail:zane
18
+ - github:alice
19
+ - smtp:team-support
20
+
21
+ ## Rules
22
+
23
+ - capabilities may be team-shared
24
+ - bindings are private by default
25
+ - team-shared bindings must be created intentionally as team assets
26
+ - member runtimes should not receive other members' bindings
@@ -0,0 +1,3 @@
1
+ # Shared team docs
2
+
3
+ Put non-sensitive shared documentation here.
@@ -0,0 +1,8 @@
1
+ # Shared team memory
2
+
3
+ Store only approved, team-safe memory here.
4
+
5
+ Guidelines:
6
+ - keep facts and decisions, not raw private chats
7
+ - remove private details before promoting content here
8
+ - record dates, owners, and affected projects when useful
@@ -0,0 +1,8 @@
1
+ # Shared team skills
2
+
3
+ Store team-level reusable skills here.
4
+
5
+ Recommended workflow:
6
+ - prototype privately in a member-private skill
7
+ - once stable, publish or copy here
8
+ - version important shared skills
@@ -0,0 +1,8 @@
1
+ # Shared team tools
2
+
3
+ This directory is for shared tool definitions, not personal credentials.
4
+
5
+ Recommended split:
6
+ - share tool capability definitions here
7
+ - keep personal bindings/credentials in member-private directories
8
+ - create separate team bindings for truly shared team accounts
@@ -0,0 +1,9 @@
1
+ # Shared team workflows
2
+
3
+ Store common workflows and SOPs here.
4
+
5
+ Examples:
6
+ - release checklist
7
+ - onboarding flow
8
+ - incident handling
9
+ - daily market brief template