ShareServer previously existed only as design documents. The repository now includes a standalone Hono service and a responsive React management-console prototype covering administrator and member workflows, with local build, test, and container entry points. The sharing design now includes organization-scoped digital agents and explicit local partitioned-memory selection for @ calls. Memory documentation consistently uses partitioned memory and treats time or internal events only as optional recall triggers. This remains an interactive prototype: fixture actions do not persist, and production authentication, PostgreSQL isolation, device connections, routing, relay, and federation still require implementation. Release note: 新增可独立运行的 ShareServer 管理控制台交互原型,并完善组织数字人与分区记忆共享设计;当前原型数据和操作不会写入生产系统。
86 lines
2.4 KiB
Markdown
86 lines
2.4 KiB
Markdown
# ShareServer interactive prototype
|
|
|
|
This directory contains the first runnable ShareServer project. It is an
|
|
interactive control-console prototype based on the
|
|
[ShareServer PRD](../docs/features/share-server/prd.md), not a production
|
|
ShareServer implementation.
|
|
|
|
## Included
|
|
|
|
- Hono HTTP service with health, readiness, prototype snapshot, and prototype
|
|
action endpoints.
|
|
- Same-origin React, Vite, TypeScript, Tailwind CSS, and shadcn/ui-style Web
|
|
console.
|
|
- Administrator views for overview, members, devices, capabilities, policies,
|
|
approvals, releases, federation, tasks, audit, and settings.
|
|
- Member self-service views for personal devices, grants, and requests.
|
|
- Responsive navigation, dark and light themes, search, filters, details,
|
|
forms, confirmations, and keyboard-accessible dialogs.
|
|
- Production build and a non-root container image.
|
|
|
|
The UI uses official shadcn/ui conventions and Radix primitives. Its information
|
|
architecture was informed by the MIT-licensed
|
|
[`satnaing/shadcn-admin`](https://github.com/satnaing/shadcn-admin), but this
|
|
project does not copy that template or include its Clerk integration and sample
|
|
business pages.
|
|
|
|
## Not included yet
|
|
|
|
Prototype records are deliberately read-only fixtures. The action endpoint
|
|
returns an acknowledgement but does not persist changes. PostgreSQL,
|
|
initialization and login, organization isolation, real authorization, device
|
|
WebSocket connections, task routing, relay, package storage, federation, and
|
|
auditable mutations remain production implementation work.
|
|
|
|
The readiness endpoint reports this explicitly:
|
|
|
|
```json
|
|
{
|
|
"status": "ready",
|
|
"mode": "interactive-prototype",
|
|
"productionReady": false
|
|
}
|
|
```
|
|
|
|
## Run locally
|
|
|
|
```text
|
|
cd shareserver
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
Open `http://127.0.0.1:5174`. Vite proxies `/api` to the Hono service on port
|
|
`8787`.
|
|
|
|
## Run the production build
|
|
|
|
```text
|
|
cd shareserver
|
|
npm run build
|
|
npm start
|
|
```
|
|
|
|
Open `http://127.0.0.1:8787`.
|
|
|
|
Set `SHARESERVER_PORT` to use another listen port. Local runs bind to
|
|
`127.0.0.1` by default; set `SHARESERVER_HOST` explicitly when a trusted reverse
|
|
proxy or container needs another interface. Do not expose the prototype as a
|
|
production service.
|
|
|
|
## Container
|
|
|
|
```text
|
|
docker build -t goodbuddy-shareserver-prototype ./shareserver
|
|
docker run --rm -p 8787:8787 goodbuddy-shareserver-prototype
|
|
```
|
|
|
|
## Validation
|
|
|
|
```text
|
|
npm test
|
|
npm run typecheck
|
|
npm run lint
|
|
npm run build
|
|
```
|