更新
我将在这里提出一个功能提供者作为我帖子的更新。如果您需要更多详细信息,请告诉我。
我们目前在代理源代码中有一堆交付的能力提供者:
- 代理人
- 环境
- 尼克斯
- 电源外壳
正在提议的是一个名为ExecutableCapabilitiesProvider
.
这个新的 ExecutableCapabilitiesProvider 可能会有一个可以在代理机器上编辑的配置文件。该文件的格式可能是:
#name,executable
pip,pip3 freeze
xyz,/usr/bin/xyz-runner
abc,sh -C "ls -l /blah/blah"
作为自托管池的维护者,我将使用适合我的条目配置此文件,并让代理在启动时运行它。这样我就不会为我的能力硬编码任何值,而是在启动时确定这些值。
我会更进一步,添加一个新的 API 调用来添加比当前要求名称/值更灵活的功能。例如,将参数更改为Name, Provider, Params
:
efg, NixProvider, /path/to/file/efg
klm, ExecutableCapabilitiesProvider, /usr/bin/klm -a -b -c
原帖
我想让我的代理报告新功能,这些功能不是静态的,而是命令或类似的结果?我怎样才能做到这一点?我们的代理在 linux 机器上运行。具体来说,我想调用一个新功能pip-packages
,其值是pip freeze
在 shell 上执行的命令的结果。