1 puntos por GN⁺ 2 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Obsidian Community se lanzó como un nuevo directorio y panel para desarrolladores de plugins y temas que unifica los flujos de envío, administración, descubrimiento y uso
  • Desde la publicación de la API de Obsidian en 2020, la comunidad ha creado más de 4,000 plugins y temas, y las descargas de plugins ya superan los 120 millones
  • El nuevo directorio ofrece navegación, búsqueda, filtrado y ordenamiento, y muestra capturas de pantalla, información detallada y una tarjeta de puntuación de seguridad en la página de cada proyecto
  • La revisión automática se aplica a todas las versiones para verificar el cumplimiento de las políticas para desarrolladores, la calidad del código y la posible presencia de vulnerabilidades conocidas o malware
  • Los proyectos existentes se migrarán al nuevo sistema, y los plugins o temas que no cumplan con los estándares actuales quedarán temporalmente exceptuados antes de ser retirados gradualmente del directorio oficial

Lanzamiento de Obsidian Community

  • Obsidian Community se lanzó como un nuevo directorio y panel para desarrolladores de plugins y temas de Obsidian
  • Desde la publicación de la API de Obsidian en 2020, la comunidad ha creado más de 4,000 plugins y temas, y los plugins de Obsidian ya superan las 120 millones de descargas en total
  • El objetivo es que cualquiera pueda crear, distribuir, descubrir y usar plugins y temas de forma más fácil y segura
  • Este lanzamiento es el comienzo de un plan más amplio que introduce en conjunto el sitio Community, el panel para desarrolladores, la revisión automática, la seguridad de plugins y herramientas para equipos

Sitio Community y panel para desarrolladores

  • El nuevo sitio Community ofrece navegación, búsqueda, filtrado y ordenamiento para explorar plugins y temas
  • Se pueden encontrar plugins en decenas de categorías como Integrations, Bases, Charts y muchas más categorías
  • Los proyectos pueden ordenarse por nombre, número de descargas, popularidad, fecha de lanzamiento y fecha de actualización
  • La página de detalles de cada proyecto incluye capturas de pantalla, información detallada y una tarjeta de puntuación de seguridad
  • Los plugins de pago y las integraciones oficiales muestran nuevas etiquetas
  • Los autores pueden agregar opciones de patrocinio, enlaces a sitios web y enlaces a redes sociales en su página de perfil
  • El sitio Obsidian Community ofrece un nuevo panel para desarrolladores donde los autores pueden enviar, administrar y seguir el estado de sus proyectos
  • Todos los plugins, temas y envíos pendientes que antes se agregaban mediante GitHub se migrarán automáticamente al nuevo sitio
  • Para reclamar la propiedad de proyectos existentes, hay que iniciar sesión en el sitio Community y vincular una cuenta de GitHub
  • Al vincular la cuenta de GitHub, se podrán administrar proyectos existentes, enviar proyectos nuevos y editar la página de perfil

Revisión automática y seguridad

  • Se introduce la revisión automática para todos los proyectos de la comunidad
  • El nuevo sistema de revisión automática escanea no solo el envío inicial, sino todas las versiones según criterios de seguridad y calidad de código
  • Antes, un equipo pequeño revisaba manualmente los envíos iniciales para verificar el cumplimiento de las Developer Policies, pero conforme creció la popularidad de Obsidian se volvió difícil seguir el ritmo de los envíos, y las versiones posteriores no se revisaban
  • A medida que los agentes de codificación aceleran la creación de plugins, la cola de revisión se ha hecho más larga, y herramientas como Obsidian CLI hacen más fácil crear plugins
  • Cuando se envía un plugin o tema, el sistema de revisión automática verifica el cumplimiento de las políticas para desarrolladores, las buenas prácticas del código fuente y la ausencia de vulnerabilidades conocidas
  • Como las pruebas automáticas pueden mejorarse continuamente, esto sienta las bases para elevar de manera más integral la calidad y la seguridad del ecosistema de Obsidian
  • La revisión manual continúa. Gracias al nuevo sistema, será posible concentrar esfuerzos en plugins que requieren un análisis más profundo, como plugins populares, plugins recomendados o problemas marcados por la comunidad
  • Los plugins y temas existentes ya fueron revisados nuevamente con el nuevo sistema, y se detectaron plugins y temas antiguos que no cumplen con las directrices actuales
  • Los proyectos existentes que no pasen los estándares actuales recibirán una excepción temporal, pero todos los plugins y temas que no superen el nuevo proceso de revisión terminarán siendo retirados gradualmente del directorio oficial
  • El nuevo sistema ha procesado más de 2,300 envíos pendientes en los últimos días, y los desarrolladores que estaban esperando la revisión de su plugin pueden iniciar sesión en el sitio Community para consultar el estado actual
  • Escaneo automático

    • Todas las versiones reciben automáticamente revisiones de calidad de código y vulnerabilidades de seguridad
    • También incluye un escaneo de malware para detectar si el plugin contiene agregados potencialmente maliciosos
    • Los desarrolladores pueden ver sugerencias detalladas, advertencias y marcas de error de cada proyecto en el panel para desarrolladores
  • Tarjeta de puntuación

    • Los usuarios y desarrolladores pueden revisar el estado de las verificaciones automáticas en la tarjeta de puntuación de todos los proyectos
    • La tarjeta de puntuación seguirá mejorando al integrar información pública, etiquetas de privacidad, attestación de artefactos, resultados de revisión manual y adopción de funciones de la app
  • Divulgación del alcance de acceso

    • En los próximos meses habrá más transparencia sobre los plugins y sus autores
    • Los plugins deberán declarar a qué acceden, como red, sistema de archivos, portapapeles y otras funciones
    • Los usuarios podrán revisar esa información antes de instalar un plugin
  • Autores verificados

    • Se agregará una etiqueta a desarrolladores confiables que pasen pasos adicionales de verificación y mantengan un buen estado
    • Los usuarios pueden reportar directamente cualquier problema de seguridad al equipo de Obsidian en cualquier momento

Cambios para equipos y a nivel de la app

  • Los equipos que usan Obsidian ya pueden implementar controles de seguridad para sus usuarios
  • En los próximos meses, los equipos podrán administrar más fácilmente qué plugins de la comunidad permitir y distribuir plugins privados a los miembros del equipo
  • Los equipos que distribuyan plugins oficiales de Obsidian pueden solicitar la insignia Official en el directorio Community
  • Si un plugin califica, se puede contactar
  • Junto con las mejoras al directorio Community y al sistema de revisión automática, también habrá cambios en la app y en la API de Obsidian para aumentar la descubribilidad y la seguridad
  • El ecosistema de la comunidad es una de las partes más divertidas y poderosas de Obsidian, y la intención es ofrecer la base necesaria para que siga creciendo
  • Se recibirán comentarios en la nueva Obsidian Community

Cambios principales para usuarios y desarrolladores

  • Impacto para los usuarios

    • Se podrán explorar plugins y temas en el nuevo sitio Community
    • Como el tiempo de revisión se reducirá mucho, podría disminuir la necesidad de instalar manualmente plugins de acceso anticipado
  • Envío de un nuevo plugin o tema

    • Hay que iniciar sesión en el sitio Community para acceder al nuevo panel para desarrolladores
    • Luego se vincula la cuenta de GitHub, se elige el repositorio a enviar y se completan los pasos del panel
    • La revisión del proyecto comienza inmediatamente después del envío, y normalmente los resultados pueden verse en pocos minutos
    • Si el proyecto pasa la revisión, podrá buscarse y descargarse desde la app en un plazo de 24 horas
  • Reclamar la propiedad de plugins y temas existentes

    • Hay que iniciar sesión en el sitio Community para acceder al nuevo panel para desarrolladores
    • Al vincular la cuenta de GitHub, se puede reclamar la propiedad del plugin y actualizar el título, la descripción y las capturas de pantalla
  • Si se puede actualizar sin usar el panel para desarrolladores

    • Se puede seguir publicando nuevas versiones mediante GitHub
    • Las nuevas versiones se revisarán automáticamente, y si no pasan la revisión habrá que consultar los detalles en el panel para desarrolladores
  • Plugins y temas que fallen la revisión automática

    • Los plugins y temas nuevos deben pasar la revisión automática antes de agregarse al directorio y poder aparecer en las búsquedas
    • Cada nueva versión será escaneada, y si no pasa la revisión será retirada de la búsqueda en un plazo de 24 horas
    • Los plugins y temas previamente aprobados podrán seguir usándose por el momento aunque fallen la revisión automática
    • A la larga, también se exigirá que los plugins antiguos cumplan con los nuevos estándares, pero todavía no hay una fecha definida y la transición se decidirá junto con los desarrolladores de la comunidad
  • Ejecutar revisión automática sin enviar un release

    • Con el eslint plugin se puede revisar localmente un plugin de Obsidian conforme a las directrices oficiales para desarrolladores
    • En el panel para desarrolladores se puede ejecutar un escaneo de vista previa sobre cualquier rama, etiqueta o commit
  • Co-mantenedores y repositorios de organizaciones

    • Actualmente, en Obsidian Community solo el propietario del repositorio de GitHub puede editar el proyecto correspondiente
    • Los repositorios de organizaciones pueden reclamarse y editarse si la membresía de la organización es pública
    • En un futuro cercano se añadirá soporte para varios colaboradores
  • Plugins de código fuente privado

    • Actualmente no se aceptan nuevos plugins de código fuente privado en el directorio
    • Los plugins de código fuente privado existentes podrán seguir usándose hasta nuevo aviso
    • Más adelante se evaluará cómo ajustar el nuevo sistema de revisión para plugins de código fuente privado
  • Requisitos de cuenta y GitHub

    • Para acceder al nuevo panel para desarrolladores se necesita una cuenta de Obsidian
    • Por ahora es necesario usar GitHub, y en el futuro se evaluará añadir otras plataformas de hosting de software
    • El inicio de sesión con GitHub comparte el nombre de usuario y la lista de repositorios públicos, y esa información solo se usa para verificar la propiedad del repositorio
  • Etiquetas Paid y Optional payments

    • Obsidian Community no es una tienda ni ofrece una solución de pagos integrada
    • Los desarrolladores pueden seguir usando mecanismos de pago externos como claves de licencia, claves de API o accesos mediante inicio de sesión
    • Los desarrolladores deben marcar correctamente su plugin en una de tres categorías
    • Free se refiere a plugins que no tienen ninguna forma de pago ni están vinculados en absoluto a servicios de pago, aunque se permiten enlaces de donación y patrocinio
    • Optional payments se refiere a casos en los que el usuario puede pagar opcionalmente para desbloquear funciones adicionales, o cuando el plugin se conecta a un servicio de pago
    • Si el plugin se conecta a un servicio o API de pago, debe marcarse como Optional payments incluso si ese servicio tiene un nivel gratuito
    • Paid se refiere a casos en los que el usuario debe pagar para usar las funciones principales, aunque exista una prueba gratuita
    • Estas etiquetas no indican si el desarrollador recauda pagos, sino qué tipo de pagos debe esperar el usuario
  • Errores en la tarjeta de puntuación y consultas

    • La tarjeta de puntuación es una función nueva y puede contener errores, incluidos falsos positivos o falsos negativos
    • Si se detecta información inexacta, se debe contactar el canal #plugin-dev del servidor de Discord de Obsidian
    • Si hay preguntas o inquietudes, también se puede contactar el canal #plugin-dev del servidor de Discord de Obsidian

1 comentarios

 
GN⁺ 2 시간 전
Comentarios de Hacker News
  • Soy el CEO de Obsidian. Hemos estado trabajando casi un año para lanzar el nuevo sitio de Community y sistema de reseñas, y aunque esta primera versión me entusiasma mucho, todavía hay bastante por mejorar
    Intenté escribir lo más posible sin omitir nada, incluyendo la entrada del blog, las FAQ y los siguientes pasos del roadmap, pero seguro se me escapó algo, así que pueden preguntar
    Ha sido muy difícil equilibrar prioridades que chocan entre sí, porque un equipo de apenas 7 personas tiene que atender a miles de desarrolladores de plugins y millones de usuarios
    El nuevo sistema tenía que ser fácil de adoptar, mantener la compatibilidad hacia atrás, mejorar mucho frente al método anterior sin romper por completo el flujo de trabajo existente, y además permitir aumentar gradualmente la seguridad y la capacidad de descubrimiento de los plugins
    Me gustaría que lo vieran como un trabajo todavía en progreso; seguiremos escuchando ideas y quejas e iterando para mejorarlo
    • He integrado plugins en varios proyectos, y alguna vez pensé en introducir una estructura donde el proyecto marque cierta versión como revisada y confiable
      Una de las razones por las que dudé, además de la enorme inversión de tiempo, fue el miedo a que, si después de que la gente empiece a depender de ese proceso de revisión pasa código malicioso ofuscado, la responsabilidad del ataque termine recayendo sobre el proyecto
      Me interesa saber cómo ven este tema
      Para mí, se siente como la diferencia entre Debian/Ubuntu, que revisa estrictamente todo lo que entra al repositorio, y PyPI/npm, que no ofrece ninguna garantía de revisión
    • Me gusta que, al hacer clic en la información pública de “el plugin puede hacer solicitudes a 1 dominio externo”, se vea el dominio real, github.com
      El ejemplo puede verse en https://community.obsidian.md/plugins/zotlit
    • Tengo curiosidad por saber si el sistema de escaneo automático marca para revisión interna/humana las ampliaciones del alcance de permisos o los cambios en el acceso a dominios de red
      Por ejemplo, si un plugin de resúmenes con IA al principio accede a url="api.openai.com"+path usando una clave de OpenAI proporcionada por el usuario, sería una forma muy común, y me entusiasma ver lo que la comunidad construirá a partir de ahí
      Pero si después de una actualización el usuario puede elegir cualquier endpoint con una API compatible con OpenAI, ¿cómo pueden garantizar que esa flexibilidad no se use para evadir el escaneo creando una ruta de exfiltración por red, y que la actualización no esté precargando discretamente un endpoint malicioso?
    • El equipo de Obsidian hizo un trabajo excelente. Pienso seguir siendo usuario de Obsidian Sync, y espero poder usar los plugins de la comunidad con más tranquilidad
    • Por fin salió
      Cuando probé Obsidian, lo desinstalé enseguida al descubrir que la función de tablas de datos no venía integrada, sino que era un plugin con acceso completo
      Dicho eso, me sorprende que el equipo sea de solo 7 personas
  • Para quienes no estén muy al tanto: hasta ahora, enviar plugins nuevos era casi imposible en la práctica por la revisión manual. También influyó que escribir plugins con IA se volvió fácil y divertido
    Las quejas de la comunidad de desarrolladores fueron creciendo, y el equipo también se estaba agotando por la carga
    Así que felicidades al equipo. Básicamente resolvieron un enorme cuello de botella de escalabilidad, y es bastante genial ver cómo lo construyen y lo van escalando
    • ¿Hay algún plugin bueno que recomienden? Me cambié desde OneNote y, después de configurar hasta la sincronización, recién ahora me estoy sintiendo cómodo
  • No uso Obsidian, pero al ver el título pensé que quizá iban a limitarlo a unos pocos plugins aprobados por la empresa
    Cuando una empresa de software usa un título como “el futuro de XYZ”, uno suele esperar que eso signifique restringir fuertemente XYZ o prepararse para cerrarlo
    • Me preguntaba en qué momento iba a aparecer la enshittification
  • No estoy seguro de que solo con inspección automática se pueda determinar de forma confiable si un plugin es malicioso
    Creo que la mejor forma, y quizá la única, de resolver la seguridad de plugins es un sandbox con API explícitas y sistema de permisos
    • Además de “hace falta un sandbox con API explícitas y sistema de permisos”, quiero decir que en especial no debería poder tocar mis datos personales. Aunque el problema es que el núcleo mismo de los plugins de Obsidian consiste en leer y escribir documentos
      Aun así, si no pudiera comunicarse con internet, tal vez no parecería un gran problema
      Viendo más, por la estructura de JavaScript y Electron, parece que los plugins de Obsidian son básicamente bloques de JavaScript que corren en ámbito global, pueden leer y escribir todo el sistema de archivos dentro de lo permitido por los privilegios del usuario, y también hacer solicitudes HTTP. ¿Alguien puede confirmar si es así?
    • No evita código malicioso propio, claro, pero puede ayudar bastante a evaluar si las dependencias están actualizadas y si incluyen CVE conocidas. Es parecido a lo que hace Trivy o a la forma en que Artifacthub lo destaca
      Igual me pregunto qué tan bien funcionará realmente en este ecosistema. Por experiencia, los escaneos amplios suelen arrojar bastantes falsos positivos, o sea, hay CVE pero no aplican en el contexto real de uso
      Por eso se necesita conocimiento para interpretar correctamente los resultados del escaneo, y eso puede convertirse en una carga considerable para los mantenedores
    • Basta con leer la entrada del blog. Además del escaneo automático y los controles para el equipo, también hay planeado un sistema de permisos
      Los permisos por sí solos no pueden impedir ciertos comportamientos maliciosos, así que hace falta todo el conjunto
      Con solo ver algunas de las tarjetas de puntuación del sitio de Community, enseguida queda claro que algunas advertencias no se pueden resolver con un sistema de permisos o con sandboxing
      La entrada del blog tiene detalles del modo de lanzamiento, y como harán falta cambios en la API de plugins, se implementará por etapas
    • Obviamente no será compatible con los plugins existentes, así que yo separaría los plugins legacy de los nuevos plugins, pondría mucha fricción a la instalación de plugins legacy y luego en algún momento los descontinuaría
    • Podman/Linux también tiene API y sistema de permisos, y aun así tuvo Copy Fail: https://garrido.io/notes/podman-rootless-containers-copy-fai...
      La seguridad y la autorización son simplemente difíciles, y cuando diseñas una plataforma, en algún momento tienes que preguntarte si vale la pena aceptar ese riesgo a cambio de flexibilidad
      Planear un sistema perfectamente seguro es una causa perdida
  • Muy interesante. Es evidencia del mundo real de que la revisión automática de plugins puede funcionar incluso con equipos pequeños
    Algún día tendré que aprender a implementar un sistema parecido en mi propio proyecto
    • Quizá convenga primero observar cómo evoluciona. Esto es un juego del gato y el ratón, y aquí los ratones son mucho más inteligentes
      La exfiltración de datos ocurre en silencio
  • Como consumidor, no entiendo cómo ni por qué debería mirar la tarjeta de puntuación
    Si veo una lista llena de errores y advertencias del linter, ¿qué se supone que debo hacer?
    Me da curiosidad cuál es el flujo ideal del lado del usuario. La tarjeta de puntuación sí parece buena para los desarrolladores
  • Me alegra ver una actualización así
    Gestionar este tipo de contribuciones de la comunidad es difícil, y esto parece un gran avance
  • Se ve bien, siempre que no reduzca la disponibilidad de plugins, especialmente selfhosted-livesync en mi caso
    También me pregunto si la IA podría tener algún papel en este tipo de revisión automática. Parece un caso de uso bastante prometedor
  • Muy genial. Pero es una pena que el sitio web sea solo modo oscuro, porque a la gente con astigmatismo le hace todavía más difícil leer
    • El modo lectura de Firefox muestra fondo blanco con texto oscuro con un solo clic. Supongo que otros navegadores tendrán algo parecido
    • Es porque Obsidian es negro. Aun así, planean agregar un modo claro en un futuro cercano
    • ¿Te refieres a un tipo muy raro de astigmatismo? Llevo más de 30 años con astigmatismo, pero este sitio me resulta perfectamente legible sin ningún esfuerzo
  • Ojalá fuera más fácil instalar plugins localmente. De verdad debería bastar con copiar y pegar en una carpeta
    Si Obsidian no fuera software privativo, yo mismo lo habría cambiado
    Ya es hora de que alguien haga un clon compatible
    • Ya funciona exactamente así. Un plugin no es más que una carpeta que puedes copiar dentro de .obsidian/plugins en el vault
    • Literalmente solo tienes que pegarlo en el directorio .obsidian/plugins/