From e9e6aa86bf4b8ae58587f857cff4a2e22e8a830e Mon Sep 17 00:00:00 2001 From: canonical Date: Sat, 21 Dec 2024 09:18:04 +0800 Subject: [PATCH] =?UTF-8?q?query-date=E7=BB=84=E4=BB=B6=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=97=A5=E6=9C=9F=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/gpt/autocoder.md | 11 ++++ docs/theory/delta-frontend.md | 55 +++++++++++++++++++ .../resources/_vfs/nop/web/xlib/control.xlib | 1 + 3 files changed, 67 insertions(+) create mode 100644 docs/gpt/autocoder.md create mode 100644 docs/theory/delta-frontend.md diff --git a/docs/gpt/autocoder.md b/docs/gpt/autocoder.md new file mode 100644 index 000000000..55f99e9ed --- /dev/null +++ b/docs/gpt/autocoder.md @@ -0,0 +1,11 @@ +# 使用模式 + +* `/command `发起命令 +* 命令参数中 `@fileName.txt`这种形式来指定文件 +* 每次运行自动commit,并生成git diff,可以通过`/revert`回滚 +* 启用jupiter的notebook来进行交互式测试 +* `/conf human_as_mode:true`之后通过人工交互,自动复制prompt到剪贴板 +* `/lib /add libName` 引入外部库 +* 每次交互都会产生一个chat_action.yaml,记录完整的交互信息 +* `/conf rag_url:url` 引入rag支持 +* `autocoder.web`启动一个Web IDE并执行terminal diff --git a/docs/theory/delta-frontend.md b/docs/theory/delta-frontend.md new file mode 100644 index 000000000..0601e0be3 --- /dev/null +++ b/docs/theory/delta-frontend.md @@ -0,0 +1,55 @@ +# 支持差量的前端无代码设计 + +```xml + + + + + + + 1 + + + + + + + + + + + + + + + +``` + +1. 通过一个虚拟文件系统的名字空间来加载组件。这里面就可以实现动态编译,动态Delta定制。 +2. 如果需要定制,可以使用通用的x:extends来定义一个局部组件。合并规则是按名称合并,列表中的元素按照name或者id定位,而不是通过数组下标。 +3. 组件内部引用组件只要使用局部名称。除去组件定义部分之后的template部分完全可以采用通用的Vue或者React组件形式。 +4. Vue组件是一个运行时框架。在运行时框架基础上增加Delta的能力不需要改变运行时框架的基本结构。所有Delta的概念可以只存在于编译期。 +5. DSL语言本身不用考虑可扩展性和可编辑性的问题,可以由Nop的底层机制统一提供。 +6. AMIS页面的根节点上也是允许指定json schema。整体设计是具有元模型约束的,DSL优先而不是可视化优先。 +7. 运行时组件的表达是最简表达,没有任何多余的层级或者属性。 + + +1. 系统中非常重要的一个抽象是Loader,大量操作可以在Loader层面完成。 +2. 传统的组件是黑箱模型。但是允许Delta定制的组件是白盒模型。 +3. 页面是一个特殊的组件,也不需要一个额外的容器组件。编译期完成结构变换,所以不需要运行期的容器组件支持。 +4. Delta合并是一个通用操作,它完全可以脱离任何运行时环境来完成。不依赖于任意的DSL. +5. 组件模型是 状态+输入变量定义+输出变量定义。组件可以提供再封装的语义。 +6. overwrite允许改变结构 +7. 组件提供局部变量空间,本身影响是局部的。 +8. 多层overwrite到底以哪个为准。 diff --git a/nop-web/src/main/resources/_vfs/nop/web/xlib/control.xlib b/nop-web/src/main/resources/_vfs/nop/web/xlib/control.xlib index b19c7df4b..15b7a3288 100644 --- a/nop-web/src/main/resources/_vfs/nop/web/xlib/control.xlib +++ b/nop-web/src/main/resources/_vfs/nop/web/xlib/control.xlib @@ -887,6 +887,7 @@ name: "filter_"+name + "__dateBetween", "type": "input-date-range", "inputFormat": "YYYY-MM-DD", + "valueFormat": "YYYY-MM-DD", "shortcuts": shortcuts || "today,yesterday,1dayago,7daysago" } ]]>