rubickcenter / rubick Goto Github PK
View Code? Open in Web Editor NEW🔧 Electron based open source toolbox, free integration of rich plug-ins. 基于 electron 的开源工具箱,自由集成丰富插件。
Home Page: https://rubickcenter.github.io/docs
License: MIT License
🔧 Electron based open source toolbox, free integration of rich plug-ins. 基于 electron 的开源工具箱,自由集成丰富插件。
Home Page: https://rubickcenter.github.io/docs
License: MIT License
您的功能请求是否与问题相关? 请简单描述.
请描述一下您想要的解决方案
在用户根目录创建一个目录,如/Users/gclm/rubick-plugins,安装的插件全部在这个目录里面,这样方便用户管理,或者想utools一样,放到一个我看不到的地方
描述你考虑过的替代方案
无
目前我也有和作者类似的遭遇,个人开发的公司相关插件不能发布到utool。导致更新特别麻烦
希望尽早出win端,哈哈
描述一下这个bug
快捷键修改之后下次打开还是原来的快捷键
复现方式
windows系统
预期行为
快捷键修改之后下次打开保持修改之后的快捷键
建议禁止程序重复运行
一直编译不成功
iohook 这个prebuild就一直下载不成功
robotjs 对应git仓库最新版本三0.6.0,但是本仓库为何要去下0.6.1,也是下载不成功
增量更新可以安排一下,不然每次都要下安装包。
插件化方案虽然有极大的拓展性和自由度,但实际上是在本地运行不可信代码,有一定的安全隐患。比如 xtools 的插件权限无限制,也没有系统安全与隐私保护方案,这是我不敢用它的原因之一。
我想无论是 Chrome 插件 (Manifest V3) 还是 PWA,他们不敢过多开放原生能力的原因就是安全和隐私的问题。
当以后社区插件越来越多的时候,如何保证 rubick 的使用安全,保证用户不会使用到恶意插件呢?
我想可以通过审核给插件一个可信度分级,然后 rubick 在运行时根据插件可信度级别赋予其相应的 API 权限,如下表:
插件可信度 \ API 权限 | CPU,内存,数据,用户等 | 网络请求 | 文件读写 | 系统控制 |
---|---|---|---|---|
未认证 不开源 | ✔️ | ❌ | ❌ | ❌ |
社区认证 不开源 | ✔️ | ✔️ | ❌ | ❌ |
社区认证 开源 | ✔️ | ✔️ | ✔️ | ❌ |
官方认证 | ✔️ | ✔️ | ✔️ | ✔️ |
希望可以支持everything。
设置中的“本地搜索启动”设置项,好像不管开关都没什么区别
我在ubuntu21.04)实体机安装,非wsl等提示这个:
A JavaScript error occurred in the main process Uncaught Exception: Error: libxkbcommon-x11.so.0: cannot open shared object file: No such file or directory at process.func [as dlopen] (electron/js2c/asar_bundle.js:5:1846) at Object.Module._extensions..node (internal/modules/cjs/loader.js:1138:18) at Object.func [as .node] (electron/js2c/asar_bundle.js:5:2073) at Module.load (internal/modules/cjs/loader.js:935:32) at Module._load (internal/modules/cjs/loader.js:776:14) at Function.f._load (electron/js2c/asar_bundle.js:5:12913) at Module.require (internal/modules/cjs/loader.js:959:19) at require (internal/modules/cjs/helpers.js:88:18) at Object. (/snap/rubick2/x1/resources/app.asar/node_modules/iohook/index.js:24:21) at Module._compile (internal/modules/cjs/loader.js:1078:30)
系统自带的有,'(libxkbcommon-x11-0 已经是最新版 (1.0.3-2))'
您的功能请求是否与问题相关? 请简单描述.
Windows 11 x64
请描述一下您想要的解决方案
按ESC时能隐藏窗口
输入 截图
/jieping
/jp
时能打开截屏功能,我认为这是utools最杀手级的功能之一了
描述你考虑过的替代方案
目前没有
issues 中大家提出了很多改进建议。但设想,如果将来我们将其全部实现,那么界面和操作肯定会更加复杂,不再轻便小巧。另外有些需求可能是一部分用户需要,但另一部分不需要的,这种冗余性也会增加学习操作复杂度,降低用户体验。
那么如何保证在实现用户特异的需求的同时又保证界面和操作的简约呢?
也许除了插件以外,可以加一种 “拓展” 这种 “拓展” 也是插件化安装开启的,不过是用来拓展 rubick 本身的功能,例如拓展搜索框的功能、动态增加rubick API、Webdav 同步插件和数据等等。
另外利用插件实现API的动态增加,就不会因为本体兼容其他软件的 API 而涉及到纠纷了
您的功能请求是否与问题相关? 请简单描述.
mac系统下如果是习惯于用触控板手势,那么唤起的长按设置操作起来就会很费力,而快捷键又会让操作路径变长
请描述一下您想要的解决方案
可以有一套针对触控板操作手势的激活手势
描述你考虑过的替代方案
无
描述一下这个bug
在设置界面选择了取消开机自动启动后,仍然保留了开机自动启动,就是说选择没有生效。
复现方式
Steps to reproduce the behavior:
跨平台是一个很重要的属性,osx-mouse可以用iohook代替
另外我希望能深度参与该项目的开发与维护,如何联系?
增加配置文件读取功能,可以多端同步配置
npm WARN deprecated [email protected]: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 1
npm ERR! path /Users/gclm/Projects/03-personal/rubick/node_modules/lzma-native
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | darwin | x64
npm ERR! gyp info find Python using Python version 3.8.8 found at "/Users/gclm/opt/anaconda3/bin/python3"
npm ERR! gyp info spawn /Users/gclm/opt/anaconda3/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '/Users/gclm/Projects/03-personal/rubick/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/gclm/Projects/03-personal/rubick/node_modules/lzma-native/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/gclm/Projects/03-personal/rubick/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/gclm/Library/Caches/node-gyp/14.16.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/gclm/Library/Caches/node-gyp/14.16.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=/Users/gclm/Projects/03-personal/rubick/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/gclm/Library/Caches/node-gyp/14.16.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=/Users/gclm/Projects/03-personal/rubick/node_modules/lzma-native',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp: Undefined variable module_path in binding.gyp while trying to load binding.gyp
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit (/Users/gclm/Projects/03-personal/rubick/node_modules/node-gyp/lib/configure.js:351:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (events.js:315:20)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12)
npm ERR! gyp ERR! System Darwin 20.6.0
npm ERR! gyp ERR! command "/Users/gclm/.nvm/versions/node/v14.16.0/bin/node" "/Users/gclm/Projects/03-personal/rubick/node_modules/.bin/node-gyp" "rebuild"
npm ERR! gyp ERR! cwd /Users/gclm/Projects/03-personal/rubick/node_modules/lzma-native
npm ERR! gyp ERR! node -v v14.16.0
npm ERR! gyp ERR! node-gyp -v v7.1.2
npm ERR! gyp ERR! not ok
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/gclm/.npm/_logs/2021-08-11T01_12_08_027Z-debug.log
这个东西和utools的区别在哪里???
mac外接屏幕的时候 窗口无法移动
描述一下这个bug
Windows端复制json文件无法安装插件
复现方式
1.Ctrl+C 复制文件
2.在rubick中Ctrl+V无反应
3.通过Debug发现在输入框Ctrl+V时没进onSearch
预期行为
这属于平台差异问题,Windos端的很多功能都没法正常使用
请描述一下您想要的解决方案
实现win端应用搜索功能
描述你考虑过的替代方案
从注册表读取应用列表 https://github.com/zhujiaming/uTools-AppUninstaller
我们需要一个workflow来做代码的自动审查与编译发布
需要先
$ npm run rebuild
原因:
因为rubick内部使用了 robotjs,所以使用 node-gyp 编译。但是 electron
已经内置了 node
环境,所以使用本地 node
rebuild 是不起作用的,需要使用 electron
内置的 node
进行 rebuild
跟 utools 的超级面板页面显示相同,因为 utools 不开源,所以担心会有版权等问题,请注意.
还有就是如果也可以 esc 键关闭打开的插件及关闭窗口就好了,
插件中心的生态还需丰富
很棒的应用
您的功能请求是否与问题相关? 请简单描述.
可以开放一个 API execScript
用于做各种开发生产环境的一键部署、自动化任务等功能
请描述一下您想要的解决方案
允许执行 zx 跨平台脚本文件
https://cloudr-f2e.github.io/rubick 打开是 Github 默认的 404 页面
跨端 = 跨移动 + PC端,从utools微信群和社区的用户反馈来看,用户对移动端有迫切的需求。
从统计来看,全球70%的流量终端都是移动设备,且以后这个数量还在继续上涨,大多数用户在接触PC前被培养的用户习惯都是来源于移动平台。
从Google的Chrome OS、华为的HarmonyOS、微软的UWP等战略产品也可以看出未来多端统一的趋势。
移动端有一款工具箱叫 一个木函 小米商城的下载量有1400多万、华为app商城下载量有1700多万,拥有非常庞大的用户流量,如果能辐射到桌面端,就会有更强大的流量变现能力。
而这个移动端的工具箱因为历史代码原因,无法适应桌面端,同样,utools因为历史代码的原因,无法快速开发出移动端。
但我们能从顶层就开始思考,如何为用户实现原生 跨端 + 跨平台 的体验,创新会让我们从同类中脱颖而出。
技术方案上 uniapp 已经实现了移动端的跨平台,所以有一种实现全生态技术方案的可能性是:
将uniapp的移动端跨平台能力和electron的桌面端跨平台能力结合
uniapp跨端开发:在开发中可以调用electron的API
长按右键弹出超级面板时候系统右键菜单也会出现,utools 超级面板长按时候不会出现原本的系统右键菜单,感觉是用窗体遮挡
rubick 开源的初衷是为了服务社区,同时也希望从社区中获得成长和方向。我们非常期待社区的反馈和意见,帮助我们快速成长。
未来我们会规划做 Rubick 2.0 的工作,非常欢迎小伙伴给我们提宝贵的意见和方向!
看了下项目里处理拼音用了jian-pinyin这个库。看了下这个库似乎更合适web应用,在体积上面比较有优势,但是没有处理多音字准确性。
建议使用 pinyin 这个库,它会分词根据词组来匹配,能提高多音字准确性,更适合桌面应用。
描述一下这个bug
因为不清楚option+R对应Windows哪个快捷键,遂将快捷键改为Ctrl+R,但是只能显示窗口,无法隐藏,一直按快捷键则窗口变大。同时右键托盘显示窗口那一栏快捷键显示的还是Alt+R,不合理。
复现方式
Steps to reproduce the behavior:
预期行为
清晰简明地描述了您预期的发生。
截图
如果可以,请添加屏幕截图以帮助解释您的问题。
希望添加关闭托盘图标。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.