返回首页
最新
我想分享一个我维护了两年的项目:一个强大的Word插件,名为Word-GPT-Plus。它将现代人工智能和代理功能直接集成到您的文档工作流程中。
我最近对这个项目进行了全面重写,采用了现代化的用户界面,并新增了“代理模式”,用于处理Word中的复杂多步骤任务,以及可以被大型语言模型(LLM)使用的网页获取/搜索和文档操作等多个工具。
欢迎任何反馈和批评!
<p>代码库:<a href="https://github.com/Kuingsmile/word-GPT-Plus" rel="nofollow">https://github.com/Kuingsmile/word-GPT-Plus</a>
我编写了一个类型检查器(minfern - <a href="https://github.com/sinelaw/minfern" rel="nofollow">https://github.com/sinelaw/minfern</a>),用于一个不需要转译的 JavaScript 子集。它接受有效的 JavaScript 作为输入,并允许一部分 JavaScript 代码通过检查。无需转译或编译,输入的代码可以直接运行。
<p>在线试用:<a href="https://sinelaw.github.io/minfern/" rel="nofollow">https://sinelaw.github.io/minfern/</a></p>
它可以用于检查针对普通 JavaScript 运行时或像 mquickjs 这样的运行时的代码(尽管 infern 更严格,但也允许像 'const' 这样的用法,而 mquickjs 不允许)。minfern 基于我在 2015 年编写的 Infernu 的类型系统,但实现上更简洁,结构更清晰。
<p>非常简单的示例:</p>
<pre><code> function calculateTotal(product, quantity) {
return product.price * quantity;
}
var item = {
name: "无线鼠标",
cost: 25 // 注意属性名是 'cost',而不是 'price'
};
console.log(calculateTotal(item, 2));
</code></pre>
输出:
<pre><code> 错误:在类型 {cost: Number, name: String} 中未找到属性 'price'
╭─[ tests/example_error.js:11:13 ]
│
11 │ console.log(calculateTotal(item, 2));
│ ───────────┬───────────
│ ╰───────────── 在类型 {cost: Number, name: String} 中未找到属性 'price'
────╯
</code></pre>
类型系统特性:
<p>- 完整的类型推断和原则类型,支持类型注解</p>
<p>- 参数多态(即“泛型函数”)</p>
<p>- 结构类型与行类型多态</p>
<p>- 对象方法类型与等递归类型(用于 self/“this”)</p>
<p>- 多态对象方法(仍被视为等级-1)</p>
<p>- 基本约束“Plus a”和“Indexable a”,允许 + 和 [] 应用于不同类型,如数字、字符串、数组。</p>
这允许检查一部分 JavaScript 表达式。
<p>一些 JavaScript 习惯用法在此系统中不被允许:</p>
<p>- 不支持联合类型(设计选择) - 返回值、变量、数组等必须具有单一类型。目前也不支持返回 null/undefined,未来可以通过添加 Optional 作为类型来解决,但会使原则类型变得更复杂。</p>
<p>- 不支持和类型(尚未) - 这解释了我为什么没有添加 Optional<T>,我认为和类型将适合类型系统,并且是可行的。一旦添加,枚举也可以被表达。</p>
<p>- 值限制禁止在声明后重新赋值给多态变量(ML 风格)。</p>
<p>- 由于上述原因 - 不能像某些人在 JavaScript 中那样使用 && / || 运算符。这些运算符要求两侧具有相同的类型(不允许一侧为“undefined”)。</p>
<p>- 不进行类型强制转换,将数字转换为字符串(例如)需要使用 String() 构造函数。</p>
<p>- 可能还有其他限制,人们可能会将其视为类型系统的限制而非特性。</p>
免责声明:此类型检查器不提供任何保证。我不是语言专家。我没有证明其健全性,希望有专家能对此进行审查。尽管如此,在我尝试的所有测试中,它看起来都是正确的。它基于 HMF 和其他已发布的类型系统,但以不同的方式组合了这些内容。
<p>GitHub: <a href="https://github.com/sinelaw/minfern" rel="nofollow">https://github.com/sinelaw/minfern</a></p>
我在12月初发布了一篇关于Postgresus 2.0的文章:一个用于PostgreSQL的自托管工具。自那时以来,该项目更改了名称,并增加了对其他数据库的支持:MySQL、MariaDB和MongoDB。
<p>网站 - <a href="https://databasus.com" rel="nofollow">https://databasus.com</a></p>
<p>GitHub - <a href="https://github.com/databasus/databasus" rel="nofollow">https://github.com/databasus/databasus</a></p>
<p>主要功能:</p>
- 支持多个PostgreSQL、MySQL、MariaDB和MongoDB数据库的定期备份
- 支持将备份存储到S3、Cloudflare R2、Google Drive、Azure Blob、NAS、SFTP、rclone等
- 通过电子邮件、Telegram、Slack、Discord、MS Teams和可自定义的Webhook发送备份状态通知
- 兼容自托管和托管的PostgreSQL(如RDS、Cloud SQL等)
- 作为单个Docker容器运行,或通过Helm在Kubernetes上运行,可通过脚本安装
- 提供工作区和基于角色的访问控制,并具有审计日志功能