ymq
|
ebcb89da56
|
refactor: workspace_base 从 appbase params 表读(去硬编码,params 表不存在时用默认值兜底)
|
2026-08-14 15:59:55 +08:00 |
|
ymq
|
af178f98ad
|
fix: 机构远程空间配置表单取值/赋值 bug + get 支持 owner_type
根因:bricks.Form.getValue() 返回 FormData 对象(非普通对象),v.remote_host=undefined 传空值报格式非法;setValue 是 InlineForm 方法,Form 无此方法导致加载失败
- 取值 getValue→_getValue(返回 {name:value} 普通对象)
- 加载遍历 name_inputs 逐个 setValue
- work_env.dspy get 加 owner_type 参数,org 页面加载 org 级(原 user 级优先导致看不到 org 配置)
|
2026-08-14 15:15:24 +08:00 |
|
ymq
|
ece913f186
|
fix: sandbox_run 审计 result 用 rc==0 判断(run 返回无 ok 键)
|
2026-08-14 13:39:26 +08:00 |
|
ymq
|
e33bd24227
|
fix: 补全审计接入点
- deploy_account: account_create/account_remove/sandbox_run 审计
- work_env: org_key_gen/remote_bwrap 审计
|
2026-08-14 13:37:53 +08:00 |
|
ymq
|
534591e5d5
|
refactor: 审计 API 迁移到 app_audit 模块
- 删除 wwwroot/api/audit.dspy(迁移到 app_audit)
- work_env.dspy 改 import app_audit.audit_service
- load_path.py 移除 audit.dspy 的 owner.audit 注册
|
2026-08-14 12:21:01 +08:00 |
|
ymq
|
359c57b156
|
feat: 审计 API(仅 owner.audit)+ work_env 写审计日志
|
2026-08-14 12:11:01 +08:00 |
|
ymq
|
9ab0db53ad
|
feat: work_env 加 get_org_pubkey(admin 获取机构公钥配置远程免密)
|
2026-08-14 11:58:52 +08:00 |
|
ymq
|
a97512a760
|
security: org 级工作环境仅超管可设 + user 级强制设自己
|
2026-08-14 11:26:39 +08:00 |
|
ymq
|
7350e04cf6
|
feat: 工作环境 API (get/set/ensure_remote_bwrap) + deploy_account run 支持远程模式
|
2026-08-14 11:12:59 +08:00 |
|
ymq
|
803afa5cfe
|
fix: cockpit_chat_v2 输出 content 流式格式(AgentIO→AgentOut 期望 content/reasoning_content/error,非 widget JSON)
|
2026-08-13 18:19:33 +08:00 |
|
ymq
|
f6e919aa84
|
feat: 部署账号 API (ensure/list/remove/run/file读写)
|
2026-08-13 17:57:13 +08:00 |
|
p
|
addfdabc76
|
workspace: Wterm cursorBlink + PopupWindow resizable
|
2026-08-13 17:19:08 +08:00 |
|
p
|
67f318888d
|
workspace: open use entire_url for xterm trigger
|
2026-08-13 16:56:56 +08:00 |
|
p
|
e19f5c5a2e
|
workspace: open dispatch (vi/office-pdf/media) + file serving + edit xterm
|
2026-08-13 16:40:13 +08:00 |
|
p
|
c7d5e63491
|
workspace: use URLSearchParams for upload/delete
|
2026-08-13 15:57:55 +08:00 |
|
p
|
5f7ddc197a
|
workspace: add upload/open/delete tools + drag-drop
|
2026-08-13 15:56:21 +08:00 |
|
p
|
e0d095cb04
|
tree: fix __root__ expansion returns subdirs
|
2026-08-13 14:26:56 +08:00 |
|
p
|
751c953ad3
|
workspace: use ResourceBrowser widget
|
2026-08-13 12:02:00 +08:00 |
|
p
|
c934111748
|
popup: VBox for files panel
|
2026-08-12 18:49:19 +08:00 |
|
p
|
ef39d586bb
|
tree: root only initially, click to expand
|
2026-08-12 18:44:40 +08:00 |
|
p
|
3349bb1b33
|
tree: nested children for initial load
|
2026-08-12 18:39:46 +08:00 |
|
p
|
af7d7fc716
|
tree: lazy-load children only
|
2026-08-12 18:37:51 +08:00 |
|
p
|
7f29e5c157
|
fix: getWidgetById with popup scope, no PopupWindow binds
|
2026-08-12 18:21:07 +08:00 |
|
p
|
8a095c712c
|
workspace: full tree dspy + urlwidget button + PopupWindow binds
|
2026-08-12 18:09:49 +08:00 |
|
p
|
1856da5bca
|
workspace: button script handles tree bind, popup no binds
|
2026-08-12 17:31:32 +08:00 |
|
p
|
fdecd9ee1f
|
workspace: bind on PopupWindow level, wid=ws_tree
|
2026-08-12 17:30:37 +08:00 |
|
p
|
888e1ff320
|
workspace: add debug logs to bind script
|
2026-08-12 17:23:47 +08:00 |
|
p
|
ebf7757dd2
|
fix: use getWidgetById instead of this in tree script
|
2026-08-12 17:00:04 +08:00 |
|
p
|
61fb3f6485
|
fix: workspace_tree id=__root__ returns children
|
2026-08-12 16:51:30 +08:00 |
|
p
|
340dcf0fd0
|
workspace: tree lazy-load with id param
|
2026-08-12 16:48:34 +08:00 |
|
p
|
f106d330a4
|
workspace: script fetch+widgetBuild for selected node
|
2026-08-12 16:45:03 +08:00 |
|
p
|
10e6407419
|
workspace: event_params [id] for urlwidget
|
2026-08-12 15:48:34 +08:00 |
|
p
|
3032f26e2d
|
workspace: script action for tree selected
|
2026-08-12 15:37:49 +08:00 |
|
p
|
f7c68c5d73
|
workspace: params_mapping id->id for tree urlwidget
|
2026-08-12 15:20:39 +08:00 |
|
p
|
4db8e3fafd
|
workspace: root dir files initially, __root__ handling
|
2026-08-12 15:18:47 +08:00 |
|
p
|
222d3e2e75
|
workspace: tree dirs only, left 280px, right filler
|
2026-08-12 15:17:06 +08:00 |
|
p
|
5dcd8cea5a
|
workspace: PopupWindow width 85% height 80%
|
2026-08-12 15:14:57 +08:00 |
|
p
|
6408406cd9
|
workspace: relative path ids, is_leaf, workspace_files uses ws_dir
|
2026-08-12 15:13:25 +08:00 |
|
p
|
cb11d92b3e
|
workspace: idField not valueField, cfontsize 1.0
|
2026-08-12 15:11:22 +08:00 |
|
p
|
1c59c29b6a
|
workspace: Tree cfontsize 1.0
|
2026-08-12 15:09:36 +08:00 |
|
p
|
9b834ee4f9
|
workspace: Tree textField/valueField/parentField
|
2026-08-12 15:08:34 +08:00 |
|
p
|
be93db3a62
|
workspace: HBox+Tree, entire_url, urlwidget action
|
2026-08-12 15:02:40 +08:00 |
|
p
|
5af747e004
|
workspace: standard subwidgets + auto_open
|
2026-08-12 14:36:52 +08:00 |
|
p
|
b3b97632ac
|
workspace: content in options instead of subwidgets
|
2026-08-12 14:35:53 +08:00 |
|
p
|
90af3f67a1
|
workspace: urlwidget action loading PopupWindow from DSPY
|
2026-08-12 14:34:49 +08:00 |
|
p
|
35261b8b84
|
workspace: popupwindow action with inline content
|
2026-08-12 14:33:51 +08:00 |
|
p
|
4268d716d6
|
workspace: use popupwindow action + workspace_popup.dspy
|
2026-08-12 14:29:53 +08:00 |
|
ymq
|
8908112a65
|
feat: Tree+dataurl workspace (RAG pattern); shortcut files
|
2026-08-12 12:40:05 +08:00 |
|
ymq
|
f28c152d89
|
fix: search login permissions
|
2026-08-12 12:08:05 +08:00 |
|
ymq
|
8ead5e19eb
|
fix: check permission table
|
2026-08-12 12:07:52 +08:00 |
|