@samp3ng/aster-plugin-opc-cloud 0.1.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/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # @samp3ng/aster-plugin-opc-cloud
2
+
3
+ Aster 访问 OPC 在线平台的工具插件。
4
+
5
+ 配置示例:
6
+
7
+ ```yaml
8
+ plugins:
9
+ installed:
10
+ - name: opc-cloud
11
+ packageName: '@samp3ng/aster-plugin-opc-cloud'
12
+ enabled: true
13
+ config:
14
+ baseUrl: http://127.0.0.1:8787/api
15
+ ```
16
+
17
+ 定位:
18
+
19
+ `@samp3ng/aster-plugin-opc-cloud` 是 Aster 的星环 OPC 供需聚合插件。用户主要通过本地 Aster 自然语言完成入驻、上架、找单、发单、接单、私聊和订单回流;Web 平台只是同一套供需数据的可视化入口。
20
+
21
+ 优先使用的工作流工具:
22
+
23
+ - `opc_platform_onboard`:一键入驻,读取本地 OPC 公司资料,生成注册账户 + 上架服务商主页计划。
24
+ - `opc_platform_find_work`:根据本地 OPC 技能在需求大厅推荐适合接的单。
25
+ - `opc_platform_apply_to_work`:围绕某个需求生成接单申请文案并投递。
26
+
27
+ 底层工具:
28
+
29
+ - `opc_platform_register_account`
30
+ - `opc_platform_stats`
31
+ - `opc_platform_admin_overview`
32
+ - `opc_platform_admin_users`
33
+ - `opc_platform_list_policies`
34
+ - `opc_platform_publish`
35
+ - `opc_platform_update_supplier`
36
+ - `opc_platform_search_supplier`
37
+ - `opc_platform_get_supplier`
38
+ - `opc_platform_post_demand`
39
+ - `opc_platform_search_demand`
40
+ - `opc_platform_get_demand`
41
+ - `opc_platform_start_demand_chat`
42
+ - `opc_platform_apply`
43
+ - `opc_platform_list_applications`
44
+ - `opc_platform_review_application`
45
+ - `opc_platform_update_demand_status`
46
+ - `opc_platform_list_orders`
47
+ - `opc_platform_update_order_status`
48
+ - `opc_platform_list_conversations`
49
+ - `opc_platform_list_messages`
50
+ - `opc_platform_send_chat_message`
51
+ - `opc_platform_pull_orders`
52
+
53
+ 高影响动作默认 dry-run,需要 `confirm:true` 才真执行。
54
+
55
+ ## 凭据 / Token 怎么来
56
+
57
+ `@samp3ng/aster-plugin-opc-cloud` 的 `config.token` 是**你这个用户的 session token**,
58
+ 不是平台 admin token。两者关系:
59
+
60
+ - **admin token**(`OPC_PLATFORM_ADMIN_TOKEN`):部署 opc-platform 的人持有,用于
61
+ `/api/admin/*` 接口(列用户 / 改角色 / 查审计)。普通用户拿不到也用不上。
62
+ - **session token**:平台运营运行 `services/opc-platform/scripts/seed-tenant.mjs`
63
+ 时,为你创建账号 + 颁发的 UUID,plugin 用它调 `/api/auth/me` 等业务接口。
64
+ - 平台方按 `services/opc-platform/DEPLOY.md §6` 轮换 admin token 时,**你的
65
+ session token 不受影响**,不需要改本地 config。
66
+ - 反之,如果你的 session token 自己泄露了(误贴到群 / 截图),联系平台运营
67
+ 让他 `node scripts/admin-cli.mjs users set-role <你的id> user` 然后重新跑
68
+ `seed-tenant.mjs` 给你换一个 token。
69
+
70
+ 凭据文件落盘位置(由 `seed-tenant.mjs` 生成):
71
+
72
+ ```
73
+ ~/.stellar/plugin-opc-cloud-credentials-<slug>.txt # 0600
74
+ ```
75
+
76
+ 文件里写的是 `OPC_PLATFORM_URL=` 和 `OPC_PLATFORM_TOKEN=` 两行,可以原样塞进
77
+ `config.token` / `config.baseUrl`(注意 baseUrl 要带 `/api` 后缀)。
@@ -0,0 +1,15 @@
1
+ import { StellarPlugin, PluginContext, ToolDefinition } from '@samp3ng/aster-core';
2
+
3
+ declare class OpcCloudPlugin implements StellarPlugin {
4
+ readonly name = "opc-cloud";
5
+ readonly version = "0.1.0";
6
+ readonly description = "\u661F\u73AF OPC \u4F9B\u9700\u805A\u5408\u63D2\u4EF6(\u5165\u9A7B\u3001\u4E0A\u67B6\u3001\u627E\u5355\u3001\u53D1\u5355\u3001\u63A5\u5355\u3001\u79C1\u804A\u548C\u8BA2\u5355\u56DE\u6D41)";
7
+ private client;
8
+ private opcDbPath;
9
+ initialize(ctx: PluginContext): Promise<void>;
10
+ getTools(): ToolDefinition[];
11
+ getSystemPromptBlock(): string;
12
+ }
13
+ declare const plugin: OpcCloudPlugin;
14
+
15
+ export { OpcCloudPlugin, plugin as default };